Comparison of Internet Relay Chat daemons
(Redirected from TinyIRC)
The following tables compare general and technical data. This article does not have current or all the data available.
Servers
IRC daemon | URL | Creator/network | Basis | Programming language | First public release | Latest stable version (numeric 351) | Software license |
---|---|---|---|---|---|---|---|
Bahamut | [1] | DALnet | DreamForge, IRCD-Hybrid | C | 1999 | bahamut-1.8(04) | GPL |
bIRCd | [2] | DAMnet Archived 2008-12-27 at the Wayback Machine | DreamForge | C | 1999 | bIRCd-2.1.0rc4 | GPL |
Charybdis | [3] Archived 2009-01-18 at the Wayback Machine | nenolod, jilles, dwr, gxti | ircd-ratbox, IRCD-Hybrid, ircu, ShadowIRCd | C | 2005 | charybdis-3.0.3 | GPL/BSD |
ConferenceRoom | [4] | WebMaster Incorporated | (from scratch) | C++ | 1996 | ConferenceRoom/3.5 | Proprietary |
csircd | [5] | Comstud | (from scratch) | C | 1998 | csircd-1.14 | GPL |
InspIRCd | [6] | InspIRCd Development Team Archived 2008-10-17 at the Wayback Machine | (from scratch) | C++ | 2002 | 1.1.22 | GPL |
IRCd | [7][dead link] | Jarkko Oikarinen, IRCnet | (from scratch) | C | 1988 | 2.11.2p1 | GPL |
ircd-hybrid | [8] | Hybrid Development Team, EFnet | irc2.8 | C | 1997 | 8.2.35 | GPL |
ircd-ratbox | [9] Archived 2020-12-01 at the Wayback Machine | Aaron Sethman, Lee Hardy, EFnet | Hybrid 7-rc1 | C | 2002 | ircd-ratbox-3.0.0 | GPL |
ircu | [10] | Undernet Coder Committee | irc2.7 | C | 1991 | u2.10.12.12 | GPL |
ithildin | [11] Archived 2007-03-14 at the Wayback Machine | Chip Norkus | (from scratch) | C | 2006 | 1.1.2 / 1.0r0 | BSD |
Nefarious IRCu | [12] Archived 2007-03-11 at the Wayback Machine | Evilnet Development, AfterNET | ircu2 | C | 2004 | u2.10.11.07+Nefarious(1.2.0)+[2212 2008-08-03] | GPL |
ngIRCd | [13] | Alex Barton | (from scratch) | C | 2001 | ngircd-0.12.1 | GPL |
OfficeIRC Server | [14] Archived 2008-12-19 at the Wayback Machine | Office IRC Inc, Paul Heinlein | (from scratch) | VB.net | 2006 | 2.1 | Proprietary |
PleXusIRCd | [15] | Rizon, thaprince, static | Hybrid 7.2.3 | C | 2005 | hybrid-7.2.3+plexus-3.0.1(20081028_0-520) | GPL |
pureIRCd | [16] | Dennis Fisch aka Diligent | (from scratch) | C | 2002 | ? | GPL |
ShadowIRCd | [17] Archived 2008-12-12 at the Wayback Machine | dwr, Eko, jdhore, jilles, nenolod | Charybdis | C | 2008 | shadowircd-6.0.0pre4 | GPL |
solid-ircd | [18] Archived 2008-07-09 at the Wayback Machine | Gabriel Baez | Bahamut | C | ? | solid-ircd 3.4.8 | GPL |
Synchronet IRCd | [19] | Randy E. Sommerfeld | (from scratch) | JavaScript | 2003 | SynchronetIRCd-1.3a(1.151) | GPL |
UnrealIRCd | [20] | EliteIRCd (potvin) | DreamForge | C | 1999 | Unreal6.1.4 | GPL |
WeIRCd | [21] Archived 2009-01-06 at the Wayback Machine | Eloxoph IRC Network | (from scratch) | C | 2007 | WeIRCd 0.4.5a | GPL |
Obsolete Servers
The following servers are no longer maintained, but basic details are maintained for posterity. They will not be listed in feature comparison tables.
IRC daemon | URL | Creator/network | Basis | Programming language | First public release | Outcome | Software license |
---|---|---|---|---|---|---|---|
PTlink IRC Server | [22] | PTlink IRC Software | Hybrid 6 | C | 2001 (v.6) | (now unmaintained) | GPL |
Asuka | [23] Archived 2006-04-10 at the Wayback Machine | QuakeNet Dev Team | ircu | C | ? | (replaced by snircd) | GPL |
Austhex | [24] | AustNet Development | ircu2.9 | C, Scheme | ? | (replaced by inspircd) | GPL |
dancer-ircd | none | freenode | Hybrid 6 | C | 1999 | (replaced by hyperion) | GPL |
DreamForge | [25] Archived 2008-12-01 at the Wayback Machine | DALnet | irc2.8.mu3 | C | 1994 (dal), 1997? (df) | (replaced by bahamut) | GPL |
hyperion | [26] Archived 2006-05-27 at the Wayback Machine | freenode | dancer-ircd 1.0.35+pre2 | C | 2005 | (to be replaced by ircd-seven) | GPL |
IRCXpro Server | [27] | IRCXpro, Paul Heinlein | IRCPlus | Visual Basic | ? | (replaced by OfficeIRC) | Proprietary |
pircd | [28] | Jay F Kominek | (from scratch) | Perl | 1999 | (now unmaintained) | Open Source (custom) |
QuakeIRCd | [29] | QuakeIRCd Team, Tiburon | UnrealIRCd | C | 2003 (v1.1) | (now unmaintained) | GPL |
SorIrcd | [30] | SorceryNet | dal4.4.10 and irc2.8.mu3 | C | 1996 | (replaced by Charybdis) | GPL |
UltimateIRCd | [31] Archived 2008-10-17 at the Wayback Machine | ShadowRealm Creations | DreamForge 2.8 | C | 2001 | (now unmaintained) | GPL |
Viagra IRCd | [32] | Chris Schiffner | Titan | C | 2003 | (now unmaintained) | GPL |
Operating system support
The operating systems that the daemon is compatible with.
IRC daemon | Windows | Mac OS X | Linux | BSD | Solaris | HP-UX | AIX | select() | poll() | epoll[1] | kqueue[2] | RT signals[3] | /dev/poll Archived 2007-02-02 at the Wayback Machine | Windows IOCP | Solaris IOCP |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Bahamut | No | Yes | Yes | Yes | Yes | ? | ? | Yes | Yes | Yes | Yes | No | Yes | No | No |
bIRCd | Yes | ? | Yes | Yes | Yes | Yes | ? | Yes | Yes | No | No | No | No | No | No |
Charybdis | No | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | No | Yes | No | Yes |
ConferenceRoom | Yes | Yes | Yes | Yes | Yes | No | No | Yes | Yes | Yes | Yes | No | Yes | Yes | No |
InspIRCd | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | No | No | Yes | Yes |
IRCD | No | No | Yes | Yes | Yes | Yes | Yes | Yes | Yes | No | No | No | No | No | No |
ircd-ratbox | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | No | Yes |
ircu | No | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | No | Yes | No | No |
ithildin | No | No | Yes | Yes | ? | ? | ? | Yes | Yes | No | Yes | No | No | No | No |
Nefarious IRCu | Yes | Yes | Yes | Yes | Yes | Yes | ? | Yes | Yes | Yes | Yes | No | Yes | No | No |
ngIRCd | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | No | Yes | No | No |
OfficeIRC Server | Yes | No | Emulated | No | No | No | No | ? | ? | No | No | No | No | Yes | No |
PleXusIRCd | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | No | No |
pureIRCd | Yes | No | No | No | No | No | No | Yes | No | No | No | No | No | No | No |
ShadowIRCd | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | No | Yes |
solid-ircd | No | Yes | Yes | Yes | Yes | ? | ? | Yes | Yes | Yes | Yes | No | Yes | No | No |
Synchronet IRCd | Yes | Yes | Yes | Yes | Yes | ? | ? | Yes | Yes | Yes | Yes | No | Yes | No | No |
UnrealIRCd | Yes | Yes | Yes | Yes | Yes | ? | ? | Yes | Planned[4] | No | No | No | No | No | No |
WeIRCd | Planned | Yes | Yes | Yes | ? | ? | ? | Planned | No | No | No | No | No | No | No |
Technology
Various networking and IRC technology used 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 | WebSockets Support | Server Protocol |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Bahamut | No | No | No | No | No | Yes | No | No | No | No | No | No | TS5 with extensions |
bIRCd | No | No | Yes | Yes | Yes | No | No | No | No | No | No | No | RFC 1459 and TSpre8 |
Charybdis | Yes | No | Yes | Yes | Yes | Yes | Yes | No | No | No | Yes | Yes | TS6 with extensions |
ConferenceRoom | No | No | No | Yes | Yes | Yes | Yes | Yes | Yes | No | No | ? | Proprietary, binary |
InspIRCd | Yes | Yes | Yes | Yes | Yes | Yes | Yes | No | Yes | No | Yes (1.2) | Yes | TS6 based Spanning Tree Archived 2008-08-21 at the Wayback Machine |
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 | No | TS6 |
ircu | No | No | Yes | No | No | No | Yes | No | 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 | No | P10 with extensions |
ngIRCd | No | No | Yes | No | No | Yes | No | No | No | No | No | No | RFC 1459 and RFC 2813 |
OfficeIRC Server | Yes | No | Yes | Yes | Yes | Yes | Yes | Yes | No | Yes | Yes | Yes | DreamForge/UnrealIRCd compatible |
PleXusIRCd | Yes | No | Yes | Yes | Yes | Yes | Yes | No | ? | No | No | No | TS5/TS6 |
pureIRCd | No | No | No | No | No | No | No | No | No | No | No | No | No |
ShadowIRCd | Yes | No | Yes | Yes | Yes | Yes | Yes | No | No | No | Yes | No | TS6 with extensions |
solid-ircd | No | No | No | Yes | Yes | Yes | Yes | No | No | No | No | No | TS5 with extensions |
Synchronet IRCd | No | No | No | No | No | No | No | No | No | No | No | ? | TS5 with extensions |
UnrealIRCd | Partial | Yes | Yes | Yes | Yes | Yes | Yes | No | No | No | No | Yes | DreamForge/TS5 with extensions |
WeIRCd | No | No | No | No | No | No | Yes | Yes | No | No | No | ? | No |
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 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[5] | Advanced Operator ACL | Operator "Levels"[6] | vHost via i:line (or equivalent) | i18n Nicknames Archived 2008-12-25 at the Wayback Machine | 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 | No | Yes | No | No |
ConferenceRoom | # & | No | No | Yes | No | Yes | Yes | Yes | Partial | Partial |
InspIRCd | # | Yes | Yes | Yes | Module | Yes | Module | Yes | Module (1.2) | 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 | ? | Yes | ? | ? |
ithildin | # | No | No | No | Yes | Yes | via privilege system | Yes | No | No |
Nefarious IRCu | # & | Yes | No | No | No | No | 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 | ? | ? | ? | ? | ? | ? | ? |
ShadowIRCd | # & | Yes | 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 | No | No | No | iso8859-1/2/7/8-I/9/16, windows-1250/1251, Multibyte | No |
WeIRCd | # | Yes | No | No | No | No | No | No | No | No |
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 |
---|---|---|---|---|---|---|---|---|
Bahamut | Yes | Yes / No | Yes | 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 |
ConferenceRoom | Yes | Yes / Yes | Yes | No / Yes | Partial / No | No | Partial | Yes |
InspIRCd | 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 |
ircu | ? | ? / ? | ? | ? / ? | ? / ? | ? | ? | No |
ithildin | Module | No / No | No | No / No | No / No | No | No | ? |
Nefarious IRCu | No | No / No | No | No / No | No / No | No | No | 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 | ? | ? / ? | ? | ? / ? | ? / ? | ? | ? | ? |
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 / No | No | No | Third party module |
WeIRCd | Partial | No / No | No | No / No | No / No | No | No | No |
Related pages
Notes
- ↑ 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.
- ↑ UnrealIRCd bugtracker entry for poll() - Next release (3.2.10) should have poll() implemented.
- ↑ 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
Other websites
- IRCd features compared to InspIRCd Archived 2008-10-17 at the Wayback Machine
- History of IRC Archived 2020-11-12 at the Wayback Machine
- IRCD distribution
- IRC numerics and modes from major IRCds