Comparison of Internet Relay Chat daemons
From Seo Wiki - Search Engine Optimization and Programming Languages
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 |
|---|---|---|---|---|---|---|---|
| Template:Rh2|Asuka[1] | QuakeNet Dev Team | ircu | C | ? | 1.2.1 (now replaced by snircd) | GPL | ? |
| Template:Rh2|Austhex | AustNet Development | ircu2.9 | C, Scheme | ? | ? (now replaced by inspircd) | GPL | ? |
| Bahamut[2] | DALnet | DreamForge, IRCD-Hybrid | C | 1999[3] | bahamut-1.8.6 | GPL | [1] |
| bIRCd[4] | DAMnet | DreamForge | C | 1999 | bIRCd-2.1.0rc4 | GPL | [2] |
| Template:Rh2|beware ircd[5] | beware | (from scratch) | Delphi | 2002? | ? (now unmaintained) | GPL | [3] |
| Charybdis[6] | nenolod, jilles, dwr, gxti | ircd-ratbox, IRCD-Hybrid, ircu, ShadowIRCd | C | 2005 | charybdis-3.1.0 | GPL/BSD | ? |
| ConferenceRoom | WebMaster Incorporated | (from scratch) | C++ | 1996 | ConferenceRoom/3.5 | Proprietary | [4] |
| csircd | Comstud | (from scratch) | C | 1998 | csircd-1.14 | GPL | ? |
| Template:Rh2|dancer-ircd | freenode | Hybrid 6 | C | 1999 | ? (replaced by hyperion) | GPL | ? |
| Template:Rh2|DreamForge | DALnet | irc2.8.mu3 | C | 1994 (dal), 1997? (df) | ? (replaced by bahamut) | GPL | ? |
| Faerion IRC Server[7] | vhex | DreamForge | C, C++ | 2003 | 1.17.7.1[8] | GPL | [5] |
| Template:Rh2|hyperion[9] | freenode | dancer-ircd 1.0.35+pre2 | C | 2005 | ? (to be replaced by ircd-seven) | GPL | [6] |
| InspIRCd [10] | InspIRCd Development Team | (from scratch) | C++ | 2002 | 1.2.1[11] | GPL | [7] |
| ignitionServer[12] | The Ignition Project | Pure-IRCD (VB6 version) | Visual Basic | 2004 | ignitionServer-0.3.6-P1[13] | GPL[14] | [8] |
| IRCd[15] | Jarkko Oikarinen, IRCnet[16] | (from scratch) | C[17] | 1988 | 2.95 | GPL | [9] |
| IRCD-Hybrid | Hybrid Development Team, EFnet | irc2.8 | C | 1997 | 7.2.3 | GPL | ? |
| ircd-ratbox | Aaron Sethman, Lee Hardy, EFnet | Hybrid 7-rc1 | C | 2002 | ircd-ratbox-3.0.0 | GPL | [10] |
| ircd-seven | freenode | charybdis 3.1.x/trunk | C | — | in development | GPL | ? |
| ircu[18] | Undernet Coder Committee | irc2.7[19] | C[20] | 1991 | u2.10.12.12 | GPL | ? |
| Template:Rh2|IRCXpro Server | IRCXpro, Paul Heinlein | IRCPlus | Visual Basic | 2002 | 1.2 (build 1572) (now replaced by OfficeIRC) | Proprietary | ? |
| ithildin[21] | Chip Norkus | (from scratch) | C | 2006 | 1.1[22] | BSD[23] | [11] |
| Nefarious IRCu | Evilnet Development, AfterNET | ircu2 | C | 2004 | u2.10.11.07+Nefarious(1.2.0)+[2212 2008-08-03] | GPL | [12] |
| ngIRCd[24] | Alex Barton | (from scratch) | C | 2001[citation needed] | ngircd-14.1[25] | GPL | [13] |
| OfficeIRC Server | Office IRC Inc, Paul Heinlein | (from scratch) | VB.net | 2006 | 2.2 | Proprietary | [14] |
| Template:Rh2|pircd | Jay F Kominek | (from scratch) | Perl | 1999 | ? (now unmaintained) | Open Source (custom) | [15] |
| PleXusIRCd | Rizon, thaprince, static | Hybrid 7.2.3 | C | 2005 | hybrid-7.2.3+plexus-3.0.1(20090612_0-523) | GPL | [16] |
| pureIRCd | Dennis Fisch aka Diligent | (from scratch) | C | 2002 | ? | GPL | ? |
| PTlink IRC server | PTlink IRC Software | Hybrid 6 | C | 2001 (v.6) | 5.4.0 (now unmaintained) | GPL | [17] |
| Template:Rh2|QuakeIRCd | QuakeIRCd Team, Tiburon, blackcomb | UnrealIRCd | C | 2003 (v1.1) | ? (now unmaintained) | GPL | [18] |
| RockIRCd[26] | Mike Chambers | (from scratch) | QuickBASIC[27] | 2009 | 1.0.0-testing | GPL | [19] |
| ShadowIRCd[28] | dwr, Eko, jdhore, jilles, nenolod | Charybdis[citation needed] | C | 2003 | shadowircd-6.0.0pre4 | GPL | [20] |
| snircd | QuakeNet | ircu2.10.12[29] | C[29] | ? | 1.3.4a[30] | GPL[29] | [21] |
| solid-ircd | Toshi Morita, Juan Baez | Bahamut | C | 2004[31] | solid-ircd 3.4.8 | GPL | [22] |
| SorIrcd | SorceryNet | dal4.4.10 and irc2.8.mu3 | C | 1996 | ? (replaced by Charybdis) | GPL | [23] |
| Synchronet IRCd[32] | Randy E. Sommerfeld | (from scratch) | JavaScript | 2003 | SynchronetIRCd-1.3a(1.151) | GPL | ? |
| synIRCd | Nathan (nate) Bishop | (from scratch) | C++ | - | In Development[33] | GPL | [24] |
| TR-IRCD [34] | Yusuf Iskenderoglu, Ekim Engin, Dimitris Ginosatiris, hybridus, Maksut Cagil, burak | Hybrid 7 and Bahamut | C | ? | ? | GPL | [25] |
| UltimateIRCd | ShadowRealm Creations | DreamForge 2.8 | C | 2001 | 3.0.2 [35] (now unmaintained) | GPL | [26] |
| UnrealIRCd [36] | UnrealIRCd Team | EliteIRCd (potvin)[37] | C | 1999 | Unreal3.2.8.1[38] | GPL | [27] |
| Template:Rh2|Viagra IRCd[39] | Chris Schiffner | Titan | C | 2003 | 1.3.3 (now unmaintained) | GPL | [28] |
| WeIRCd | Eloxoph IRC Network[40] | (from scratch)[40] | C[40] | 2007[41] | WeIRCd 0.7.2[42] | GPL[43] | [29] |
[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 | MS-DOS | Mac OS X | Linux | BSD | Solaris | HP-UX | AIX | select() | poll() | epoll[44] | kqueue[45] | RT signals[46] | /dev/poll | Windows IOCP | Solaris IOCP |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Bahamut | No | No | Yes | Yes | Yes | Yes | ? | ? | Yes | Yes | Yes | Yes | No | Yes | No | No |
| bIRCd | Yes | No | ? | Yes | Yes | Yes | Yes | ? | 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[47] | Yes | No | Yes | Yes | Yes | Yes | Yes | Yes[citation needed] | Yes | Yes | Yes | Yes | No | No | Yes | Yes |
| IRCD | No | 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 | ? | ? | ? | Yes | Yes | No | Yes | No | No | No | No |
| Nefarious IRCu | Yes | No | Yes | Yes | Yes | Yes | Yes | ? | 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 | ? | ? | No | No | No | No | Yes | No |
| PleXusIRCd | Yes | 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 | Yes | No | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | No | Yes |
| snircd | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? |
| solid-ircd | No | No | Yes | Yes | Yes | Yes | ? | ? | Yes | Yes | Yes | Yes | No | Yes | No | No |
| Synchronet IRCd | Yes | No | Yes | Yes | Yes | Yes | ? | ? | Yes | Yes | Yes | Yes | No | Yes | No | No |
| synIRCd | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? |
| UnrealIRCd | Yes | No | Yes | Yes | Yes | Yes | ? | ? | Yes | No | No | No | No | No | No | No |
| WeIRCd | Yes[40] | No | Yes[40] | Yes[40] | Yes[40] | ? | ? | ? | Yes[43] | 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 | No | No | No | No | 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 |
| 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[48] | Yes | Yes | Yes | Yes | Yes | Yes | No | Yes | No | Yes | TS6 based Spanning Tree, proprietary |
| IRCD | No | No | Yes | No | No | Yes | No | No | No | No | No | RFC 1459 and RFC 2813 with SID/UID |
| 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 | No | No | Yes | No | No | No | No | P10 with extensions |
| ngIRCd | No | No | Yes | No | No | Yes | No | No | No | No | No | RFC 1459 and RFC 2813 |
| OfficeIRC Server | Yes | No | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | DreamForge/UnrealIRCd compatible |
| PleXusIRCd | Yes | No | Yes | Yes | Yes | Yes | Yes | No | ? | 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 | RFC 1459 without linking |
| ShadowIRCd | Yes | No | Yes | Yes | Yes | Yes | Yes | No | No | No | Yes | TS6 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[49] | No | Only on Unix systems | 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, ie no chanops and channel mode forced to +nt. 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[50] | Advanced Operator ACL | Operator "Levels"[51] | vHost via i:line (or equivalent) | i18n Nicknames | 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 | via 3.1 privilege system | Yes | No | No |
| ConferenceRoom | # & | No | No | Yes | No | Yes | Yes | Yes | Partial | Partial |
| InspIRCd | # | Yes | Yes | Yes | Module | Yes | Module | Yes | Module | MySQL, SQLite & PostgreSQL: Authorization, Services Integration, Logging, Operaccess |
| IRCD | # & ! + | 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 | ? | Yes | ? | No |
| pureIRCd | # | No | No | ? | ? | ? | ? | ? | ? | ? |
| RockIRCd | # | No | Yes | Yes | ? | ? | Yes | No | ? | No |
| ShadowIRCd | # & | 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[30] | No | No | iso8859-1/2/7/8-I/9/16, windows-1250/1251, Multibyte | MySQL & PostgreSQL: Third party modules [31] |
| 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 | ? |
| Charybdis | Yes | No / No | Yes | No / No | No / No | Yes | Yes | 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 | ? | ? / ? | ? | ? / ? | ? / ? | ? | ? | ? | |
| ircd-ratbox | Yes | No / No | No | No / No | No / No | No | No | No | Yes |
| ircu | Yes | ? / ? | ? | ? / ? | ? / ? | ? | ? | No | No |
| ithildin | Module | No / No | No | No / No | No / No | No | No | ? | ? |
| Nefarious IRCu | Yes | No / No | No | No / No | No / No | No | No | Yes | Yes |
| ngIRCd | No | No / No | No | No / No | No / No | No | No | No | ? |
| OfficeIRC Server | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | ? |
| PleXusIRCd | Yes | No / No | No | No / No | No / No | No | No | ? | ? |
| pureIRCd | ? | ? / ? | ? | ? / ? | ? / ? | ? | ? | ? | ? |
| RockIRCd | No | Yes / No | No | No | No | No | No | No | ? |
| ShadowIRCd | Yes | No / No | Yes | No / No | No / No | Yes | Yes | Yes | ? |
| solid-ircd | Yes | Yes / No | Yes | No / No | No / No | No | No | No | ? |
| Synchronet IRCd | Yes | Yes / No | Yes | No / No | No / No | No / No | No | No | ? |
| UnrealIRCd | No | Yes | Yes | Yes / No | Yes / Third party module [32] | No | No | Third party module [33] | Yes |
| WeIRCd | Partial | No / No | No | No / No | No / No | No | No | No | ? |
[edit] Notes
- ↑ 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)
- ↑ Ithildin
- ↑ Downloads - Ithildhin
- ↑ Ithildin license file (1.1 branch in repository)
- ↑ ngIRCd: Next Generation IRC Daemon
- ↑ ngIRCd download page
- ↑ rubbermallet.org: RockIRCd
- ↑ RockIRCd 1.0.0-testing source (.zip)
- ↑ BerliOS: ShadowIRCd
- ↑ 29.0 29.1 29.2 http://www.quakenet.org/development/releases/snircd.12.10.1.3.4a.tar.gz
- ↑ The official website for the QuakeNet IRC network
- ↑ SolidIRCd SourceForge Project Page
- ↑ ircd.js : The Synchronet IRCd Service
- ↑ synIRCd SourceForge Project Page
- ↑ TR-IRCD Daemon and Services
- ↑ Browse The Ultimate IRC daemon Files on SourceForge.net
- ↑ About UnrealIRCd
- ↑ unrealircd.doc
- ↑ Download Unreal
- ↑ Viagra IRCd (Unmaintained/Orphaned)
- ↑ 40.0 40.1 40.2 40.3 40.4 40.5 40.6 WeIRCd - the simple & easy IRCd (IRC Daemon)
- ↑ http://eloxoph.com/weircd/changelog.txt
- ↑ Index of /weircd/releases/
- ↑ 43.0 43.1 http://eloxoph.com/weircd/releases/WeIRCdcurrent-src.tar.gz
- ↑ epoll (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.
- ↑ Supported Operating Systems - Inspire IRCd (InspIRCd)
- ↑ Modules - Inspire IRCd (InspIRCd)
- ↑ modulesmanager.c
- ↑ The ability for network staff (not channel ops, but ircd opers) to be denoted in a channel with a special prefix
- ↑ Protect "higher" opers from being killed and/or z, k, or g-lined by "lower" opers
[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
Template:IRC topicssimple:Comparison of Internet Relay Chat daemons