Fact-checked by Grok 2 weeks ago

Direct Client-to-Client

Direct Client-to-Client (DCC) is a sub-protocol within Internet Relay Chat (IRC) that enables direct connections between IRC clients, allowing users to exchange files, conduct private chats, and share other data without routing through the IRC server after initial . Introduced as a foundational extension to IRC in the early 1990s, DCC uses (CTCP) messages sent over the IRC network to negotiate connection details, such as addresses and ports, before establishing a direct TCP-based link. Common applications include DCC SEND for unidirectional file transfers, DCC CHAT for direct , and extensions like XDCC for listing and queuing multiple files, as well as DCC RECV and DCC RSEND to accommodate firewalled or environments by reversing the connection direction. While effective for its time, DCC lacks built-in in its standard form, exposing participants' IP addresses and potentially enabling security risks such as man-in-the-middle attacks, though some client implementations support add-ons like Secure DCC (SDCC) using TLS for encrypted sessions without . Despite these vulnerabilities, DCC remains a widely supported feature in modern IRC clients, facilitating efficient data exchange in a protocol originally designed for simplicity and low overhead.

Overview

Definition and Purpose

Direct Client-to-Client (DCC) is an IRC sub-protocol that facilitates direct IP-based connections between clients, enabling file transfers, private chats, and other forms of exchange while using IRC servers only for initial handshaking via the (CTCP). The core purpose of DCC is to reduce the burden on IRC servers by directly between peers, thereby avoiding the bandwidth and processing limitations inherent in server-relayed communications. This direct approach supports higher-speed transfers unattainable through IRC servers, which often impose flood controls and connection constraints, and some implementations support resuming interrupted file transfers using extensions to the packet-based handling. DCC originated with the development of the ircII client in 1991, implemented by Troy Rollo, when it was created to overcome the inefficiencies of relying solely on server-mediated interactions in early IRC networks. Unlike formalized internet protocols, DCC lacks an official RFC and instead depends on informal specifications, such as the documentation maintained by irchelp.org.

Basic Mechanism

The basic mechanism of Direct Client-to-Client (DCC) in IRC involves a handshake initiated through the Client-to-Client Protocol (CTCP), where the sending client transmits a DCC offer message to the receiving client via the IRC server. This message is formatted as a PRIVMSG command containing the CTCP DCC query, delimited by ASCII 1 characters (e.g., \x01DCC TYPE [arguments]\x01), which the receiving client parses to extract connection details. The initiator first binds a local TCP socket to listen on a specified port, typically chosen dynamically, before sending the message. Core arguments in the message include the TYPE, which specifies the session type (such as or SEND); the of the initiator, encoded as a single 32-bit (e.g., 3232235777 for 192.168.1.1); the port number as a ; and optional type-specific parameters like or . These arguments enable the recipient to identify the initiator's listening endpoint without relying on the IRC server for routing. Upon receiving and parsing the DCC message, the recipient establishes a direct connection to the initiator's specified and port if it accepts the offer. Once connected, data exchange occurs exclusively over this socket, bypassing the IRC server entirely to reduce bandwidth usage on the network . A generic syntax example for the CTCP DCC message is DCC CHAT chat 123456789 6667, where CHAT is the TYPE, chat is the type-specific argument, 123456789 represents the initiator's in decimal form, and 6667 is the listening port. Error handling in the basic DCC process relies on simple mechanisms: the recipient may ignore the message to implicitly reject , or the connection attempt may fail if the specified port is blocked by a , resulting in a timeout for the initiator. Some implementations include optional ACK responses via CTCP to confirm receipt, but failure to connect typically indicates rejection or issues without further -level negotiation.

History

Origins in ircII

Direct Client-to-Client (DCC) was first implemented in the ircII client, originally developed by Michael Sandrof starting in 1989, with the DCC protocol added by Troy Rollo in 1991 for version 2.1.2 as an integration with (CTCP) to facilitate private communications outside the main IRC server channels. This integration allowed users to initiate direct connections via CTCP messages embedded in IRC, enabling interactions without routing all data through potentially overloaded servers. The initial implementation of focused on two primary functions: for direct private conversations and SEND for file transfers, directly addressing the bandwidth and latency bottlenecks in early IRC networks, where server-mediated communications often led to delays during peak usage. These features were designed to offload non-essential traffic from IRC servers, improving overall network efficiency for the growing user base in 1990. DCC made its first public appearance in ircII version 2.1.2, released in 1991, establishing it as a pioneering feature in a major IRC client and setting the stage for extensions in the protocol ecosystem. Subsequent refinements included contributions from Troy Rollo, who enhanced the CTCP-DCC integration in 1991, refining the and connection establishment processes for better reliability.

Early Development and Adoption

Following its initial implementation in ircII, the Direct Client-to-Client (DCC) protocol saw significant expansion through integration into other IRC clients, notably mIRC in 1995 and XChat in 1998. mIRC, released on February 28, 1995, by Khaled Mardam-Bey, quickly became one of the most popular Windows-based IRC clients and included full DCC support for file transfers and chats from its early versions, facilitating broader accessibility for non-Unix users. Similarly, XChat, developed by Peter Železný starting in 1998, offered robust DCC capabilities across Unix-like systems, contributing to its adoption in diverse computing environments. These integrations marked a pivotal shift, enabling DCC to move beyond its ircII origins and achieve widespread use by the mid-1990s, as IRC networks grew significantly with concurrent users reaching tens of thousands. Key milestones in DCC's evolution during the included enhancements to reliability and compatibility with emerging network constraints. The introduction of SEND resume features in clients like allowed interrupted transfers to be restarted from the point of failure, reducing over unreliable connections common in the era's dial-up internet. By the late , passive modes were developed to address and issues, where the receiving client would initiate the connection by specifying port 0 in the DCC , allowing the sender to connect back without prior . These improvements were essential as IRC usage exploded, with networks like and handling peak concurrent users in the hundreds of thousands by 1998. DCC's development proceeded without formal standardization from bodies like the IETF, relying instead on community-driven efforts through resources such as irchelp.org, which began documenting and refining the protocol specifications in 1996. These informal specs, including detailed CTCP handshaking guidelines updated through the 1990s and into the 2000s, fostered consensus among client developers, ensuring interoperability despite the absence of an official RFC. Early challenges centered on portability, as the original ircII implementation was Unix-specific and not designed for cross-platform use, leading to inconsistent adoption until multi-client support emerged around 1995. By then, enhancements in clients like resolved these issues, making a standard feature and solidifying its role in IRC ecosystems through the 2000s.

Core DCC Protocols

DCC CHAT

DCC CHAT is a within the Direct Client-to-Client (DCC) framework designed for establishing direct, bidirectional text-based private conversations between IRC clients, bypassing the IRC server for data exchange. The begins with the initiator sending a CTCP PRIVMSG in the format DCC CHAT chat <address> <port>, where <address> is the integer representation of the initiator's IPv4 address in host byte order (e.g., 2130706433 for 127.0.0.1) and <port> is the port number on which the initiator listens for incoming connections. Upon receipt, the responder parses the CTCP, prompts the user for acceptance, and—if approved—initiates a connection to the specified address and , after which the initiator accepts the connection to form the . Once the connection is established, clients exchange messages as raw lines terminated by (, 0x0D) followed by line feed (LF, 0x0A), without IRC command prefixes like those in PRIVMSG. This format supports unrestricted message lengths, unlike server-relayed messages which are subject to flood protection and size limits, enabling faster transmission at full network speed and reducing server load. Additionally, DCC CHAT accommodates IRC-like emotes by transmitting CTCP messages over the , formatted as \x01ACTION <description>\x01, which clients render as starred actions (e.g., "* user waves"). Sessions conclude with a DCC CLOSE message, prompting both parties to shut down the . A minor extension to DCC CHAT is the DCC Whiteboard protocol, which repurposes the established chat socket for graphical drawing and sharing. Whiteboard commands are line-based and prefixed with ASCII 001 (^A), with optional termination by another ^A; parameters use spaces and commas for separation. Core commands include [CLS] to clear the , [DR] for drawing lines or shapes with tool types (0-6, such as pen or eraser) and coordinates (e.g., x1,y1 x2,y2), and [TXT] for inserting text at specified positions. Mouse events, such as drags and clicks, are serialized into these [DR] commands to enable collaborative sketching, with advanced features like extended tools negotiable via a "use-wb2" option during . In the 1990s, DCC CHAT saw widespread adoption on IRC networks for private discussions, providing a immune to server operator interception and facilitating efficient one-on-one interactions beyond channel-based group chat. It was particularly valued in clients like ircII for its simplicity and directness, often paired with extensions for informal collaborative activities such as diagramming ideas during conversations.

DCC SEND and XMIT

DCC SEND is the core protocol within the Direct Client-to-Client (DCC) framework for initiating file transfers between IRC clients, enabling direct TCP connections that bypass the IRC server to achieve higher transfer speeds. The handshake begins with the sender issuing a CTCP message in the form PRIVMSG <target> :\x01DCC SEND <filename> <ip> <port> [<size>]\x01, where <filename> is the name of the file, <ip> is the sender's IP address (typically encoded as a 32-bit integer for IPv4), <port> is the TCP port on which the sender listens, and <size> is the optional file size in bytes. Upon sending this message, the sender creates a listening socket on the specified port. The receiver, if accepting the transfer, establishes a TCP connection to the sender's IP and port, after which the sender pushes the file's binary data over the connection in a stream without text encoding or server mediation. This design supports efficient transfer of arbitrary binary files, such as executables or images, at full network speed. The data transfer in DCC SEND operates on a packet-based model, where the sender transmits fixed-size blocks (often bytes by default in early implementations like ircII) and awaits from the receiver before proceeding. Each consists of a 4-byte integer in network byte order representing the cumulative bytes received, allowing the sender to track progress and detect interruptions. However, the base does not include mechanisms for error recovery beyond TCP's reliability, nor does it natively support resuming partial transfers; successful completion relies on the receiver verifying the full if provided. To address the limitation of interrupted transfers, particularly for large files, DCC SEND employs an extension via additional CTCP messages for resume functionality. If a transfer is halted, the receiver can issue a CTCP reply DCC RESUME <filename> <port> <position>, specifying the byte offset (<position>) at which to resume. The sender, if compatible, confirms by replying with DCC ACCEPT <filename> <port> <position>, after which the receiver reconnects and the sender continues transmission from the indicated offset. This mechanism, while effective, is not universally implemented and requires mutual client support to avoid failures. DCC XMIT serves as an enhanced variant of DCC SEND, aimed at improving resume reliability and cross-client portability. Its handshake uses the syntax DCC XMIT <protocol> <ip> <port> [<name> [<size> [<MIME-type>]]], where <protocol> denotes the transfer type (e.g., "xmit"), and the optional <MIME-type> enables content typing for better handling of diverse file formats. Despite these advancements, DCC XMIT remains less common owing to compatibility challenges with standard DCC SEND implementations.

Firewall and NAT Solutions

Passive DCC

Passive DCC is an extension to the core DCC protocol, primarily developed to enable direct client connections in network environments constrained by firewalls or Network Address Translation (NAT) that prohibit incoming connections to the sending client. In contrast to the standard DCC SEND mechanism, where the initiator opens a listening port and provides its IP and port details for the receiver to connect, passive DCC reverses the connection roles: the receiver establishes the listening socket, allowing the initiator to initiate an outbound connection, which is generally permitted through most firewalls. This adaptation was introduced in popular IRC clients like mIRC version 6.17 (2003) to address common connectivity issues without requiring users to configure port forwarding or modify firewall rules. The mechanism begins when the initiator issues a passive DCC SEND request by sending a CTCP message with zeroed IP and port fields, formatted as DCC SEND filename 0 0 <size>, where the zeros explicitly signal passive mode to compatible clients. Upon receipt, if the receiver supports passive DCC and the user accepts the transfer, the receiver binds a passive TCP socket to an available port (typically in the ephemeral range above ), resolves its connectable address, and responds via a CTCP REPLY containing a standard DCC SEND offer: DCC SEND filename <receiver_IP> <receiver_port> <size>. The initiator then parses this reply, establishes a TCP connection to the receiver's specified , and transfers the file as the active connector, resuming the standard DCC for data exchange thereafter. This process ensures the connection traverses outbound-only restrictions, though it requires both clients to implement the extension for compatibility. For chat functionality, Reverse DCC (RDCC) applies a similar passive approach tailored to DCC CHAT: the initiator sends DCC CHAT 0 0, prompting the receiver to reply with its listening port via CTCP REPLY, enabling bidirectional private messaging where the receiver provides the endpoint to bypass inbound blocks on the initiator's side. RDCC is supported in clients like KVIrc, enhancing usability for real-time conversations in restricted networks. The primary benefit of passive DCC lies in its ability to operate behind firewalls that block unsolicited incoming traffic while permitting outbound TCP connections, making it a practical for file transfers and chats in corporate, residential, or mobile networks with symmetric or strict access controls. Unlike standard DCC SEND, which fails if the initiator cannot receive incoming connections, passive mode shifts the listening burden to the receiver, often resulting in higher success rates without additional infrastructure changes, though it may introduce slight delays due to the extra step.

Reverse DCC Variants

Reverse DCC variants encompass adaptations to the Direct Client-to-Client () protocol that enable connections when clients are obstructed by firewalls or (NAT) devices, particularly by facilitating outbound connections from the initiator to traverse restrictive inbound rules. These modes invert the typical connection direction of standard DCC, where the receiver usually initiates, allowing firewalled users to participate more effectively in chats and file transfers during the widespread adoption of personal firewalls in the late 1990s and early 2000s. A primary example is REVERSE for sessions, where the initiator behind a sends a (CTCP) message with a value of zero to signal the need for reversed connection details, using syntax such as DCC CHAT [chat](/page/Chat) 0 0. The receiver responds with its own valid and in a subsequent DCC reply, prompting the initiator to establish an outbound connection to that endpoint for the . This mechanism ensures the firewalled initiator avoids needing inbound ports open, relying instead on its ability to make outgoing connections, which most firewalls permit. DCC REVERSE extends similarly to file transfers, employing syntax like DCC SEND <filename> <host> 0 in the initial CTCP from . The receiver replies with its and , enabling the sender to connect outbound and push the file, thus accommodating scenarios where the sender cannot receive inbound connections due to NAT or constraints. DCC RSEND represents a client-specific extension for reverse file sending, implemented in KVIrc to allow firewalled users to initiate transfers. The sender issues a CTCP with syntax DCC RSEND <filename> <filesize>, and the sets up a before responding via DCC RECV <filename> <ipaddress> <port> <resume position>. The sender then connects outbound to the receiver's to perform the using the RECV , effectively reversing the roles so the firewalled party drives the connection. Variants like DCC TRSEND for turbo mode or DCC SRSEND for SSL-encrypted transfers follow analogous syntax. These reverse and firewall DCC modes collectively address NAT traversal challenges through port-zero negotiation and role inversion, with implementations prevalent in clients such as mIRC—via its /dccpassive command for enabling reverse connections—and KVIrc during the 1990s-2000s era of rising firewall usage.

Advanced Features

File Servers (FSERVs)

File Servers (FSERVs) function as DCC-based pseudo-servers within IRC, providing an interactive interface for browsing and sharing files hosted by bots or clients. These systems extend the core DCC protocols by establishing a dedicated chat session that simulates a file directory navigation, allowing users to explore offerings without initiating individual transfers upfront. In operation, a bot or client advertises its FSERV availability through CTCP replies in channels; users request access by sending a CTCP command, such as CTCP <nickname> <trigger>, where the trigger is a predefined word like "" or a custom string configured by the server operator. The recipient responds by opening a CHAT connection, which displays an initial file listing or menu. Users then issue commands within this session to navigate, such as changing directories or queuing files for download. The protocol relies on a customized DCC CHAT socket to handle menu-based navigation and command processing, emulating FTP-like interactions over the direct connection. Once files are selected, transfers occur via DCC SEND to deliver the content efficiently. FSERVs gained peak adoption in the and early , especially on major networks like and , where they became a staple for organized file distribution among communities. Implementations were frequently built using mIRC's scripting capabilities, enabling customizable bots to manage large libraries. Notable features encompass directory browsing for hierarchical exploration, integrated search functions to locate specific files, and multi-file queuing to batch downloads, streamlining the process for users handling extensive catalogs.

Encrypted Variants

Secure Direct Client-to-Client (SDCC) is an extension to the protocol that incorporates for direct connections between IRC clients, primarily using SSL/TLS to secure chat and sessions. In SDCC, the CTCP negotiation replaces the standard verbs with SCHAT for chats (e.g., DCC SCHAT chat <host> <port>) and SSEND for file sends, maintaining the same basic structure as traditional but signaling intent for . Once the initial connection is established via the , the session is upgraded to TLS, all subsequent data exchange; however, implementations typically do not verify certificates, reducing protection against certain attacks like impersonation. Community-driven implementations in clients like KVIrc provide additional encrypted variants, supporting symmetric ciphers such as /Rijndael for DCC chats and transfers. In these setups, encryption occurs post-handshake over the DCC socket, with pre-shared symmetric keys exchanged securely , such as via PGP encryption or other trusted methods. No formal standard exists for these non-TLS variants, leading to reliance on client-specific plugins or built-in features, such as those in XChat derivatives where Blowfish encryption has been adapted through community scripts for private communications. Adoption of SDCC and similar encrypted DCC variants remains limited, primarily among privacy-conscious users who prioritize direct, server-bypassing connections with basic confidentiality. These extensions enhance security over DCC CHAT but are not universally supported across IRC clients.

Security and Vulnerabilities

Known Exploits

One notable vulnerability in DCC implementations involved the DCC SEND protocol, which facilitates direct file transfers between IRC clients. In 2003, a was discovered in versions 6.1 and 6.11, where a long DCC SEND request could cause the client to crash, resulting in a denial-of-service condition for the affected user. This exploit targeted the parsing of extended filenames or parameters in the CTCP for DCC SEND, allowing remote attackers to trigger the overflow without authentication. During the late 1990s and early 2000s, several issues arose with router and configurations supporting connections, often leading to denial-of-service or information leaks. A prominent example occurred in the kernel's netfilter subsystem, where the IRC connection tracking helper module for (versions 2.4.14 to 2.4.18-pre8) improperly set overly permissive masks for incoming connections. This flaw enabled remote attackers to bypass restrictions, potentially allowing unauthorized access to internal hosts or ports behind by spoofing handshakes, or causing resource exhaustion through excessive port openings. CTCP flooding attacks, which overload DCC initiation handshakes, have historically exploited parsing weaknesses in IRC clients to induce crashes. These floods involve rapid transmission of multiple CTCP DCC requests (such as for chats or sends), overwhelming the client's response mechanisms and leading to buffer overflows or memory exhaustion during handshake parsing. Vulnerable clients, particularly older versions without robust flood protection, could become unresponsive or crash entirely, as the repetitive parsing of malformed or excessive DCC parameters strained system resources. Such attacks were common in the 1990s and early 2000s, targeting the CTCP layer used to negotiate DCC sessions. File servers (FSERVs) implemented via mIRC scripts introduced specific risks through command injection vulnerabilities. In scripted FSERV setups, user-supplied inputs for file requests were often passed unsanitized to mIRC's scripting engine (mSL), enabling attackers to inject arbitrary commands via dynamic evaluation features. This allowed unauthorized access to the host system, such as executing shell commands or accessing restricted files. In 2022, a vulnerability was disclosed in the Linux kernel's netfilter connection tracking helper for IRC (nf_conntrack_irc), designated CVE-2022-2663. This flaw affects kernels from version 2.6.18 onward and allows remote attackers to manipulate unencrypted NAT'd IRC sessions, including DCC handshakes via CTCP, to bypass firewalls, access internal network resources, or drop connections, potentially leading to information disclosure or denial-of-service.

Mitigation Strategies

To mitigate known vulnerabilities in Direct Client-to-Client (DCC) protocols, such as the buffer overflow in DCC SEND, users should implement layered security measures focusing on client settings, protocol selections, and network protections. Client configurations play a critical role in securing DCC interactions. Disabling automatic acceptance of DCC requests prevents unauthorized file transfers or connections from unverified sources, requiring manual approval for each handshake. Firewalls should be configured to restrict inbound and outbound ports used by DCC, typically limiting them to a defined range or blocking unsolicited connections altogether. Additionally, clients must validate IP addresses and ports announced in DCC handshakes to detect spoofing attempts, ensuring they match the sender's expected network details. Protocol choices can further reduce exposure, particularly in environments with (). Preferring passive or reverse DCC variants allows the receiving client to initiate the connection, bypassing common restrictions without exposing the listener's prematurely. Where supported, enabling Secure DCC (SDCC) variants like SCHAT or SSEND provides TLS-encrypted channels for chats and file transfers, though certificate verification remains optional and should be enabled if available. At the network level, using virtual private networks (VPNs) or proxies shields direct exposure during sessions, routing traffic through secure tunnels to obscure endpoints from potential attackers. For older IRC clients susceptible to implementation flaws, regular scanning with vulnerability assessment tools is essential to identify and patch risks before enabling features. guidelines emphasize proactive user verification as a foundational practice. Resources recommend confirming the identity of initiators through established channels or shared keys before proceeding, avoiding transfers from unknown parties to prevent distribution.

Modern Context

Current Usage in IRC Clients

As of 2025, Direct Client-to-Client () remains universally supported in major IRC clients, ensuring with legacy implementations while adapting to contemporary networking environments. , in its latest version 7.83 released on November 12, 2025, continues to provide robust DCC functionality for file transfers and private chats, including features like desktop progress bars for send/get operations. Although discontinued since 2024, HexChat's version 2.16.2 (February 2024) offered built-in DCC support alongside proxies, SASL, and spellchecking. , a terminal-based client, includes DCC as a core module for initiating client-to-client connections and file transfers, with ongoing maintenance evident in its 1.4.5 release from October 3, 2023. As of August 2025, WeeChat's latest version is 4.7.1, and its xfer plugin handles DCC sends, chats, and passive connections, integrating seamlessly with its modular architecture; passive DCC support was added in version 4.1.0 (October 2023). These clients maintain DCC as a standard , though adoption has waned in favor of web-based IRC interfaces that often lack direct capabilities. DCC usage persists in niche IRC communities, particularly for file sharing and gaming coordination, where direct transfers bypass server limitations. On networks like Libera.Chat, which hosts free and open-source software projects, DCC facilitates quick exchanges in specialized channels, with integration for modern protocols such as IPv6 to accommodate dual-stack environments. The protocol's IPv6 support, using hexadecimal address representation, enables seamless connections in clients like irssi and HexChat, reflecting broader IRC evolution toward internet standards compliance. XDCC bots, an extension of DCC for automated file distribution, remain active in file-sharing ecosystems, supported by tools like XDCC-Fetch updated in January 2025, underscoring DCC's endurance in targeted applications despite overall IRC user decline. Post-2020 client updates have focused on enhancing reliability amid evolving security and connectivity challenges, though encrypted variants like DCC SSEND see limited native adoption. WeeChat, for instance, added passive DCC support in version 4.1.0 (October 2023) to better handle , while plugins like provide optional encryption layers for IRC interactions, indirectly bolstering DCC privacy. However, reliance on has diminished due to pervasive mobile firewalls and restrictions, which complicate direct connections on portable devices; mobile clients like CoreIRC offer DCC but require manual port configurations for consistent performance. points to a steady decline in activity since the , driven by IRC's shift toward web and app-based alternatives, yet it endures in persistent niches like XDCC-driven communities.

Alternatives and Evolution

During the 2010s, DCC began incorporating support to address the limitations of IPv4 addressing in direct connections, with clients like Eggdrop implementing it starting from version 1.8.0, allowing for hex-encoded IPv6 addresses in DCC queries alongside traditional IPv4 integer formats. This shift enabled better compatibility with modern networks but did not resolve underlying issues like . Additionally, some browser-based IRC clients integrated for peer-to-peer features, using IRC as a signaling channel to negotiate direct audio/video connections, as seen in Convos version 4.08, which bypasses traditional DCC for while maintaining IRC compatibility. However, DCC usage declined sharply after 2015, coinciding with the rise of centralized platforms like and , which offered user-friendly interfaces, built-in , and easier onboarding without requiring protocol extensions like DCC. Within IRC ecosystems, emerged as a bot-mediated to direct file transfers, extending the protocol with commands to list and queue files from automated bots, reducing the need for negotiation while leveraging existing SEND sessions. For broader secure file sharing supplanting 's role in chats, protocols like (FTP over SSL/TLS) and provide encrypted transfers with native support for authentication and resuming, commonly used in modern collaboration tools to avoid 's unencrypted vulnerabilities. In VoIP-enabled chats, and TURN protocols handle more reliably than 's passive or reverse variants, with discovering public endpoints and TURN relaying traffic through servers when direct paths fail, as standardized in 5766 for real-time communications. Looking ahead, remains largely a legacy protocol with no major specification updates since the early , as evidenced by the absence of post-2010 revisions in modern IRC documentation. While decentralized forks and successors like draw inspiration from IRC's open structure, they prioritize and federated models over , limiting potential revivals to niche, unmodified implementations in persistent IRC communities.

References

  1. [1]
    Direct Client-to-Client Protocol (DCC)
    The Direct Client-to-Client Protocol (DCC) has been the primary method of establishing connections directly between IRC clients for a long time now.Missing: definition | Show results with:definition
  2. [2]
    DCC negotiation and connection - KVIrc
    'DCC' stands for Direct Client Connection, it is used to exchange data directly between two IRC clients (with no IRC server in the middle).
  3. [3]
    IRCHelp.org — A description of the DCC Protocol
    DCC uses direct TCP connections between the clients taking part to carry data. There is no flood control, so packets can be sent at full speed, and there is no ...
  4. [4]
    DCC Protocol - Undernet IRC Network - Documents Project
    Feb 2, 2020 · DCC allows the user to overcome some limitations of the IRC server network and to have the ultimate in secure chat connections while still in an ...
  5. [5]
    irciiman.txt - IRChelp
    ... 1991 by Michael Sandrof. Versions 2.11 to 2.2pre7 Copyright (c) 1991 by Troy Rollo. Versions 2.2pre8 and beyond Copyright (C) 1992, 1993 Matthew Green. You ...<|control11|><|separator|>
  6. [6]
    draft-oakley-irc-ctcp-02 - IETF Datatracker
    Thanks to Michael Sandrof for creating CTCP, Troy Rollo for creating the related DCC protocol, as well as Klaus Zeuge and Ben Mesander who wrote and revised ...
  7. [7]
    epic(1) - Linux man page
    The ircII/EPIC program is a unix-based character oriented user agent ('client') to Internet Relay Chat ... Program written by Michael Sandrof (ms5n+@andrew.cmu.
  8. [8]
    Early IRC history - EFnet - The Original IRC Network
    89 - ircII released by Michael Sandrof (BigCheese); Mar 90 - 2.2msa4; Jun 90 - 2.5beta ("+" named channels); Jun 90 - ircII 1.90a; Jul 90 - 12 users on 38 ...
  9. [9]
    History of IRC (Internet Relay Chat) - Daniel Stenberg
    ircII was released 1989 by Michael Sandrof. In July 1990, IRC averaged at 12 users on 38 servers. In 1990, a new network was set up in order to develop a ...
  10. [10]
    Older News - mIRC
    Khaled started working on mIRC as a hobby for his own use in late 1994, and released the first public version of mIRC on 28th February 1995, thinking that other ...
  11. [11]
    Change Log - XChat
    - Added support for passive DCC chat via /DCC PCHAT <nick>. - Added support for DCC sending and receiving very large files (above 4 GB). - Improved layout ...
  12. [12]
    [PDF] Table of Contents - mIRC
    However, if you are unable to connect to any servers on any IRC network, it may be that you are running anti-virus or firewall software that is blocking ...Missing: integration 1995 XChat
  13. [13]
    IRChelp
    Our reference section holds technical documents, such as the RFCs, CTCP specification, DCC specification, and details of other extensions to the IRC ...
  14. [14]
    IRCHelp.org — The Client-To-Client Protocol (CTCP)
    The Client-To-Client Protocol is meant to be used as a way to 1/ in general send structured data (such as graphics, voice and different font information) ...<|control11|><|separator|>
  15. [15]
    versions.txt - mIRC
    Fixed bug in socket-related routines which may have affected IRC server connection, DCC Send/Get, and Custom sockets. ... Fixed /log command not working with DCC ...
  16. [16]
    DCC Whiteboard Specification - Visual IRC 2
    DCC Whiteboard sessions are line-based, similar to DCC Chat. Each line is terminated by LF or CRLF. Lines that begin with any character other than ASCII 001 (^ ...
  17. [17]
    [PDF] IRC: The Internet Relay Chat - Tehran
    In August 1990 the first major disagreement took place in the IRC world. The. "A-net" (Anarchy net) included as server named eris.berkeley.edu. It was all open, ...
  18. [18]
    DCC - mIRC Help
    DCC. DCC allows you to connect directly to another IRC client, instead of going through the IRC Network, to Send and Get files, and to Chat privately over a ...<|control11|><|separator|>
  19. [19]
    Tutorial - DCC Protocol and Troubleshooting - TG007.net
    You can use /dcc passive {on|off} to enable and disable passive DCC connections. Using passive DCC requests essentially adds an extra parameter to a DCC ...
  20. [20]
    Commands: All - KVIrc
    Sends a file by using the Reverse DCC SEND protocol. dcc.send, Sends a file. dcc.setBandwidthLimit, Set the bandwidthlimit of a dcc.send session. dcc.voice ...
  21. [21]
    irc DCC sends and routers - Gentoo Forums :: View topic
    Feb 22, 2003 · Have a look at KVIrc, It has a new feature called RDCC (Reverse DCC) and it's the only way short of hacking my firewall to send files. Back ...
  22. [22]
    IRCHelp.org — Firewall FAQ
    Q: What is DCC? A: DCC stands for DIRECT CLIENT TO CLIENT (see technical specification). DCC is a crude hack used to allow two IRC clients to communicate ...
  23. [23]
    Proxy - mIRC Help
    Note: mIRC uses a passive protocol to establish DCC connections when a client is behind a Socks5 firewall. This will not work with older versions of mIRC or ...
  24. [24]
    File Server - mIRC Help
    A fileserver is initiated by using the /fserve command which initiates a DCC Chat to the specified user. ... get <filename> - asks the fileserver to DCC Send the ...Missing: FSERV | Show results with:FSERV
  25. [25]
    IRC File Server Guide - RPGClassics.com
    Downloading Files Using IRC. I got very tired of people asking how to use an fserver, so I finally decided to make a guide to downloading files in IRC.Missing: FSERV | Show results with:FSERV
  26. [26]
    The History of File-Sharing - TorrentFreak
    Apr 22, 2012 · Digital filesharing has come a long way since the early days of the floppy disk, starting with a 79.7 kB storage capacity in the early 1970s.
  27. [27]
    It's time to kill FSERV - mIRC Discussion Forums
    I don't think that anyone can deny that mIRC is now perceived by a large proportion of its new users as a file-trading program, and not as a chat program. How ...
  28. [28]
  29. [29]
    dcc.chat - KVIrc
    The CTCP negotiation will use SSEND as parameter (or eventually TSSEND). When requesting a SSL based DCC SEND to someone you probably will need a certificate.
  30. [30]
    CVE-2003-1512 Detail - NVD
    Buffer overflow in mIRC 6.1 and 6.11 allows remote attackers to cause a denial of service (crash) via a long DCC SEND request. Metrics. CVSS Version 4.0. CVSS ...
  31. [31]
    mIRC 6.1 - 'DCC SEND' Buffer Overflow (1) - Exploit-DB
    A vulnerability has been reported to exist in the mIRC client that may allow a remote attacker to crash a vulnerable mIRC client.
  32. [32]
  33. [33]
    VU#230307 - Linux kernel netfilter IRC DCC helper module creates ...
    Mar 1, 2002 · Linux kernel netfilter IRC DCC helper module creates overly permissive firewall rules. Vulnerability Note VU#230307. Original Release Date: 2002 ...
  34. [34]
    Billions of devices affected by UPnP vulnerability - Sophos News
    Jun 10, 2020 · A researcher has uncovered a new security vulnerability affecting many devices running the Universal Plug and Play (UPnP) protocol.Missing: DCC IRC
  35. [35]
    NoFlood - Undernet IRC Network - Documents Project
    Jan 2, 2020 · DCC FLOODS: attempts to send rapid and massive amounts of DCC chat requests and/or files to you. It is also possible to have your system ...Missing: crash | Show results with:crash
  36. [36]
    MIRC Workshop - Floods and flooding in IRC Warfare - DooYoo-uk
    A dcc flood can be caused by a method as simple as choosing to dcc send and then selecting about 20 files all at once. Hardly genious or kewl is it? A ctcp ...
  37. [37]
    mSL Injection - mIRC - WikiChip
    Jan 21, 2023 · This tutorial will try to summarize for you what commands are problematic, how to detect it, and how to fix it. An eval injection vulnerability ...Missing: FSERV | Show results with:FSERV
  38. [38]
    IRCHelp.org — IRC Security
    This page covers information for the safe and responsible use of Internet Relay Chat (IRC) and other “chat rooms”.Missing: practices | Show results with:practices
  39. [39]
    Latest News - mIRC
    Fixed SCRAM logon authentication bugs. Added Windows taskbar support for DCC Send/Get progress bars. Fixed Aero theme helper windows startup flicker bug.<|separator|>
  40. [40]
    HexChat: Home
    HexChat, an open-source, cross-platform IRC client. ... Spellcheck, Proxies, SASL, DCC support and more. Hosted on GitHub Pages using ...Downloads · Screenshots · View Themes · Read NewsMissing: 2025 | Show results with:2025
  41. [41]
    Irssi
    Irssi is a modular text mode chat client. It comes with IRC support built in. Themes Irssi is completely themeable. Every single message can be themed.Download · New users guide · Dcc · Irssi 1.5
  42. [42]
    WeeChat ChangeLog
    irc, xfer: add support of passive DCC (issue #2004, issue #487). script ... core: fix TLS handshake failure on server connection when there are multiple ...
  43. [43]
    You might not know it, but IRC predates most of the internet and ...
    Sep 10, 2025 · In the early 2000s, millions of users were on IRC, and large networks formed, entirely run by volunteers. Networks such as EFNet, Undernet, ...Missing: XChat | Show results with:XChat
  44. [44]
    Libera Chat | A next-generation IRC network for FOSS projects ...
    Oct 25, 2025 · Libera.Chat is a community platform for free and open-source software and peer-directed projects. Connect by pointing your IRC client to irc. ...
  45. [45]
    XDCC-Fetch - Download
    Jan 6, 2025 · XDCC-Fetch is a powerful and user-friendly tool developed by christoph for downloading files efficiently through Internet Relay Chat (IRC).<|control11|><|separator|>
  46. [46]
    xdcc.eu | The biggest XDCC Search Engine
    XDCC Search engine. You can search for everything you want through a variety of packs. If you want to add your network or bots just contact us.
  47. [47]
    ~eau/wic - Weechat Irc Crypto - sourcehut git
    Weechat Irc Crypto, a simple yet reasonnably safe & secure weechat IRC encryption system. #Description. It combines a weechat python script ( wic.py ) ...
  48. [48]
    CoreIRC Go - Apps on Google Play
    Rating 2.6 (140) · Free · AndroidOct 6, 2025 · Basic features. Secure IRC connections. Connect to several Internet Relay Chat (IRC) networks over SSL for encryption and added security.
  49. [49]
    IRC in 2023: Fewer Online Users, But Not Fewer Networks - Techrights
    Jul 14, 2023 · We've managed to keep irc.techrights.org steady over the past 2+ years. The good news is that we're not dependent on any other network, such as ...
  50. [50]
    IPv6 support — Eggdrop 1.10.1rc2 documentation
    Mar 24, 2021 · Eggdrop can be compiled with IPv6 support. To make use of this, you need an IPv6-enabled OS and IPv6 connectivity. Every possible type of TCP connection can be ...Missing: evolution | Show results with:evolution
  51. [51]
    Video support in Convos v4.08
    May 23, 2020 · The signalling protocol use IRC to send the WebRTC signals. The signalling protocol is however specific for Convos, so you can only video ...Missing: DCC | Show results with:DCC
  52. [52]
    The 'Death' of IRC - ENOSUCHBLOG
    May 8, 2015 · At the end of the day, IRC's “decline” should not be used an excuse to move to sleeker and “simpler” closed services. Instead, communities ...Missing: Discord | Show results with:Discord
  53. [53]
    Five Secure File Transfer Alternatives to FTP - GoAnywhere
    May 2, 2024 · The five secure FTP alternatives are: SFTP, FTPS, AS2, HTTPS, and MFT (Managed File Transfer).
  54. [54]
    RFC 5766 - Traversal Using Relays around NAT (TURN)
    TURN is an extension to the STUN (Session Traversal Utilities for NAT) protocol [RFC5389]. Most, though not all, TURN messages are STUN-formatted messages.<|separator|>
  55. [55]
    IRC Specifications - ircdocs.horse
    These protocols allow for traffic to be exchanged directly between clients (again, with a number of caveats).
  56. [56]
    IRC vs. Matrix vs. XMPP | Johannes Findeisen - hanez.org
    Nov 21, 2024 · Decentralized and Persistent: Matrix is also decentralized, but it focuses on eventual consistency via Directed Acyclic Graphs (DAGs).Missing: forks DCC