Comparison of Internet Relay Chat daemons
-
This list is incomplete; you can help by expanding it.
The following tables compare general and technical information including the differences in feature sets between popular IRC daemons. Grey entries in the list represent supposedly unmaintained daemons.
Please see the individual products' articles or websites or the cited references for further information. This article is neither all-inclusive nor necessarily up-to-date.
Contents |
[edit] Servers
| IRC daemon | Creator/network | Basis | Programming language | First public release | Latest version (numeric 351) | Software license | Website |
|---|---|---|---|---|---|---|---|
| Asuka[1] | QuakeNet Dev Team | ircu | C | Unknown | 1.2.1 (now replaced by snircd) | GPL | Unknown |
| Austhex | AustNet Development | ircu2.9 | C, Scheme | Unknown | ? (now replaced by inspircd) | GPL | Unknown |
| Bahamut[2] | DALnet | DreamForge, IRCD-Hybrid | C | 1999[3] | bahamut-1.8.6 | GPL | [2] |
| bIRCd[4] | DAMnet | DreamForge | C | 1999 | bIRCd-2.1.0rc4 | GPL | [3] |
| beware ircd[5] | beware | from scratch | Delphi | Unknown | beware1.6 | GPL | [4] |
| Charybdis[6] | atheme.org (nenolod, jilles, dwr, gxti) | ircd-ratbox, IRCD-Hybrid, ircu, ShadowIRCd | C | 2005 | charybdis-3.3.0 | GPL/BSD | [5] |
| ConferenceRoom | WebMaster Incorporated | from scratch | C++ | 1996 | ConferenceRoom/3.5 | Proprietary | [6] |
| csircd | Comstud | from scratch | C | 1998 | csircd-1.14 | GPL | Unknown |
| dancer-ircd | freenode | Hybrid 6 | C | 1999 | ? (replaced by hyperion) | GPL | Unknown |
| DreamForge | DALnet | irc2.8.mu3 | C | 1994 (dal), 1997? (df) | ? (replaced by bahamut) | GPL | Unknown |
| Faerion IRC Server[7] | vhex | DreamForge | C, C++ | 2003 | 1.17.7.1[8] | GPL | [7] |
| hyperion[9] | freenode | dancer-ircd 1.0.35+pre2 | C | 2005 | ? (replaced by ircd-seven) | GPL | [8] |
| InspIRCd [10] | InspIRCd Development Team | from scratch | C++ | 2002 | 2.0[11] | GPL | [9] |
| ignitionServer[12] | The Ignition Project | Pure-IRCD (VB6 version) | Visual Basic | 2004 | ignitionServer-0.3.6-P1[13] | GPL[14] | [10] |
| IRCd[15] | Jarkko Oikarinen, IRCnet[16] | from scratch | C[17] | 1988 | 2.95 | GPL | [11] |
| IRCD-Hybrid | Hybrid Development Team, EFnet | irc2.8 | C | 1997 | 7.2.3 | GPL | [12] |
| ircd-ratbox | Aaron Sethman, Lee Hardy, EFnet | Hybrid 7-rc1 | C | 2002 | ircd-ratbox-3.0.7 | GPL | [13] |
| ircd-seven | freenode | charybdis 3.1.x/trunk | C | — | stable | GPL | [14] |
| ircu[18] | Undernet Coder Committee | irc2.7[19] | C[20] | 1991 | u2.10.12.14[21] | GPL | Unknown |
| IRCXpro Server | IRCXpro, Paul Heinlein | IRCPlus | Visual Basic | 2002 | 1.2 (build 1572) (now replaced by OfficeIRC) | Proprietary | Unknown |
| ithildin[22] | Chip Norkus | from scratch | C | 2006 | 1.1[23] | BSD[24] | [15] |
| Nefarious IRCu | Evilnet Development, AfterNET | ircu2 | C | 2004 | u2.10.11.07+Nefarious(1.2.0)+[2212 2008-08-03] | GPL | [16] |
| ngIRCd[25] | Alex Barton | from scratch | C | 2001[26] | ngircd-17.1[27] | GPL | [17] |
| OfficeIRC Server | Office IRC Inc, Paul Heinlein | from scratch | VB.NET | 2006 | 2.2 | Proprietary | [18] |
| pircd | Jay F Kominek | from scratch | Perl | 1999 | ? (now unmaintained) | Open Source (custom) | [19] |
| PleXusIRCd | Rizon, thaprince, static | Hybrid 7.2.3 | C | 2005 | hybrid-7.2.3+plexus-3.0.1(20090612_0-523) | GPL | [20] |
| pureIRCd | Dennis Fisch aka Diligent | from scratch | C | 2002 | Unknown | GPL | Unknown |
| IRC server | PTlink IRC Software | Hybrid 6 | C | 2001 (v.6) | 5.4.0 (now unmaintained) | GPL | [21] |
| QuakeIRCd | QuakeIRCd Team, Tiburon, blackcomb | UnrealIRCd | C | 2003 (v1.1) | ? (now unmaintained) | GPL | [22] |
| RockIRCd[28] | Mike Chambers | from scratch | QuickBASIC[29] | 2009 | 1.0.0-testing | GPL | [23] |
| ShadowIRCd[30] | Taros, jdhore, jilles, nenolod | Charybdis[30] | C | 2003 | shadowircd-6.3.1 | GPL | [24] |
| snircd | QuakeNet | ircu2.10.12[31] | C[31] | Unknown | 1.3.4a[1] | GPL[31] | [25] |
| solid-ircd | Toshi Morita, Juan Baez,Gabriel Baez | Bahamut | C | 2004[32] | solid-ircd 3.4.8 | GPL | [26] |
| SorIrcd | SorceryNet | dal4.4.10 and irc2.8.mu3 | C | 1996 | ? (replaced by Charybdis) | GPL | [27] |
| Synchronet IRCd[33] | Randy E. Sommerfeld | from scratch | JavaScript | 2003 | SynchronetIRCd-1.3a(1.151) | GPL | [28] |
| TR-IRCd [34] | Yusuf Iskenderoglu, Ekim Engin, Dimitris Ginosatiris, Maksut Cagil, Burak Cifter | Hybrid 7 and Bahamut | C | 1999 | 5.6.1 | GPL | [29] |
| UltimateIRCd | ShadowRealm Creations | DreamForge 2.8 | C | 2001 | 3.0.2 [35] (now unmaintained) | GPL | [30] |
| UnrealIRCd[36] | UnrealIRCd Team | EliteIRCd (potvin)[37] | C | 1999 | Unreal3.2.9[38] | GPL | [31] |
| Viagra IRCd[39] | Chris Schiffner | Titan | C | 2003 | 1.3.3 (now unmaintained) | GPL | [32] |
| WeIRCd | Eloxoph IRC Network[40] | from scratch | C | 2007 | WeIRCd 0.8.2[41] | GPL | [33] |
| NeoIRCd | Tom Mcloughlin (Macs/XentOS) | charybdis | C | 2011 | NeoIRCd 0.1[42] | GPL | [34] |
[edit] Operating system support
The operating systems the daemons can run on without emulation; also supported event dispatch facilities for network sockets (see IRCd for further information).
| IRC daemon | Windows | DOS | Mac OS | Linux | BSD | Solaris | HP-UX | AIX | select() | poll() | epoll[43] | kqueue[44] | RT signals[45] | /dev/poll[46] | Windows IOCP[47] | Solaris IOCP[48] |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Bahamut | No | No | Yes | Yes | Yes | Yes | Unknown | Unknown | Yes | Yes | Yes | Yes | No | Yes | No | No |
| bIRCd | Yes | No | Unknown | Yes | Yes | Yes | Yes | Unknown | Yes | Yes | No | No | No | No | No | No |
| Charybdis | No | No | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | No | Yes | No | Yes |
| ConferenceRoom | Yes | No | Yes | Yes | Yes | Yes | No | No | Yes | Yes | Yes | Yes | No | Yes | Yes | No |
| InspIRCd[49][50] | Yes | No | No | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | No | Yes | Yes | Yes |
| IRCD[51] | Yes | No | No | Yes | Yes | Yes | Yes | Yes | Yes | Yes | No | No | No | No | No | No |
| ircd-ratbox | Yes | No | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | No | Yes |
| ircu | No | No | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | No | Yes | No | No |
| ithildin | No | No | No | Yes | Yes | Unknown | Unknown | Unknown | Yes | Yes | No | Yes | No | No | No | No |
| Nefarious IRCu | No | No | Yes | Yes | Yes | Yes | Yes | Unknown | Yes | Yes | Yes | Yes | No | Yes | No | No |
| ngIRCd | Yes | No | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | No | Yes | No | No |
| OfficeIRC Server | Yes | No | Yes | Yes | Yes | No | No | No | Unknown | Unknown | No | No | No | No | Yes | No |
| PleXusIRCd | No | No | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | No | No |
| pureIRCd | Yes | No | No | No | No | No | No | No | Yes | No | No | No | No | No | No | No |
| RockIRCd | No | Yes | No | No | No | No | No | No | No | No | No | No | No | No | No | No |
| ShadowIRCd | No | No | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | No | Yes |
| snircd | No | No | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | No | Yes | No | No |
| solid-ircd | No | No | Yes | Yes | Yes | Yes | Unknown | Unknown | Yes | Yes | Yes | Yes | No | Yes | No | No |
| Synchronet IRCd | Yes | No | Yes | Yes | Yes | Yes | Unknown | Unknown | Yes | Yes | Yes | Yes | No | Yes | No | No |
| UnrealIRCd | Yes | No | Yes | Yes | Yes | Yes | Unknown | Unknown | Yes | No | No | No | No | No | No | No |
| WeIRCd | Yes | No | Yes | Yes | Yes | Unknown | Unknown | Unknown | Yes | No | No | No | No | No | No | No |
[edit] Technology
Various networking and IRC technology implemented to date.
| IRC daemon | Modularity | Remote includes | IPv6 | Client SSL | SSL linking | Zip linking | Hostmasking, cloaking | Services integration (built-in services) | LDAP authentication | IRCX support | SASL support | Server protocol |
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Bahamut | Yes | No | No | Yes | Yes | Yes | No | No | No | No | No | TS5 with extensions |
| bIRCd | No | No | Yes | Yes | Yes | No | No | No | No | No | No | RFC 1459 and TSpre8 |
| beware ircd | No | No | Yes | No | No | No | Yes | No | No | No | No | P10 |
| Charybdis | Yes | No | Yes | Yes | Yes | Yes | Yes | No | No | No | Yes | TS6 with extensions |
| ConferenceRoom | No | No | No | Yes | Yes | Yes | Yes | Yes | Yes | No | No | Proprietary, binary |
| InspIRCd | Yes[52] | Yes | Yes | Yes | Yes | Yes | Yes | Partial | Yes | No | Yes | TS6-based Spanning Tree |
| IRCD | No | No | Yes | No | No | Yes | No | No | No | No | No | RFC 2813 with IDs |
| IRCD-Hybrid | Yes | No | Yes | Yes | Yes | Yes | Yes (contrib module) | Yes (contrib module) | No | No | No | TS6 |
| ircd-ratbox | Yes | No | Yes | Yes | Yes | Yes | No | No | No | No | No | TS6 |
| ircu | No | No | Yes | No | No | No | Yes | No | No | No | No | P10 |
| ithildin | Yes | No | Yes | Yes | Yes | Yes | Yes | Yes | No | No | No | Module-dependent |
| Nefarious IRCu | No | No | No | Yes | Yes | No | Yes | No | No | No | No | P10 with extensions |
| ngIRCd | No | No | Yes | Yes | Yes | Yes | Yes | No | No | No | No | RFC 2813 |
| OfficeIRC Server | Yes | No | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Compatible with DreamForge and UnrealIRCd |
| PleXusIRCd | Yes | No | Yes | Yes | Yes | Yes | Yes | No | Yes | No | No | TS5/TS6 |
| pureIRCd | No | No | No | No | No | No | No | No | No | No | No | No |
| RockIRCd | No | No | No | No | No | No | Yes | No | No | No | No | No |
| ShadowIRCd | Yes | No | Yes | Yes | Yes | Yes | Yes | No | No | No | Yes | TS6 with extensions |
| snircd | No | No | Yes | No | No | No | Yes | No | No | No | No | P10 with extensions |
| solid-ircd | No | No | No | Yes | Yes | Yes | Yes | No | No | No | No | TS5 with extensions |
| Synchronet IRCd | No | No | No | No | No | No | No | No | No | No | No | TS5 with extensions |
| UnrealIRCd | Yes | Yes | Yes | Yes | Yes | Yes | Yes | No | No | No | No | DreamForge/TS5 with extensions |
| WeIRCd | Partial | No | Yes | No | No | No | Yes | Yes (module) | No | No | No | No |
[edit] Features
IRC server features, mostly extensions to RFC 1459. Probably also implementations of RFC 2810, RFC 2811, RFC 2812, RFC 2813, and possibly IRCX.
- +channels (In early IRCds, these were simply named channels. At least one modern IRCd (IRCD) uses the + prefix for modeless channels, i.e. no modes are supported other than +t, which is forced. Since no user can become a chanop, no topic can be set. This is described in RFC 2811.)
- #channels ("+channels" were later replaced with "#channels" in version 2.7, numeric channels were removed entirely and channel bans (mode +b) were implemented.)
- &channels (irc2.8, those that exist only on the current server, rather than the entire network)
- !channels (irc2.10, those that are theoretically safe from suffering from the many ways that a user could exploit a channel by "riding a netsplit"; IRCds using timestamping provide (most of) this functionality on #channels)
- %#channels (#channels whose name are in UTF-8 for IRCX)
- %&channels (&channels whose name are in UTF-8 for IRCX)
- %!channels (!channels whose name are in UTF-8 for IRCX)
| IRC daemon | Channel types | Halfop support
(+h %) |
Admin/protect support
(+a/+u &/!/*) |
Founder/owner support
(+q ~/.) |
Operator prefixing[53] | Advanced operator ACL | Operator "levels"[54] | vHost via I-line (or equivalent) | i18n nicknames[55] | RDBMS integration (SQL) |
|---|---|---|---|---|---|---|---|---|---|---|
| Bahamut | # | No | No | No | No | No | No | Partial | No | No |
| bIRCd | # & | No | No | No | No | No | No | Partial | No | No |
| Charybdis | # & | No | No | No | No | Yes | Yes | Yes | No | No |
| ConferenceRoom | # & | No | No | Yes | No | Yes | Yes | Yes | Partial | Partial |
| InspIRCd | # | Yes | Module | Module | Module | Yes | Module | Yes | Module | MySQL, SQLite & PostgreSQL: Authorization, Services Integration, Logging, Operaccess |
| IRCD | # & ! + | No | No | No | No | Unknown | No | No | No | No |
| IRCD-Hybrid | # & | Yes | No | No | No | No | No | No | No | No |
| ircd-ratbox | # & | No | No | No | No | No | No | Yes | No | No |
| ircu | # & | No | Yes | No | No | Yes | No | No | No | No |
| ithildin | # | No | No | No | Yes | Yes | Yes | No | No | |
| Nefarious IRCu | # & | Yes | No | No | No | Yes | No | Yes | No | No |
| ngIRCd | # & + | No | No | No | No | No | No | No | No | No |
| OfficeIRC Server | # %# & %& | No | Yes | Yes | Yes | Partial | Yes | Yes | Yes | Partial |
| PleXusIRCd | # & | Yes | Yes | Yes | No | No | Unknown | Yes | Unknown | No |
| pureIRCd | # | No | No | Unknown | Unknown | Unknown | Unknown | Unknown | Unknown | Unknown |
| RockIRCd | # | No | Yes | Yes | Unknown | Unknown | Yes | No | Unknown | No |
| ShadowIRCd | # & | Yes | Yes | No | No | Yes | Yes | Yes | No | No |
| snircd | # & | No | Yes | No | No | Yes | No | Yes | No | No |
| solid-ircd | # | Yes | No | No | No | No | No | Partial | No | No |
| Synchronet IRCd | # & | No | No | No | No | No | No | No | No | No |
| UnrealIRCd | # | Yes | Yes | Yes | No | Third party module[56] | Third party module (netadmins)[57] | Yes, vhost block in conf | iso8859-1/2/7/8-I/9/16, windows-1250/1251, Multibyte | MySQL & PostgreSQL: Third party modules [58] |
| WeIRCd | # | Yes | No | No | No | No | No | No | No | SQLite in services module |
| IRC daemon | Connect-flood detection | Channel flood controls basic / advanced |
Join throttling | Spamfilter regexp / glob |
Channel censor IRCd config / chanop-controlled |
Variable per-channel banlist size | Timed bans | DNSBL | CGI:IRC/WEBIRC host spoofing |
|---|---|---|---|---|---|---|---|---|---|
| Bahamut | Yes | Yes / No | Yes | No / No | No / No | No | No | No | No |
| bIRCd | No | No / No | No | No / No | No / No | No | No | No | No |
| Charybdis | Yes | No / No | Yes | No / No | No / No | Yes | Yes[citation needed] | Yes | Yes |
| ConferenceRoom | Yes | Yes / Yes | Yes | No / Yes | Partial / No | No | Partial | Yes | No |
| InspIRCd | Yes | Yes / Yes | Yes | Yes / Yes | Yes / Yes | Yes | Yes | Yes | Yes |
| IRCD | Unknown | Unknown | Unknown | Unknown | Unknown | Unknown | Unknown | Unknown | No |
| IRCD-Hybrid | Yes | No / No | No | No / No | No / No | No | No | No | Yes (contrib module) |
| ircd-ratbox | Yes | No / No | No | No / No | No / No | No | No | No | Yes |
| ircu | Yes | Unknown | Unknown | Unknown | Unknown | Unknown | Unknown | No | No |
| ithildin | Module | No / No | No | No / No | No / No | No | No | Unknown | Unknown |
| Nefarious IRCu | Yes | No / No | No | Yes / No | No / No | No | No | Yes | Yes |
| ngIRCd | No | No / No | No | No / No | No / No | No | No | No | Yes |
| OfficeIRC Server | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Unknown |
| PleXusIRCd | Yes | No / No | No | No / No | No / No | No | No | Unknown | Unknown |
| pureIRCd | Unknown | Unknown | Unknown | Unknown | Unknown | Unknown | Unknown | Unknown | Unknown |
| RockIRCd | No | Yes / No | No | No | No | No | No | No | Unknown |
| ShadowIRCd | Yes | No / No | Yes | No / No | No / No | Yes | Yes | Yes | Yes |
| solid-ircd | Yes | Yes / No | Yes | No / No | No / No | No | No | No | Unknown |
| Synchronet IRCd | Yes | Yes / No | Yes | No / No | No / No | No / No | No | No | Unknown |
| UnrealIRCd | yes / NO | Yes | Yes | Yes / No | Yes / third party module[59] | No | No | Third party module[60] | Yes |
| WeIRCd | Partial | No / No | No | No / No | No / No | No | No | No | Yes |
[edit] Notes
- ^ a b The official website for the QuakeNet IRC network
- ^ DALnet: Bahamut project page
- ^ Linux Help - Bahamut Setup Guide
- ^ Official bIRCd website
- ^ beware ircd
- ^ Jilles' IRC page: charybdis
- ^ Faerion - ircd
- ^ Browse Faeron Software Components Files on SourceForge.net
- ^ freenode: hyperion-ircd
- ^ Inspire IRCd - The Stable, High-Performance Modular IRCd
- ^ SourceForge.net: InspIRCd - The Modular C++ ircd: Files
- ^ The Ignition Project : ignitionServer
- ^ The Ignotion Project : Downloads
- ^ The Ignition Project | Get The Ignition Project at SourceForge.net
- ^ IRCD - the server
- ^ IRC history
- ^ Source code
- ^ Undernet Coder Committee
- ^ ServerWatch.com: Dalnet DreamForge Daemon
- ^ ircu2.10.12.12 source code (tar.gz)
- ^ [1]
- ^ Ithildin
- ^ Downloads - Ithildhin
- ^ Ithildin license file (1.1 branch in repository)
- ^ ngIRCd: Next Generation IRC Daemon
- ^ Initial ngIRCd git commit
- ^ ngIRCd download page
- ^ rubbermallet.org: RockIRCd
- ^ RockIRCd 1.0.0-testing source (.zip)
- ^ a b ShadowIRCd
- ^ a b c http://www.quakenet.org/development/releases/snircd.12.10.1.3.4a.tar.gz
- ^ SolidIRCd SourceForge Project Page
- ^ ircd.js : The Synchronet IRCd Service
- ^ TR-IRC Daemon and Services
- ^ Browse The Ultimate IRC daemon Files on SourceForge.net
- ^ About UnrealIRCd
- ^ unrealircd.doc
- ^ Download Unreal
- ^ Viagra IRCd (Unmaintained/Orphaned)
- ^ WeIRCd - the simple & easy IRCd (IRC Daemon)
- ^ Index of /weircd/releases/
- ^ Index of /neoircd/files
- ^ epoll. xmailserver.org. (Linux since 2.6) - I/O event notification facility. Has a much better performance than select() and poll() system calls.
- ^ kqueue (FreeBSD since 4.1) - asynchronous event dispatch mechanism.
- ^ "POSIX.4 Real Time Signals" (Linux since 2.4) - special class of Linux system signals used for notification of events on file descriptors. Deprecated in favour of epoll.
- ^ Acharya, Shridhar (March 2002). "Using the devpoll (/dev/poll) Interface". Sun.com. Archived from the original on 2007-02-02. http://web.archive.org/web/20070202231908/http://access1.sun.com/techarticles/devpoll.html.
- ^ "CreateIoCompletionPort function". Microsoft MSDN Library.
- ^ "The Event Completion Framework for the Solaris Operating System (Solaris IOCP)". Sun.com.
- ^ "Supported Operating Systems" . InspIRCd.org.
- ^ "InspIRCd FAQ - Which socket engines are supported by InspIRCd?". InspIRCd.org.
- ^ [ 50 ]
- ^ Modules - Inspire IRCd (InspIRCd)
- ^ Operator prefixing: The ability for network staff (not channel ops, but ircd opers) to be denoted in a channel with a special prefix.[citation needed]
- ^ Operator "levels": protect "higher" opers from being killed and/or z, k, or g-lined by "lower" opers[citation needed]
- ^ "Features: nickchars". Vulnscan.org.
- ^ "custom coding: RestrictedOper". vulnscan.org.
- ^ "Modules". unreal.x-tab.org.
- ^ "Custom coding: SQLMod". Vulnscan.org.
- ^ "Modules: TextBan". Vulnscan.org.
- ^ "Modules: DNSBL Block". UnrealIRCd.com
- [50]To run on Windows, IRCD/Services should be compiling the program Cgwin. / But the restricted versions Based on the hybrid versions. / The last-released versions require the updated version of MySQL.
[edit] See also
- IRCd
- IRC services
- Internet Relay Chat
- IRCX
- Comparison of IRC clients
- Comparison of IRC services
- Comparison of instant messaging clients
- Comparison of instant messaging protocols
[edit] External links
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||