You can edit almost every page by Creating an account. Otherwise, see the FAQ.

Comparison of Internet Relay Chat daemons

From EverybodyWiki Bios & Wiki



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.

This article is neither all-inclusive nor necessarily up-to-date, be warned.

Servers[edit]

IRC daemon Creator/network Basis Programming language First public release Latest version (numeric 351) Software license
Asuka[1][not in citation given] QuakeNet Dev Team ircu C Unknown 1.2.1 (now replaced by snircd) GPL
Bahamut[2] DALnet DreamForge, IRCD-Hybrid[3] C 1999[4] bahamut-2.1.5 GPL
bIRCd[5] DAMnet DreamForge[citation needed] C 1999 bIRCd-2.1.0rc4 GPL
beware ircd[6] beware from scratch Delphi Unknown beware1.6 GPL
Charybdis[7] atheme.org (nenolod, jilles, dwr, gxti) ircd-ratbox[7], IRCD-Hybrid, ircu, ShadowIRCd[citation needed] C 2005 charybdis-4.1.2[8] GPL[9]
dancer-ircd[10] freenode Hybrid 6[11] C 1999 ? (replaced by hyperion)[11] GPL
Elemental-IRCd[12] [13] ShadowIRCD C 2007 6.6.5 GPL2
DreamForge[citation needed] DALnet irc2.8.mu3 C 1994 (dal), 1997? (df) ? (replaced by bahamut) GPL
Faerion IRC Server[14] vhex DreamForge C, C++ 2003 1.17.7.1[15] GPL
FoxEye (ircd module) Andriy Grytsenko[16] from scratch C 2011(draft), 2016(working) 0.12.1[17] GPL2
hyperion[11] freenode dancer-ircd 1.0.35+pre2[citation needed] C 2005 ? (replaced by ircd-seven)[citation needed] GPL
IgniteIRCd[18] Lloyd Dilley[citation needed] ircd-hybrid 6.3.1 C 2004 0.9.41 (now unmaintained) GPL
InspIRCd [19] InspIRCd Development Team from scratch C++ 2002 3.7.0[20] GPL
ignitionServer[21] The Ignition Project Pure-IRCD (VB6 version)[citation needed] Visual Basic 2004 ignitionServer-0.3.6-P1[22] GPL[23]
IRCd[24] Jarkko Oikarinen, IRCnet[25] from scratch C[26] 1988 2.11.2[27] GPL v1
ircd-hybrid[28] ircd-hybrid Development Team,[29] Rizon, OFTC, EFnet irc2.8[30] C[30] 1997[30] 8.2.29[31] GPL[32]
ircd-ratbox[33] Aaron Sethman, Lee Hardy, EFnet Hybrid 7-rc1 C 2002 ircd-ratbox-3.0.10 GPL
ircd-seven freenode charybdis 3.1.x/trunk C stable GPL
ircu[34] Undernet Coder Committee irc2.7[35] C[36] 1991 u2.10.12.14[34] GPL
ithildin[37] Chip Norkus from scratch C 2006 1.1[38] BSD[39]
miniircd[40] Joel Rosdahl from scratch Python 2003 1.3[41] GPL
Nefarious IRCu Evilnet Development, AfterNET ircu2.10.12.14 C 2004 u2.10.12.14+Nefarious(2.0.0) GPL
ngIRCd[42] Alex Barton from scratch C 2001[43] ngircd-24[44] GPL
OfficeIRC Server Office IRC Inc, Paul Heinlein from scratch VB.NET 2006 2.2 Proprietary
Oragono Daniel Oaks, Oragono Contributors Ergonomadic Go 2016 2.0.0 MIT
PleXusIRCd Rizon, thaprince, static Hybrid 7.2.3 C 2005 hybrid-7.2.3+plexus-3.0.1(20090612_0-523) GPL
ProvisionIRCd[45] Sirius, Y4kuzi from scratch Python3 2006 2.0 GPL
pureIRCd Dennis Fisch aka Diligent from scratch C 2002 Unknown GPL
RockIRCd[46] Mike Chambers from scratch QuickBASIC[47] 2009 1.0.0-testing GPL
RubIRCd[48] Lloyd Dilley from scratch Ruby 2013 0.1a-maiden voyage GPL
ShadowIRCd[49] Taros, jdhore, jilles, nenolod Charybdis[49] C 2003 6.3.3 GPL
snircd QuakeNet ircu2.10.12[50] C[50] Unknown 1.3.4a[1] GPL[50]
solid-ircd Toshi Morita, Juan Baez,Gabriel Baez Bahamut C 2004[51] solid-ircd 3.4.8 GPL
Synchronet IRCd[52] Randy E. Sommerfeld from scratch JavaScript 2003 SynchronetIRCd-1.3a(1.151) GPL
TR-IRCd [53] Yusuf Iskenderoglu, Ekim Engin, Dimitris Ginosatiris, Maksut Cagil, Burak Cifter Hybrid 7 and Bahamut C 1999 5.6.1 GPL
UltimateIRCd ShadowRealm Creations DreamForge 2.8 C 2001 3.0.2 [54] (now unmaintained) GPL
UnrealIRCd[55] UnrealIRCd Team EliteIRCd (potvin)[56] C 1999 4.2.3[57] GPL
Viagra IRCd[58] Chris Schiffner Titan C 2003 1.3.3 (now unmaintained) GPL
WeIRCd Eloxoph IRC Network[59] from scratch C 2007 0.8.2 (now unmaintained) GPL
Pocosi[60] Chris Williams, Hinrik Örn Sigurðsson POE::Component::Server::IRC[61] Perl 2003 0.02 (1.53 of POE::Component::Server::IRC) Artistic

Operating system support[edit]

The operating systems the daemons can run on without emulation; also supported I/O facilities for network sockets (see IRCd for further information).

IRC daemon Windows DOS Mac OS Linux BSD Solaris HP-UX AIX select() poll() epoll[62] kqueue[63] threads RT signals[64] /dev/poll[65] Windows IOCP[66] Solaris IOCP[67]
Bahamut No No Yes Yes Yes Yes Unknown Unknown Yes Yes Yes Yes No No Yes No No
bIRCd Yes No Unknown Yes Yes Yes Yes Unknown Yes Yes No No Unknown No No No No
Charybdis No No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No No Yes No Yes
ConferenceRoom Yes No Yes Yes Yes Yes No No Yes Yes Yes Yes Unknown No Yes Yes No
FoxEye ircd No No Yes Yes Yes Yes Unknown Unknown No Yes No No Yes No No No No
InspIRCd[68][69] Yes No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Partial No Yes Yes Yes
IRCD[70] Yes No No Yes Yes Yes Yes Yes Yes Yes No No No No No No No
ircd-hybrid No No Yes Yes Yes Yes Yes Yes No Yes Yes Yes No No Yes No No
ircd-ratbox Yes No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No Yes Yes No Yes
ircu No No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No No Yes No No
ithildin No No No Yes Yes Unknown Unknown Unknown Yes Yes No Yes Unknown No No No No
miniircd Yes Yes Yes Yes Yes Yes Yes Yes Yes No No No No No No No No
Nefarious IRCu No No Yes Yes Yes Yes Yes Unknown Yes Yes Yes Yes No No Yes No No
ngIRCd[71] Yes No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No No Yes No No
OfficeIRC Server Yes No Yes Emulated Yes No No No Unknown Unknown No No Unknown No No Yes No
Oragono Yes No Yes Yes Yes Yes No Yes No Yes Yes Yes Yes No No No No
PleXusIRCd No No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Unknown Yes Yes No No
pureIRCd Yes No No No No No No No Yes No No No Unknown No No No No
RockIRCd No Yes No No No No No No No No No No Unknown No No No No
RubIRCd Yes No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No No No No
ShadowIRCd No No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No Yes Yes No Yes
snircd No No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Unknown No Yes No No
solid-ircd No No Yes Yes Yes Yes Unknown Unknown Yes Yes Yes Yes Unknown No Yes No No
Synchronet IRCd Yes No Yes Yes Yes Yes Unknown Unknown Yes Yes Yes Yes Unknown No Yes No No
UnrealIRCd Yes No Yes Yes Yes Yes Unknown Unknown Yes Yes Yes Yes No No No No No
WeIRCd Yes No Yes Yes Yes Unknown Unknown Unknown Yes No No No Unknown No No No No

Technology[edit]

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 SASL EXTERNAL support Server protocol
Bahamut Yes No Yes Yes Yes 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
beware ircd No No Yes No No No Yes No No No No No P10
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 No Proprietary, binary
FoxEye ircd Yes No Yes Yes Yes Yes No No No No No No RFC2813 with extensions, split-free network
InspIRCd Yes[72] Yes Yes Yes Yes Yes Yes Partial Yes Partial Yes Yes custom[73]
IRCD No No Yes No No Yes No No No No No No RFC 2813 with IDs
IRCD-Hybrid Yes No Yes Yes Yes Yes Yes No No No No No TS6
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 No Module-dependent
miniircd No No No Yes No No No No No No No No No
Nefarious IRCu No No 2.0+ Yes Yes No Yes No No No 2.0+ 2.0+ P10 with extensions
ngIRCd No No Yes Yes Yes Yes Yes No No No No No RFC 2813
OfficeIRC Server Yes No Yes Yes Yes Yes Yes Yes Yes Yes Yes No Compatible with DreamForge and UnrealIRCd
Oragono No No Yes Yes No No Yes Yes Yes No Yes Yes No
PleXusIRCd Yes No Yes Yes Yes Yes Yes No Yes No No No TS5/TS6
pureIRCd No 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 No
RubIRCd Yes No Yes Yes No No Yes Partial No No No No TS5 with extensions
ShadowIRCd Yes No Yes Yes Yes Yes Yes No No No Yes Yes TS6 with extensions
snircd No No Yes No No No Yes No No No No No P10 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 No TS5 with extensions
UnrealIRCd Yes Yes Yes Yes Yes Yes Yes No Module No Yes Yes DreamForge/TS5 with extensions
WeIRCd Partial No Yes No No No Yes Yes (module) No No No No No

Features[edit]

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[74] Advanced operator ACL Operator "levels"[75] vHost via I-line (or equivalent) i18n nicknames[76] 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
FoxEye ircd # & ! + Module No No No No No Yes Yes No
InspIRCd # Yes Module Module Module Yes Module Yes Module Old versions: MySQL, SQLite & PostgreSQL: Authorization, Services Integration, Logging, Operaccess
IRCD # & ! + No No No No No No No No No
IRCD-Hybrid # Yes No No No No No Yes 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 No
miniircd + # & ! No No No No No No No No No
Nefarious IRCu # & Yes No No No Yes No Yes No No
ngIRCd[77] # & + Yes[78] Yes Yes No No No No No No
OfficeIRC Server # %# & %& No Yes Yes Yes Partial Yes Yes Yes Partial
Oragono # Yes Yes Yes No Yes No Yes Yes Yes
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
RubIRCd # Yes Yes Yes Yes No Yes Yes No 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 Yes Third party module (netadmins)[79] Yes, vhost block in conf iso8859-1/2/7/8-I/9/16, windows-1250/1251, Multibyte MySQL & PostgreSQL: Third party modules [80]
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 Yes
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 No No No No No No No No No
IRCD-Hybrid Yes No / No No No / No No / No No No No Yes
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
miniircd No No No No No No No No No
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
Oragono Yes Yes / No Unknown No No No Unknown No Yes
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
RubIRCd No No No No No No No No No
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 Yes Yes Yes Yes / third party module[81] No Yes Yes Yes
WeIRCd Partial No / No No No / No No / No No No No Yes

See also[edit]

Notes[edit]

  1. 1.0 1.1 "QuakeNet Development Team". quakenet.org.
  2. "The DALnet IRC Network". dal.net.
  3. "IRC Servers". tldp.org. Retrieved 2020-08-03.
  4. "Linux Help - Bahamut Setup Guide". linuxhelp.net.[dead link]
  5. "bircd - bIRCd IRC server. SSL and IPv6 supported". uu3.net.
  6. "beware ircd". bircd.org.
  7. 7.0 7.1 "Jilles' IRC page: charybdis". stack.nl. Retrieved 2015-01-08.
  8. "Releases · charybdis-ircd/charybdis · GitHub". github.com. Retrieved 2020-08-03.
  9. "charybdis/LICENSE at master · charybdis-ircd/charybdis · GitHub". github.com. Retrieved 2020-08-03.
  10. "History of IRC (Internet Relay Chat)". daniel.haxx.se. Retrieved 2020-08-03.
  11. 11.0 11.1 11.2 "freenode: hyperion-ircd". Archived from the original on 2006-05-27. Retrieved 2006-06-04. Unknown parameter |url-status= ignored (help)
  12. "Continuation of ShadowIRCD to meet people's needs". github.com. Retrieved 2015-01-08.
  13. "Contributors". Retrieved 2015-01-08.
  14. "Faerion — ircd". sourceforge.net.
  15. vhex. "Faerion Software Components". sourceforge.net.
  16. "foxeye/ChangeLog at master · LStranger/foxeye · GitHub". github.com. Retrieved 2020-08-03.
  17. "Releases · LStranger/foxeye · GitHub". github.com. Retrieved 2020-08-03.
  18. "IgniteIRCd - Stable IRCd with empowered administration functionality". IgniteIRCd site.
  19. "InspIRCd - The Stable, High-Performance and Modular IRCd". inspircd.org.
  20. "Releases · inspircd/inspircd · GitHub". github.com.
  21. "The Ignition Project : ignitionServer". Archived from the original on 2010-09-22. Retrieved 2009-09-27. Unknown parameter |url-status= ignored (help)
  22. "Log in - Tumblr". ignition-project.com.
  23. ziggythehamster. "The Ignition Project". SourceForge.
  24. "Index of /ftp/irc/server/". irc.org. Archived from the original on 2011-07-26. Unknown parameter |url-status= ignored (help)
  25. "IRC.org". irc.org.
  26. Source code
  27. Release Notes
  28. "IRCD-Hybrid -- High Performance Internet Relay Chat". Retrieved 2015-01-08.
  29. "Team". ircd-hybrid.org. 9 September 2014. Retrieved 2015-01-08.
  30. 30.0 30.1 30.2 "IRCd-Hybrid". irc-wiki.org. 17 September 2011. Retrieved 2015-01-08.
  31. "Downloads". irc-hybrid.org. 6 January 2015. Retrieved 2015-01-08.
  32. "COPYING". github.com. Retrieved 2015-01-08.
  33. "ircd-ratbox". ratbox.org. Retrieved 2020-08-03.
  34. 34.0 34.1 "Undernet IRCd Development - Home". undernet.org.
  35. "Serverwatch's Recent Server Reviews". serverwatch.com. Archived from the original on 2011-05-12. Unknown parameter |url-status= ignored (help)
  36. ircu2.10.12.12 source code (tar.gz)
  37. "elly/ithildin". GitHub.
  38. Downloads - Ithildhin
  39. "ithildin/COPYING at master · elly/ithildin · GitHub". GitHub.
  40. "jrosdahl/miniircd: A very simple Internet Relay Chat (IRC) server". GitHub.
  41. "miniircd/CHANGES at master · jrosdahl/miniircd · GitHub". GitHub.
  42. Alexander Barton. "ngIRCd: Next Generation IRC Daemon". barton.de.
  43. "arthur.barton.de Git - ngircd.git/commit". barton.de.
  44. Alexander Barton. "News".
  45. "ProvisionIRCd :: An IRCd written in Python3". ProvisionIRCd.
  46. "Welcome to rubbermallet.org [software: RockIRCd]". rubbermallet.org.
  47. RockIRCd 1.0.0-testing source (.zip)
  48. "RubIRCd - The Ruby IRC daemon". rubircd site.
  49. 49.0 49.1 ShadowIRCd Archived August 13, 2010, at the Wayback Machine
  50. 50.0 50.1 50.2 http://www.quakenet.org/development/releases/snircd.12.10.1.3.4a.tar.gz
  51. sheik. "Solid IRCd". SourceForge.
  52. ircd.js : The Synchronet IRCd Service
  53. "TR-IRCD Daemon and Services". sourceforge.net.
  54. shadowmaster. "The Ultimate IRC daemon". sourceforge.net.
  55. "UnrealIRCd - The most widely deployed IRC server - UnrealIRCd". unrealircd.com.
  56. unrealircd.doc
  57. "UnrealIRCd 4.2.3 released - UnrealIRCd Forums". unrealircd.com.
  58. Christopher Schiffner. "Viagra IRCd". Chris Schiffner's Corner of the Web.
  59. "404 Not Found". eloxoph.com. Archived from the original on 2010-05-14. Unknown parameter |url-status= ignored (help)
  60. Hinrik Örn Sigurðsson. "App::Pocosi - A command line tool for launching a POE::Component::Server::IRC instance - metacpan.org". metacpan.org.
  61. Hinrik Örn Sigurðsson. "POE::Component::Server::IRC - A fully event-driven networkable IRC server daemon module. - metacpan.org". metacpan.org.
  62. epoll. xmailserver.org. (Linux since 2.6) - I/O event notification facility. Has a much better performance than select() and poll() system calls.
  63. kqueue (FreeBSD since 4.1) - asynchronous event dispatch mechanism.
  64. "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.
  65. Acharya, Shridhar (March 2002). "Using the devpoll (/dev/poll) Interface". Sun.com. Archived from the original on February 2, 2007. Unknown parameter |url-status= ignored (help)
  66. "CreateIoCompletionPort function". Microsoft MSDN Library.
  67. "The Event Completion Framework for the Solaris Operating System (Solaris IOCP)". Sun.com.
  68. "Supported Operating Systems". inspircd.org.
  69. "FAQ/General". inspircd.org.
  70. [ 50 ]
  71. "Supported Operating Systems". ngircd.barton.de. Retrieved 2020-07-29.
  72. "2.0/Modules". inspircd.org.
  73. "InspIRCd Spanning Tree (1.2)". inspircd.org.
  74. 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]
  75. Operator "levels": protect "higher" opers from being killed and/or z, k, or g-lined by "lower" opers[citation needed]
  76. "Features: nickchars". Vulnscan.org.
  77. "Supported Modes". Retrieved 2020-07-29.
  78. "Handle channel user modes 'a', 'h', and 'q' from remote servers". GitHub.
  79. "Modules". unreal.x-tab.org.
  80. "Custom coding: SQLMod". Vulnscan.org.
  81. "Modules: TextBan". Vulnscan.org.

External links[edit]


This article "Comparison of Internet Relay Chat daemons" is from Wikipedia. The list of its authors can be seen in its historical and/or the page Edithistory:Comparison of Internet Relay Chat daemons. Articles copied from Draft Namespace on Wikipedia could be seen on the Draft Namespace of Wikipedia and not main one.