All Topics  
Internet Relay Chat

 

   Email Print
   Bookmark   Link






 

Internet Relay Chat



 
 
Internet Relay Chat (IRC) is a form of real-time Internet
Internet

The Internet is a global network of interconnected computers, enabling users to share information along multiple channels. Typically, a computer that connects to the Internet can access information from a vast array of available server and other computers by moving information from them to the computer's local memory....
 text messaging (chat
Online chat

Online chat can refer to any kind of communication over the Internet, but is primarily meant to refer to direct one-on-one chat or text-based chat room , using tools such as instant messengers, Internet Relay Chat, talkers and possibly MUDs....
) or synchronous conferencing
Synchronous conferencing

Synchronous conferencing is the formal term used in science, in particular in computer-mediated communication, Computer-supported collaboration and Web-based training, to describe online chat technologies....
. It is mainly designed for group communication
Many-to-many

Many-to-many is a term that describes a communication paradigm. It is the third of three major Internet computing paradigms. The early Internet applications of e-mail, File Transfer Protocol and Telnet are characterized as "one-to-one ," because they are primarily communication means from one individual to another....
 in discussion forums, called channels, but also allows one-to-one communication
One-to-one (communication)

One-to-one in communication is the act of an individual communicating with another. In Internet terms, this can be done by e-mail but the most typical one-to-one communication in the Internet is instant messaging as it does not consider many-to-many communication such as a chat room as an essential part of its scope ....
 via private message
Instant messaging

Instant messaging is a form of Real-time computing communication between two or more people based on typed text. The Written language is conveyed via devices connected over a network such as the Internet....
, as well as chat and data transfers via Direct Client-to-Client
Direct Client-to-Client

Direct Client-to-Client is an Internet Relay Chat-related sub-protocol enabling Peer-to-peer to interconnect using an IRC server for Handshake in order to exchange files or perform non-relayed chats....
.

IRC was created by Jarkko Oikarinen
Jarkko Oikarinen

Jarkko Oikarinen is the developer of the first Internet chat network, called Internet Relay Chat , where he is known as WiZ. While working at Finland's University of Oulu in August 1988, he wrote the first IRC Server and client programs, which he produced to replace the MultiUser Talk program on the Finnish Bulletin board system Oul...
 in late August 1988 to replace a program called MUT (MultiUser Talk) on a BBS
Bulletin board system

File:Monochrome-bbs.pngA Bulletin Board System, or BBS, is a computer system running list of BBS software that allows User to Telecommunication circuit and Logging to the system using a terminal program....
 called Oulu
Oulu

Oulu is a List of cities and towns in Finland and Municipalities of Finland of inhabitants in the Provinces of Finland of Oulu and the region of Northern Ostrobothnia, in Finland....
Box in Finland
Finland

Finland , officially the Republic of Finland , is a Nordic countries situated in the Fennoscandian region of northern Europe. It borders Sweden on the west, Russia on the east, and Norway on the north, while Estonia lies to its south across the Gulf of Finland....
. Oikarinen found inspiration in a chat system known as Bitnet Relay, which operated on the BITNET
BITNET

BITNET was a cooperative U.S. university network founded in 1981 by Ira Fuchs at the City University of New York and Greydon Freeman at Yale University....
.

IRC was used to report on the Soviet coup attempt of 1991
Soviet coup attempt of 1991

The 1991 Soviet coup d'?tat attempt , also known as the August Putsch or August Coup, was an attempt by a group of members of the Soviet Union's government to take control of the country from Soviet president Mikhail Gorbachev....
 throughout a media blackout
Media blackout

Media blackout refers to the censorship of news related to a certain topic, for any number of reasons. A media blackout may be voluntary, or may in some countries be enforced by the government or state....
.






Discussion
Ask a question about 'Internet Relay Chat'
Start a new discussion about 'Internet Relay Chat'
Answer questions from other users
Full Discussion Forum



Encyclopedia


Internet Relay Chat (IRC) is a form of real-time Internet
Internet

The Internet is a global network of interconnected computers, enabling users to share information along multiple channels. Typically, a computer that connects to the Internet can access information from a vast array of available server and other computers by moving information from them to the computer's local memory....
 text messaging (chat
Online chat

Online chat can refer to any kind of communication over the Internet, but is primarily meant to refer to direct one-on-one chat or text-based chat room , using tools such as instant messengers, Internet Relay Chat, talkers and possibly MUDs....
) or synchronous conferencing
Synchronous conferencing

Synchronous conferencing is the formal term used in science, in particular in computer-mediated communication, Computer-supported collaboration and Web-based training, to describe online chat technologies....
. It is mainly designed for group communication
Many-to-many

Many-to-many is a term that describes a communication paradigm. It is the third of three major Internet computing paradigms. The early Internet applications of e-mail, File Transfer Protocol and Telnet are characterized as "one-to-one ," because they are primarily communication means from one individual to another....
 in discussion forums, called channels, but also allows one-to-one communication
One-to-one (communication)

One-to-one in communication is the act of an individual communicating with another. In Internet terms, this can be done by e-mail but the most typical one-to-one communication in the Internet is instant messaging as it does not consider many-to-many communication such as a chat room as an essential part of its scope ....
 via private message
Instant messaging

Instant messaging is a form of Real-time computing communication between two or more people based on typed text. The Written language is conveyed via devices connected over a network such as the Internet....
, as well as chat and data transfers via Direct Client-to-Client
Direct Client-to-Client

Direct Client-to-Client is an Internet Relay Chat-related sub-protocol enabling Peer-to-peer to interconnect using an IRC server for Handshake in order to exchange files or perform non-relayed chats....
.

IRC was created by Jarkko Oikarinen
Jarkko Oikarinen

Jarkko Oikarinen is the developer of the first Internet chat network, called Internet Relay Chat , where he is known as WiZ. While working at Finland's University of Oulu in August 1988, he wrote the first IRC Server and client programs, which he produced to replace the MultiUser Talk program on the Finnish Bulletin board system Oul...
 in late August 1988 to replace a program called MUT (MultiUser Talk) on a BBS
Bulletin board system

File:Monochrome-bbs.pngA Bulletin Board System, or BBS, is a computer system running list of BBS software that allows User to Telecommunication circuit and Logging to the system using a terminal program....
 called Oulu
Oulu

Oulu is a List of cities and towns in Finland and Municipalities of Finland of inhabitants in the Provinces of Finland of Oulu and the region of Northern Ostrobothnia, in Finland....
Box in Finland
Finland

Finland , officially the Republic of Finland , is a Nordic countries situated in the Fennoscandian region of northern Europe. It borders Sweden on the west, Russia on the east, and Norway on the north, while Estonia lies to its south across the Gulf of Finland....
. Oikarinen found inspiration in a chat system known as Bitnet Relay, which operated on the BITNET
BITNET

BITNET was a cooperative U.S. university network founded in 1981 by Ira Fuchs at the City University of New York and Greydon Freeman at Yale University....
.

IRC was used to report on the Soviet coup attempt of 1991
Soviet coup attempt of 1991

The 1991 Soviet coup d'?tat attempt , also known as the August Putsch or August Coup, was an attempt by a group of members of the Soviet Union's government to take control of the country from Soviet president Mikhail Gorbachev....
 throughout a media blackout
Media blackout

Media blackout refers to the censorship of news related to a certain topic, for any number of reasons. A media blackout may be voluntary, or may in some countries be enforced by the government or state....
. It was previously used in a similar fashion during the Gulf War
Gulf War

"Persian Gulf War" and "First Gulf War" redirect here. For other uses, see Persian Gulf War .The Persian Gulf War was a United Nations-authorized military conflict between Iraq and a Coalition of Gulf War from 34 nations commissioned with expelling Iraqi forces from Kuwait after Iraq's Invasion of Kuwait of Kuwait in August 1990....
. Logs of these events, and other events, are kept in the ibiblio
Ibiblio

ibiblio is a "collection of collections," and hosts a diverse range of publicly available information and open source software, including software, music, literature, art, history, science, politics, and cultural studies....
 archive.

IRC client software is available for virtually every computer operating system that supports networking.

Technical information

IRC is an open protocol that uses TCP
Transmission Control Protocol

The Transmission Control Protocol is one of the core protocols of the Internet Protocol Suite. TCP is so central that the entire suite is often referred to as "TCP/IP"....
 and optionally TLS
Transport Layer Security

Transport Layer Security and its predecessor, Secure Sockets Layer , are cryptographic protocols that provide security and data integrity for communications over Internet Protocol Suite networks such as the Internet....
. An IRC server can connect to other IRC servers to expand the IRC network. Users access IRC networks by connecting a client to a server. There are many client and server implementations, such as mIRC
MIRC

mIRC is an Internet Relay Chat client for Microsoft Windows, created in 1995 and developed by Khaled Mardam-Bey. Although it is a fully functional chat utility, its mIRC scripting language makes it extensible and versatile....
 and the Bahamut IRCd, respectively. Most IRC servers do not require users to log in, but a user will have to set a nickname before being connected.

IRC was originally a plain text
Plain text

In computing, plain text is a term used for an ordinary "unformatted" sequential file readable as textual material without much processing.The Character encoding has traditionally been either ASCII, one of its many derivatives such as ISO/IEC 646 etc., or sometimes EBCDIC....
 protocol (although later extended), which on request was assigned port 194/TCP
List of TCP and UDP port numbers

In computer networking, the protocols of the Transport Layer of the Internet Protocol Suite, most notably the Transmission Control Protocol and the User Datagram Protocol , but also other protocols, use a numerical identifier for the data structures of the endpoints for host-to-host communications....
 by IANA
Internet Assigned Numbers Authority

The Internet Assigned Numbers Authority is the entity that oversees global IP address, root nameserver for the Domain Name System , Internet media type, and other Internet protocol assignments....
. However, the de facto has always been to run IRC on 6667/TCP and nearby port numbers (for example TCP ports 6112-6119) to avoid having to run the IRCd
IRCd

An IRCd, short for Internet Relay Chat Daemon , server that implements the IRC protocol , enabling people to talk to each other via the Internet ....
 software with root privileges
Superuser

On many computer operating systems, the superuser, or root, is a special user account used for system administration.Many older operating systems on computers intended for personal and home use, including MS-DOS and Windows 9x, do not have the concept of multiple accounts and thus have no separate administrative account; anyone using...
.

The protocol specified that characters were 8-bit but did not specify the character encoding the text was supposed to use. This can cause problems when users using different clients and/or different platforms want to converse.

All client-to-server IRC protocols in use today are descended from the protocol implemented in the irc2.4.0 version of the IRC2 server, and documented in RFC 1459. Since RFC 1459 was published, the new features in the irc2.10 implementation led to the publication of several revised protocol documents; RFC 2810, RFC 2811, RFC 2812 and RFC 2813, however these protocol changes have not been widely adopted among other implementations.

Although many specifications on the IRC protocol have been published, there is no official specification, as the protocol remains dynamic. Virtually no clients and very few servers rely strictly on the above RFCs as a reference.

Microsoft made an extension for IRC in 1998 via the proprietary IRCX
IRCX

IRCX is an extension to the Internet Relay Chat protocol developed by Microsoft.IRCX defines ways to use Simple Authentication and Security Layer authentication to authenticate securely to the server, channel properties/metadata, multilingual support that can be queried using the enhanced "LISTX" command , an additional user level , specif...
. They later stopped distributing software supporting IRCX, instead developing the proprietary MSN .NET Messenger Service
.NET Messenger Service

The .NET Messenger Service is an instant messaging and Presence information system developed by Microsoft in 1999 for use with its Windows Live Messenger#MSN Messenger software and used today by its current Comparison of instant messaging clients, Windows Live Messenger and Microsoft Messenger for Mac....
.

The standard structure of a network of IRC servers is a tree. Messages are routed along only necessary branches of the tree but network state is sent to every server and there is generally a high degree of implicit trust between servers. This architecture has a number of problems. A misbehaving or malicious server can cause major damage to the network, and any changes in structure, whether intentional or a result of conditions on the underlying network, require a net-split and net-join. This results in a lot of network traffic and spurious quit/join messages to users, and temporary loss of communication. Adding a server to a large network means a large background bandwidth load on the network and a large memory load on the server. Once established however, each message to multiple recipients is delivered by multicast
Multicast

Multicast is a Computer networking addressing method for the delivery of information to a group of destinations simultaneously using the most efficient strategy to deliver the messages over each link of the network only once, creating copies only when the links to the multiple destinations split....
. That means each message travels a network link exactly once. This is a strength in comparison to non-multicasting protocols such as SMTP or XMPP.

For a discussion of the evolution of server-side IRC protocols and the various IRCd incarnations, see the separate article on IRC daemons.

Commands and replies

IRC is based on a line-based structure with the client sending single-line messages to the server, receiving replies to those messages and receiving copies of some messages sent by other clients. In most clients users can enter commands by prefixing them with /. Depending on the command, these may either be handled entirely by the client, or - generally for commands the client does not recognize - passed directly to the server, possibly with some modification.

Due to the nature of the protocol, it is impossible for automated systems to pair a sent command with its reply.

Channels

The basic means of communication in an established IRC session is a channel. Channels in a server can be displayed using the command /list [#string] [-min #] [-max #] that lists all currently available channels, optionally filter
Filter (software)

A filter is a computer program to process a data stream. Some operating systems such as Filter are rich with filter programs. Even Microsoft Windows has some simple filters built in to its command shell, most of which have significant enhancements relative to the similar filter commands that were available in MS-DOS....
ing for parameters (#string for the entire or part of the name, with wildcard
Wildcard character

The term wildcard character has the following meanings:...
s, and #min / #max for number of users in the channel).

Users can join to a channel using the command /join #channelname and send messages to it, which are relayed to all other users on the same channel.

Channels that are available across an entire IRC network are prepended with a ' # ', while those local to a server use '&'. Other non-standard and less common channel types include '+' channels — 'modeless' channels without operators, and '!' channels, a form of timestamped channel on normally non-timestamped networks.

Modes

Users and channels may have modes, which are represented by single case-sensitive letters and are set using the mode command. User modes and channel modes are separate and can use the same letter to mean different things (e.g. usermode "i" is invisible mode whilst channelmode "i" is invite only). Modes are usually set and unset using the mode command which takes a target (user or channel), a set of modes to set (+) or unset (-) and any parameters the modes need.

Some but not all channel modes take parameters and some channel modes apply to a user on a channel or add or remove a mask (e.g. a ban mask) from a list associated with the channel rather than applying to the channel as a whole. Modes that apply to users on a channel have an associated symbol which is used to represent the mode in names replies (sent to clients on first joining a channel and use of the names command) and in most clients to represent it in this list of users in the channel.

In order to correctly parse incoming mode messages and track channel state the client must know which mode is of which type and for the modes that apply to a user on a channel which symbol goes with which letter. In early implementations of IRC this had to be hard-coded in the client but there is now a de-facto standard extension to the protocol which sends this information to the client at connect time.

There is a small design fault in IRC regarding modes that apply to users on channels, the names message used to establish initial channel state can only send one such mode per user on the channel, but multiple such modes can be set on a single user. For example, if a user holds both operator status (+o) and voice status (+v) on a channel, a new client will be unable to know the less precedented mode (voice). Workarounds for this are possible on both the client and server side but none are widely implemented.

Standard (rfc1459) modes
User modes Channel modes
Letter Description Letter Symbol Parameter Description
i Invisible — cannot be seen without a common channel or knowing the exact name o @ Name of affected user Channel operator — can change channel modes and kick users out of the channel among other things
s Receives server notices p None None Private channel — listed in channel list as "prv" according to rfc1459
w Receives wallops s None None Secret channel — not shown in channel list or user whois except to users already on the channel
o User is an IRC operator (ircop) i None None Invite only — users can only join if invited by another user on that specific channel
  t None None Topic only settable by channel operators
n None None Users cannot send external messages from outside the channel
m None None Channel is moderated (only those who hold operator or voice status on the channel can send messages to it)
l None Limit number Limits number of users able to be on channel (when full, no new users can join)
b None Ban mask (nick!user@host with wildcards allowed) Bans hostmask
Hostmask

Hostmask refers to an Internet Relay Chat address assigned to a client by the Server . The IRC services and IRC bot provided by the server use this to identify the client....
s from channel
v + Name of affected user Gives a user voice status on channel (see +m above)
k None New channel key Sets a channel key such that only users knowing the key can enter


Many IRCd programmers have added extra modes or modified the behavior of modes in the above list so it is strongly advisable to check the documentation of the IRC network or IRCd (though note that the network may have patched the IRCd) for more detailed information on what the modes do on a particular server or network.

IRC operators

There are also users who maintain elevated rights on their local server, or the entire network; these are called IRC Operators
IRC operator

An IRC operator is a user on an Internet Relay Chat network who has privileged access. IRC operators are charged with the task of enforcing the network's rules, and in many cases, improving the network in various areas....
, sometimes shortened to IRCops. On some IRC implementations, IRC operators are also given channel operator status in every channel, although many people believe that administration of channels and administration of the network should be kept separate, and that IRC operator status does not confer the right to interfere with a particular channel's operation. However in most networks, IRC operators usually do not interfere with channel administrations unless they violate the network's terms of service.

Challenges

Issues in the original design of IRC were the amount of shared state data being a limitation on its scalability, the absence of unique user identifications leading to the nickname collision problem, lack of protection from netsplits by means of cyclic routing, the trade-off in scalability for the sake of real-time user presence information, protocol weaknesses providing a platform for abuse, no transparent and optimizable message passing, no encryption. Some of these issues have been addressed in Modern IRC.

Attacks

Because IRC connections are usually unencrypted and typically span long time periods, they are an attractive target for malicious crackers. Because of this, careful security policy is necessary to ensure that an IRC network is not susceptible to an attack such as an IRC takeover
IRC takeover

An IRC channel takeover is an acquisition of IRC channel operator status by someone other than the channel's owner. It has largely been eliminated due to the increased use of IRC Services on IRC networks....
 war. IRC networks may also k-line
K-Line

K-Line Electric Trains is a brand name of O gauge and S gauge model railway locomotives, rolling stock, and buildings. Formerly the brand name under which Chapel Hill, North Carolina-based MDK Inc., based in Chapel Hill, North Carolina sold its products, K-Line is now owned by Sanda Kan, a Chinese toy manufacturer that formerly acted as...
 or g-line
Gline

Gline is an Internet Relay Chat-related term. It refers to banning a client from an IRC-computer network. Glines are sometimes stored in the configuration file of the IRCd, although some networks, who handle K-line through the IRC services, prefer to have them stored in their service's configuration files....
 users or networks that have a harming effect.

A small number of IRC servers support SSL connections for security purposes. This helps stop the use of packet sniffer
Packet sniffer

A packet analyzer is computer software or computer hardware that can intercept and log traffic passing over a digital telecommunications network or part of a network....
 programs to obtain the passwords of IRC users, but has little use beyond this scope due to the public nature of IRC channels. SSL connections require both client and server support (which may require the user to install SSL binaries and IRC client specific patches or modules on their computers).

IRC served as an early laboratory for many kinds of Internet attacks, such as using fake ICMP
Internet Control Message Protocol

The Internet Control Message Protocol is one of the core protocols of the Internet Protocol Suite. It is chiefly used by networked computers' operating systems to send error messages—indicating, for instance, that a requested service is not available or that a host or router could not be reached....
 unreachable messages to break TCP
Transmission Control Protocol

The Transmission Control Protocol is one of the core protocols of the Internet Protocol Suite. TCP is so central that the entire suite is often referred to as "TCP/IP"....
-based IRC connections (nuking
Denial-of-service attack

A denial-of-service attack or distributed denial-of-service attack is an attempt to make a computer resource unavailable to its intended users....
) to annoy users or facilitate takeover
IRC takeover

An IRC channel takeover is an acquisition of IRC channel operator status by someone other than the channel's owner. It has largely been eliminated due to the increased use of IRC Services on IRC networks....
s.

Abuse prevention

One of the most contentious technical issues surrounding IRC implementations, which survives to this day, is the merit of "Nick/Channel Delay" vs. "Timestamp" protocols. Both methods exist to solve the problem of denial-of-service attack
Denial-of-service attack

A denial-of-service attack or distributed denial-of-service attack is an attempt to make a computer resource unavailable to its intended users....
s, but take very different approaches.

The problem with the original IRC protocol as implemented was that when two servers split and rejoined, the two sides of the network would simply merge their channels. If a user could join on a "split" server, where a channel which existed on the other side of the network was empty, and gain operator status, they would become a channel operator of the "combined" channel after the netsplit
Netsplit

In computer networking, specifically Internet Relay Chat , netsplit is a term used to describe the disconnection of a given node from the previously established network or between two nodes....
 ended; if a user took a nickname which existed on the other side of the network, the server would kill both users when rejoining (i.e., 'nick-collision').

This was often abused to "mass-kill" all users on a channel, thus creating "opless" channels where no operators were present to deal with abuse. Apart from causing problems within IRC, this encouraged people to conduct denial of service attacks against IRC servers in order to cause netsplit
Netsplit

In computer networking, specifically Internet Relay Chat , netsplit is a term used to describe the disconnection of a given node from the previously established network or between two nodes....
s, which they would then abuse.

Nick/channel delay
The nick/channel delay (abbreviated ND/CD) solution to this problem was very simple. After a user signed off and the nickname
Nickname

A nickname is a descriptive name given in place of or in addition to the official name of a person, place or thing. Another class of nickname is the familiar or truncated form of the proper name, such as Bob, Bobby, Rob, Robbie, and Bert for Robert, more properly called a short name....
 became available, or a channel ceased to exist because all its users left (as often happens during a netsplit
Netsplit

In computer networking, specifically Internet Relay Chat , netsplit is a term used to describe the disconnection of a given node from the previously established network or between two nodes....
), the server would not allow any user to use that nickname or join that channel, respectively, until a certain period of time (the delay) had passed. The idea behind this was that even if a netsplit
Netsplit

In computer networking, specifically Internet Relay Chat , netsplit is a term used to describe the disconnection of a given node from the previously established network or between two nodes....
 occurred, it was useless to an abuser because they could not take the nickname or gain operator status on a channel, and thus no collision of a nickname or 'merging' of a channel could occur. To some extent, this inconvenienced legitimate users, who might be forced to briefly use a different name (appending an underscore was popular) after rejoining.

Timestamping
The alternative, the timestamp or TS protocol, took a different approach. Every nickname and channel on the network was assigned a timestamp – the date and time when it was created. When a netsplit
Netsplit

In computer networking, specifically Internet Relay Chat , netsplit is a term used to describe the disconnection of a given node from the previously established network or between two nodes....
 occurred, two users on each side were free to use the same nickname or channel, but when the two sides were joined, only one could survive. In the case of nicknames, the newer user, according to their TS, was killed; when a channel collided, the members (users on the channel) were merged, but the channel operators on the "losing" side of the split lost their channel operator status.

TS is a much more complicated protocol than ND/CD, both in design and implementation, and despite having gone through several revisions, some implementations still have problems with "desyncs" (where two servers on the same network disagree about the current state of the network), and allowing too much leniency in what was allowed by the 'losing' side. Under the original TS protocols, for example, there was no protection against users setting bans or other modes in the losing channel which would then be merged when the split rejoined, even though the users who had set those modes lost their channel operator status. Some modern TS-based IRC servers have also incorporated some form of ND and/or CD in addition to timestamping in an attempt to further curb abuse.

Most networks today use the timestamping approach. The timestamp versus ND/CD disagreements caused several servers to split away from EFnet
EFnet

EFnet or Eris Free network is a major IRC network, with over 50,000 users. It is the modern-day descendant of the original IRC network....
 and form the newer IRCnet
IRCnet

IRCnet is one of the largest Internet Relay Chat networks. It currently has more than one hundred thousand users....
. After the split, EFnet moved to a TS protocol, while IRCnet used ND/CD.

Networks

There are thousands of running IRC networks in the world. They run various implementations of IRC servers, and are administered by various groups of IRC operator
IRC operator

An IRC operator is a user on an Internet Relay Chat network who has privileged access. IRC operators are charged with the task of enforcing the network's rules, and in many cases, improving the network in various areas....
s, but the protocol exposed to IRC users is very similar, and all IRC networks can be accessed by the same client software.

One can join servers by clicking on an irc://irc.network.example:port/channel hyperlink
Hyperlink

In computing, a hyperlink, usually shortened to link, is a directly followable reference within a hypertext document.The area from which the hyperlink can be activated is called its anchor; its target is what the link points to, which may be another location within the same page or document, another page or document, or a...
.

The largest IRC networks have traditionally been grouped in The Big Four — a designation for networks that top the statistics. The Big Four networks change periodically, but due to the community nature of IRC there are a large number of other networks for users to choose from.

The Big Four :
  • EFnet
    EFnet

    EFnet or Eris Free network is a major IRC network, with over 50,000 users. It is the modern-day descendant of the original IRC network....
  • IRCnet
    IRCnet

    IRCnet is one of the largest Internet Relay Chat networks. It currently has more than one hundred thousand users....
  • QuakeNet
    QuakeNet

    QuakeNet is the largest Internet Relay Chat network, with peak user counts close to 180,000 every day and over 180,000 Internet Relay Chat#Channels and Modes....
  • Undernet
    Undernet

    The Undernet is the second-largest publicly-monitored Internet Relay Chat network circa 2007, with about 20 client servers serving 120,000 users at any given time....
For network statistics, rankings, and a list of smaller networks, see , and .

Clients


Client software

Ircnetz Schema
People most commonly will connect to an IRC network via an IRC client. The client takes the raw IRC traffic and turns it into an easy-to-use interface.

There are many IRC clients available, and are mostly separated by operating system
Operating system

An operating system is an interface between hardware and applications; it is responsible for the management and coordination of activities and the sharing of the limited resources of the computer....
. On Windows-based systems, one of the most popular IRC clients is mIRC
MIRC

mIRC is an Internet Relay Chat client for Microsoft Windows, created in 1995 and developed by Khaled Mardam-Bey. Although it is a fully functional chat utility, its mIRC scripting language makes it extensible and versatile....
. However, with the recent introduction of new clients such as Miranda IM
Miranda IM

Miranda IM is an open source multiprotocol instant messaging application, designed for Microsoft Windows. Miranda is free software distributed under GNU General Public License....
, Bersirc
Bersirc

Bersirc is an open source Internet Relay Chat client for the Microsoft Windows operating system . It uses the Lucid toolkit, which aims to provide an interface to native windowing systems and widgets on all operating systems....
, KVIrc
KVIrc

KVIrc is a multilanguage, graphical IRC client for Microsoft Windows, Linux, Unix and Mac OS. The K in K Visual IRC was for a dependancy to K Desktop Environment, which became optional from version 2.0.0....
, Trillian
Trillian (instant messaging client)

Trillian is a Proprietary software multiprotocol instant messaging application for Microsoft Windows created by Cerulean Studios that can connect to multiple IM services, such as AOL Instant Messenger, ICQ, Windows Live Messenger, Yahoo! Messenger, IRC, Novell GroupWise, Bonjour , Jabber, and Skype networks ....
, Pidgin
Pidgin (software)

Pidgin is a multi-platform instant messaging client . The software has support for many commonly used instant messaging Protocol , allowing the user to log into various different services from one application....
, Visual IRC
Visual IRC

Visual IRC is an open source Internet Relay Chat client for the Microsoft Windows operating system. Unlike many other List of IRC clientss, nearly all of the functionality in ViRC is driven by the included IRC script, with the result that the program's behavior can be extended or changed without altering the source code....
, ChatIRC and XChat, mIRC
MIRC

mIRC is an Internet Relay Chat client for Microsoft Windows, created in 1995 and developed by Khaled Mardam-Bey. Although it is a fully functional chat utility, its mIRC scripting language makes it extensible and versatile....
 is beginning to see much more competition, especially with clients that are not commercial. Many people still use mIRC
MIRC

mIRC is an Internet Relay Chat client for Microsoft Windows, created in 1995 and developed by Khaled Mardam-Bey. Although it is a fully functional chat utility, its mIRC scripting language makes it extensible and versatile....
 most likely due to the fact that it has been around for quite some time and has a wide variety of scripts available. One of said scripts is NoName Script (NNS) which is a common one to use due to its wide set of features.

ircII
IrcII

ircII is a Free and open source software Unix Internet Relay Chat client written in C . It is the oldest IRC client still maintained. Its initial release was in the late 1980s, soon after the creation of IRC....
 is the canonical
Canonical

Canonical is an adjective derived from wikt:canon. Canon comes from the Greek word kanon, "rule" , and is used in various meanings....
 Unix
Unix

Unix is a computer operating system originally developed in 1969 by a group of American Telephone & Telegraph employees at Bell Labs, including Ken Thompson , Dennis Ritchie, Douglas McIlroy, and Joe Ossanna....
 and Linux
Linux

Linux is a generic term referring to Unix-like computer operating systems based on the Linux kernel. Their development is one of the most prominent examples of free and open source software collaboration; typically all the underlying source code can be used, freely modified, and redistributed by anyone under the terms of the GNU GPL license...
 IRC client, but its userbase has declined with the appearance of competing clients such as ircII-EPIC
Enhanced Programmable ircII Client

The Enhanced Programmable ircII Client is an Internet Relay Chat client for Unix systems descended from the ircII client. EPIC was formed by the merger of two independent forks of ircII by Jeremy Nelson and Jake Khuon....
, BitchX
BitchX

BitchX is a free software IRC Client . The initial implementation, written by "Trench" and "HappyCrappy", was a script for the IrcII chat client....
, irssi
Irssi

Irssi is an Internet Relay Chat Client program originally written by Timo Sirainen, and released under the terms of the GNU General Public License in Jan 1999....
, XChat, Konversation
Konversation

Konversation is an Internet Relay Chat client for KDE . Konversation is currently maintained in the KDE Extragear module, which means that it has its own release cycle independent from KDE's....
, etc. For Mac OS X
Mac OS X

Mac OS X is a line of computer operating systems developed, marketed, and sold by Apple Inc., and since 2002 has been included with all new Macintosh computer systems....
, the most widely used clients are Snak
Snak

Snak is a modern IRC client for Apple Macintosh written by Kent S?rensen. Snak supports an unlimited number of connections and channels, private chats, as well as full Direct Client-to-Client support for filetransfers and chat....
, Ircle
Ircle

Ircle is an IRC client developed by Onno Tijdgat for the Apple Macintosh computer platform. The client is scriptable with AppleScript, can support multiple channels and servers, and up to ten distinct connections at once....
 and Colloquy
Colloquy (IRC client)

Colloquy is an open-source Internet Relay Chat, SILC and Internet Citizen's Band client for Mac OS X. It uses its own chat core that is also included as part of the ChatKit project, though in the past it used Irssi as its IRC protocol engine....
. OS X can also run most Unix-like command line and X11
X Window System

The X Window System is a computing software system and network protocol that provides a graphical user interface for networked computers. It implements the X Window System protocols and architecture and provides windowing system on raster graphics Visual display units and manages Keyboard and pointing device control functions....
 IRC clients. Recently, X-Chat Aqua, a special build of XChat, has been gaining ground on OS X systems. Amiga IRC clients are AmIRC
AmIRC

AmIRC is a Magic User Interface based IRC client for the Amiga.AmIRC is the most definitive IRC client for Amiga. It requires MUI , a TCP/IP stack and AmigaOS 2.x or later....
, WookieChat, BenderIRC. Amongst AmigaOS clones there is MomosIRC for MorphOS
MorphOS

MorphOS is a computer operating system . It is a mixed proprietary software and open source OS produced for the Pegasos PowerPC -processor-based computer, most models of PPC-accelerator-equipped Amiga computers, and a series of Freescale development boards that use the Genesi Firmware, including the EFIKA and mobileGT....
.

There are a number of Internet browsers with IRC clients. Opera
Opera (web browser)

Opera is a web browser and Internet suite developed by the Opera Software company. Opera handles common Internet-related tasks such as displaying web sites, sending and receiving e-mail messages, managing contacts, IRC online chatting, downloading files via BitTorrent , and reading web feeds....
 has a built in IRC client. Mozilla Firefox does not have a built-in IRC client, though ChatZilla
ChatZilla

ChatZilla is an Internet Relay Chat client, written in XUL and JavaScript for Mozilla web browsers.It is designed to run on any platform on which Mozilla runs, such as Mac OS, Linux, Berkeley Software Distribution, Microsoft Windows, Solaris , IRIX, BeOS, AIX operating system, HP-UX, and OS/2....
, a Firefox add-on, can be installed to provide access to IRC in the browser. Chatzilla is part of the SeaMonkey
Seamonkey

Seamonkey may refer to:* Sea-Monkey, a sales trade name for a certain hybrid of brine shrimps* SeaMonkey, a web browser suite. It is the continuation of the Mozilla Application Suite ...
 internet suite.

Built-in IRC is utilized by many computer games, such as War§ow
War§ow

Warsow, often abbreviated as WSW or W?W , is a multiplayer first-person shooter Video game first publicly released on June 8, 2005....
, Unreal Tournament
Unreal Tournament

Unreal Tournament is a first-person shooter video game co-developed by Epic Games and Digital Extremes. It was published in 1999 by GT Interactive....
, Uplink
Uplink (computer game)

Uplink is a video game released in 2001 by the British software company Introversion Software. On August 23, 2006, it was made available for purchase on Valve Corporation Steam service....
, World of Warcraft
World of Warcraft

World of Warcraft, often referred to as WoW, is a massively multiplayer online role-playing game . It is Blizzard Entertainment's fourth released game set in the fantasy Warcraft universe, which was first introduced by Warcraft: Orcs & Humans in 1994 in video gaming....
, Zdaemon and EVE Online
EVE Online

Eve Online is a video game by CCP Games. It is player-driven persistent-world massively multiplayer online game set in a science fiction space setting....
. The SoulSeek
Soulseek

Soulseek is a peer-to-peer file-sharing network and application. It is used mostly to exchange music, although users are able to share a variety of files....
 file sharing network is based on IRC.

For novice users, mIRC and other large-window clients can seem unnecessarily large and complex. New users may prefer instant messaging
Instant messaging

Instant messaging is a form of Real-time computing communication between two or more people based on typed text. The Written language is conveyed via devices connected over a network such as the Internet....
 clients like Miranda IM
Miranda IM

Miranda IM is an open source multiprotocol instant messaging application, designed for Microsoft Windows. Miranda is free software distributed under GNU General Public License....
, Pidgin or Trillian
Trillian (instant messaging client)

Trillian is a Proprietary software multiprotocol instant messaging application for Microsoft Windows created by Cerulean Studios that can connect to multiple IM services, such as AOL Instant Messenger, ICQ, Windows Live Messenger, Yahoo! Messenger, IRC, Novell GroupWise, Bonjour , Jabber, and Skype networks ....
 that support IRC and provide a familiar interface to the application. Alternatively web based clients such as Mibbit
Mibbit

Mibbit is a web chat IRC client , using the AJAX, developed by Jimmy Moore....
 and webirc provide an easy way for people to access IRC.

Few clients exist for DOS
DOS

DOS, short for "Disk Operating System", is a shorthand term for several closely related operating systems that dominated the IBM PC compatible market between 1981 and 1995, or until about 2000 if one includes the partially DOS-based Microsoft Windows versions Windows 95, Windows 98, and Windows Me....
, examples of which are LeetIRC
LeetIRC

LeetIRC is an open-source DOS-compatible Internet Relay Chat client. It appears to be the newest client for DOS available, with the most recent version 1.1 being released in December 2006....
 and Trumpet.

A client called ERC
ERC (software)

ERC is a software package written in Emacs Lisp that enables the Emacs editor to act as an Internet Relay Chat client.External links...
, written entirely in Emacs Lisp
Emacs Lisp

Emacs Lisp is a dialect of the Lisp programming language used by the GNU Emacs and XEmacs text editors . It is used for implementing most of the editing functionality built into Emacs, the remainder being written in C ....
 is included in v.22.3 of Emacs. Therefore, any platform that can run Emacs can run ERC.

Bots
Automated clients are called bots
IRC bot

An IRC bot is a set of Scripting language or an independent Computer program that connects to Internet Relay Chat as a Client , and so appears to other IRC users as another user....
. As bots evolved, they began to serve as permanent points of contact for information exchange and protection agents for the channels they served, because of their superior speed when compared to humans. Presently, although many of these functions are often delegated to network-provided services
IRC services

Internet Relay Chat services is a name for a set of features implemented in most modern Internet Relay Chat networks. Services are automated Internet bots with special status which are generally used to provide users with access with certain privileges and protection....
 which allow for registration and management of both nicknames and channels, bots remain popular and continue to be adapted to new and unexpected tasks.

Bots have been written in a variety of languages, and a wide array of implementations exist. Most modern IRC services
IRC services

Internet Relay Chat services is a name for a set of features implemented in most modern Internet Relay Chat networks. Services are automated Internet bots with special status which are generally used to provide users with access with certain privileges and protection....
 typically implement bot-like interfaces, through which users can communicate with and control the functionality. Bots have also been created for malevolent uses, such as flooding or taking over channels, ousting their rightful owners.

Bouncer

A program that runs as a daemon
Daemon (computer software)

In Unix and other computer computer multitasking operating systems, a daemon is a computer program that runs in the background , rather than under the direct control of a user; they are usually initiated as background Computer processes....
 on a server
Server (computing)

A server is a computer program that provides services to other computer programs , in the same or other computer. The physical computer that runs a server program is also often referred to as server....
 and functions as a persistent proxy
Proxy server

In computer networks, a proxy server is a server that acts as a go-between for requests from client seeking resources from other servers. A client connects to the proxy server, requesting some service, such as a file, connection, web page, or other resource, available from a different server....
 is known as a bouncer. A bouncer's purpose is to maintain a connection to an IRC server, acting as a relay between the server and client. Should the client lose network connectivity, the bouncer will archive all traffic for later delivery, allowing the user to resume his IRC session without disrupting their connection to the server.

Furthermore, as a way of obtaining a bouncer-like effect, the old UNIX
Unix

Unix is a computer operating system originally developed in 1969 by a group of American Telephone & Telegraph employees at Bell Labs, including Ken Thompson , Dennis Ritchie, Douglas McIlroy, and Joe Ossanna....
 user's way of doing this is to run a (typically text-based
Text-based

Usually used in reference to a computer application, especially a computer game, a text-based application software is one whose primary input and output are based on character rather than graphics....
) client on a remote server, inside a piece of screen-detaching software (e.g. GNU Screen
GNU Screen

GNU Screen is a Free software Computer terminal multiplexer developed by the GNU Project since at least 1995. It allows a user to access multiple separate terminal sessions inside a single terminal window or remote terminal session....
), and using a secure shell
Secure Shell

Secure Shell or SSH is a network protocol that allows data to be exchanged using a secure channel between two networked devices. Used primarily on Linux and Unix based systems to access shell accounts, SSH was designed as a replacement for TELNET and other Computer security remote Shell s, which send information, notably passwords, in...
 to connect to this server, letting it relay all information, and thus letting the client archive all traffic should the connectivity be lost.

Search engines

There are numerous search engines available to aid the user in finding what they are looking for on IRC. Generally the search engine consists of two parts, a "back-end" (or "spider/crawler") and a front-end "search engine".

The back-end (spider/crawler) is the work horse of the search engine. It is responsible for crawling IRC servers to index the information being sent across them. The information that is indexed usually consists solely of channel text (text that is publicly displayed in public channels). The storage method is usually some sort of relational database, like MySQL
MySQL

MySQL is a relational database management system which has more than 11 million installations. The program runs as a server providing multi-user access to a number of databases....
 or Oracle
Oracle database

The Oracle Database consists of a relational database management system produced and marketed by Oracle Corporation. , Oracle had become a major presence in database computing....
.

The front-end "search engine" is the user interface to the database. It supplies users with a way to search the database of indexed information to retrieve the data they are looking for. These front-end search engines can also be coded in numerous programming languages. The more popular languages for such search engines and indexing spiders are Perl
Perl

In computer programming, Perl is a high-level programming language, List of programming languages by category, Interpreter , dynamic programming language....
, PHP
PHP

PHP is a scripting language originally designed for producing dynamic web pages. It has evolved to include a command line interface capability and can be used in Standalone software Graphical user interface....
 and C
C (programming language)

C is a general-purpose computer programming language originally developed in 1972 by Dennis Ritchie at the Bell Telephone Laboratories to implement the Unix operating system....
.

Most search engines have their own spider that is a single application responsible for crawling IRC and indexing data itself; however, others are "user based" indexers. The latter rely on users to install their "add-on" to their IRC client (like mIRC); the add-on is what sends the database the channel information of whatever channel[s] the user happens to be on. IRC search engines have completely automated the process of finding information on IRC and have thus contributed greatly to the popularity of IRC in recent years.

Modern IRC

IRC has changed much over its life on the Internet. New server software has added a multitude of new features.
  • Services
    IRC services

    Internet Relay Chat services is a name for a set of features implemented in most modern Internet Relay Chat networks. Services are automated Internet bots with special status which are generally used to provide users with access with certain privileges and protection....
    : Network-operated bots to facilitate registration of nicknames and channels, sending messages for offline users and network operator functions.
  • Extra modes: While the original IRC system used a set of standard user and channel modes, new servers add many new modes for such features as removing color codes from text, or obscuring a user's hostmask
    Hostmask

    Hostmask refers to an Internet Relay Chat address assigned to a client by the Server . The IRC services and IRC bot provided by the server use this to identify the client....
     ("cloaking") to protect from denial of service attacks.
  • Proxy detection: Most modern servers support detection of users attempting to connect through an insecure (misconfigured or exploited) proxy server
    Proxy server

    In computer networks, a proxy server is a server that acts as a go-between for requests from client seeking resources from other servers. A client connects to the proxy server, requesting some service, such as a file, connection, web page, or other resource, available from a different server....
    , which can then be denied a connection. An example is the or BOPM. This proxy detection software used by several networks, although that real time list of proxies is defunct since early 2006.
  • Additional commands: New commands can be such things as shorthand commands to issue commands to Services, to network operator only commands to manipulate a user's hostmask.
  • Encryption
    Encryption

    In cryptography, encryption is the process of transforming information using an algorithm to make it unreadable to anyone except those possessing special knowledge, usually referred to as a key ....
    : For the client-to-server leg of the connection SSL
    Transport Layer Security

    Transport Layer Security and its predecessor, Secure Sockets Layer , are cryptographic protocols that provide security and data integrity for communications over Internet Protocol Suite networks such as the Internet....
     might be used (messages cease to be secure once they are relayed to other users on standard connections, but it makes eavesdropping on or wiretapping an individual's IRC sessions difficult). For client-to-client communication, SDCC (Secure DCC
    Direct Client-to-Client

    Direct Client-to-Client is an Internet Relay Chat-related sub-protocol enabling Peer-to-peer to interconnect using an IRC server for Handshake in order to exchange files or perform non-relayed chats....
    ) can be used.
  • Ident
    Ident

    The Ident Protocol, specified in RFC 1413, is an Internet protocol that helps identify the user of a particular Transmission Control Protocol Telecommunication circuit....
    : Provides identification to the IRC server, but in modern Internet that RFC 1413 identification is almost useless.
  • Connection protocol: IRC can be connected to via IPv4
    IPv4

    Internet Protocol version 4 is the fourth revision in the development of the Internet Protocol and it is the first version of the protocol to be widely deployed....
    , the current standard version of the Internet Protocol
    Internet protocol

    Internet protocol may refer to:*The Internet Protocol, a specific protocol implementation in the Internet protocol suite*The Internet protocol suite, a set of communications protocols that are used for the Internet...
    , or by IPv6
    IPv6

    Internet Protocol version 6 is the next-generation Internet layer protocol for packet -switched internetworking and the Internet. IPv4 is the dominant Internet Protocol version, and was the first to receive widespread use....
    , the next-generation version of the Protocol.


Character encoding

IRC still lacks a single globally accepted standard convention for how to transmit characters outside the 7-bit ASCII
ASCII

American Standard Code for Information Interchange , is a coding standard that can be used for interchanging information, if the information is expressed mainly by the written form of English words....
 repertoire. IRC servers normally transfer messages from a client to another client transparently, just as byte sequences, without any interpretation or recoding of characters
Character (computing)

In computer and machine-based telecommunications terminology, a character is a unit of information that roughly corresponds to a grapheme, grapheme-like unit, or symbol, such as in an alphabet or syllabary in the written language form of a natural language....
. The IRC protocol (unlike e.g. MIME
MIME

Multipurpose Internet Mail Extensions is an Internet standard that extends the format of electronic mail to support:* Text in character sets other than ASCII...
 or HTTP) lacks mechanisms for announcing and negotiation character encoding options. This has put the responsibility for choosing the appropriate character codec on the client. In practice, IRC channels have largely used the same character encodings that were also used operating systems (in particular Unix
Unix

Unix is a computer operating system originally developed in 1969 by a group of American Telephone & Telegraph employees at Bell Labs, including Ken Thompson , Dennis Ritchie, Douglas McIlroy, and Joe Ossanna....
 derivatives) in the respective language communities:

  • 7-bit era: In the early days of IRC, especially among Scandinavian
    North Germanic languages

    The North Germanic languages or Scandinavian languages make up one of the three branches of the Germanic languages, a sub-family of the Indo-European languages, along with the West Germanic languages and the extinct East Germanic languages....
     and Finnish language
    Finnish language

    Finnish is the language spoken by the majority of the population in Finland and by Finnish people outside of Finland. It is one of the official languages of Finland and an official minority language in Sweden....
     users, national variants of ISO 646 were the dominant character encoding
    Character encoding

    A character encoding system consists of a code that pairs a sequence of character from a given character set with something else, such as a sequence of natural numbers, octet or electrical pulses, in order to facilitate the transmission of data through telecommunication networks and/or Computer data storage of Character in compute...
    s. These encode non-ASCII characters like Ä Ö Å ä ö å at code positions 0x5B 0x5C 0x5D 0x7B 0x7C 0x7D (US-ASCII: [ \ ] ). That is why these codes are always allowed in nicknames. According to RFC 1459, in nicknames should be treated as lowercase equivalents of [ \ ] respectively. By the late 1990s, the use of 7-bit encodings had disappeared in favour of ISO 8859-1, and such equivalence mappings were dropped from some IRC daemons.


  • 8-bit era: Since the early 1990s, 8-bit encodings such as ISO 8859-1 have become commonly used for European languages. Russian users had a choice of KOI8-R
    KOI8-R

    KOI8-R is an 8-bit character encoding, designed to cover Russian language, which uses the Cyrillic alphabet. It also happens to cover Bulgarian language....
    , ISO 8859-5 and CP1251, and since about 2000, modern Russian IRC networks convert between these different commonly used encodings of the Cyrillic alphabet
    Cyrillic alphabet

    The Cyrillic alphabet is a family of alphabets, subsets of which are used by five Slavic languages national languages as well as non-Slavic . It is also used by many other languages of Eastern Europe, the Caucasus, Siberia and other languages in the past....
    .


  • Multi-byte era: East Asian IRC channels with ideographic scripts in China, Japan, and Korea have used for a long time multi-byte encodings such as EUC
    EUC

    EUC may refer to:Excellent used condition. Frequent usage found on sites such as Ebay to indicate a used item still has worth and value.* End-user computing...
     or ISO 2022. With the common migration from ISO 8859 to UTF-8 on Linux and Unix platforms since about 2002, UTF-8
    UTF-8

    UTF-8 is a Variable-width encoding character encoding for Unicode. It is able to represent any character in the Unicode standard, yet the initial encoding of byte codes and character assignments for UTF-8 is backward compatibility with ASCII....
     has become an increasingly popular substitute for many of the previously used 8-bit encodings in European channels. Some IRC clients are now capable of reading messages both in ISO 8859-1 or UTF-8 in the same channel, heuristically autodetecting which encoding is used. The shift to UTF-8 began in particular on Finnish-speaking IRC (:fi:IRC#Merkistö (Finnish)).


Today, the UTF-8
UTF-8

UTF-8 is a Variable-width encoding character encoding for Unicode. It is able to represent any character in the Unicode standard, yet the initial encoding of byte codes and character assignments for UTF-8 is backward compatibility with ASCII....
 encoding of Unicode
Unicode

Unicode is a computing industry standard allowing computers to consistently represent and manipulate Character expressed in most of the world's writing systems....
/ISO 10646 would be the most likely contender for a single future standard character encoding for all IRC communication, if such standard ever relaxed the 510 bytes message size restriction. UTF-8 is ASCII compatible and covers the superset of all other commonly used coded character set standards.

File sharing

Using scripts like , , , , users can create file servers that allow them to share files with others. Due to the large number of people who use IRC for file sharing
File sharing

File sharing is a method of distributing electronically stored information such as computer programs and digital media. File sharing can be implemented in a variety of storage and distribution models....
 , some think of IRC as a form of P2P
Peer-to-peer

A peer-to-peer computer network uses diverse connectivity between participants in a network and the cumulative bandwidth of network participants rather than conventional centralized resources where a relatively low number of Server s provide the core value to a service or application....
 file sharing. Conversely, many users try to defeat this view by persistently discouraging it or refusing to help with it. Technically, IRC provides no file transfer
File transfer

File transfer is a generic term for the act of transmission file s over a computer network or the Internet. There are numerous ways and Protocol to transfer files over a network....
 mechanisms itself; file sharing is implemented by IRC clients, typically using the Direct Client-to-Client
Direct Client-to-Client

Direct Client-to-Client is an Internet Relay Chat-related sub-protocol enabling Peer-to-peer to interconnect using an IRC server for Handshake in order to exchange files or perform non-relayed chats....
 (DCC) protocol, in which file transfers are negotiated through the exchange of private messages between clients. The vast majority of IRC clients feature support for DCC file transfers, hence the view that file sharing is an integral feature of IRC.

See also


External links

  • List of numeric replies for the IRC protocol.
  • RFC 1459 - Technical Information about the IRC Protocol.