Welcome to
What is

InspIRCd is a modular Internet Relay Chat (IRC) server written in C++ for Linux, BSD, Windows and macOS systems.

It was created from scratch to be stable, modern and lightweight. It provides a tunable number of features through the use of an advanced but well documented module system. By keeping core functionality to a minimum we hope to increase the stability, security and speed of InspIRCd while also making it customisable to the needs of many different users.

And after all it’s free and open source.

or take a look at our installation guide followed by our configuration guide

InspIRCd binary packages

Posted by ~Sadie on December 09, 2020

Given the popularity of our existing CentOS, Debian, and Ubuntu binary packages we are looking into shipping support for more platforms. If you use a platform which supports binary packages that does not currently have an official InspIRCd package then please open an issue here.

InspIRCd v3.8.0 released!

Posted by ~Sadie on October 30, 2020

InspIRCd v3.8.0 is now available, download it from the releases page. The most notable changes within this release are: Added <cban:glob> to allow using glob matches within cbans. Added <joinflood:bootwait> to allow disengaging channel mode j (joinflood) when a server first starts up. Added <joinflood:splitwait> to allow disengaging channel mode j (joinflood) when a server splits from the network. Added <shun:allowtags> to allow configuring whether shunned users can send client-to-client tags. Added <shun:cleanedcommands> to allow configuring the commands that shunned users can run but that will be censored. Added support for the Argon2 key derivation function. Fixed disconnecting users who try to enable user mode x (cloak) when the md5 module is not loaded. Fixed xlines not being rechecked when a user’s real hostname changes. No breaking configuration changes have been made since the v3.0.0 release but if you are upgrading from v2 please consult our list of config changes in v3.

InspIRCd v3.7.0 released!

Posted by ~Sadie on July 31, 2020

InspIRCd v3.7.0 is now available, download it from the releases page. This release contains a few new features but is mostly bug fixes. Most notably: Added <botmode:forcenotice> to allow forcing bots to use NOTICEs instead of PRIVMSGs. Added support for disabling the creation/expiry notices sent to channel operators by the timedbans module. Fixed /SVSHOLD sending a global snotice instead of a local one. Fixed shuns not being applied correctly. Fixed the <class:dnsbl> option not matching marked DNSBL users. Fixed the <hostchange:ports> option never matching users. Fixed WebSocket users not being detected as using a secure connection when they are. No breaking configuration changes have been made since the v3.0.0 release but if you are upgrading from v2 please consult our list of config changes in v3.

InspIRCd v2.0 maintenance schedule updated

Posted by ~Sadie on May 20, 2020

In a few days InspIRCd v2 was planned to reach the end of its life. However, as many things have been suspended for a few months due to COVID-19 and will likely remain suspended for a few more we are extending security fixes and support for v2 to the end of 2020. Please do not consider this an excuse to push off upgrading unless you really have to though. We will not be extending this date again. If you are an upgrading v2 user please consult our list of config changes in v3 on the docs site for information on how to upgrade to v3.

InspIRCd v3.6.0 released!

Posted by ~Sadie on April 24, 2020

InspIRCd v3.6.0 is now available, download it from the releases page. This release fixes a crash bug in the pgsql module as well as adding several minor features. Most notably: Added <class:snomasks> to allow configuring the snomasks that a server operator can use. Added support for the IRCv3 SETNAME specification. Added support for using environment variables in the server configuration using the &env.FOO; syntax. Fixed a crash in the pgsql module when connecting to a server fails. Fixed a bug where previously changed display hostnames would be reset when a hostname lookup finishes. Improved the error message shown when trying to load a module which is too old or too new for the current version. No breaking configuration changes have been made since the v3.0.0 release but if you are upgrading from v2 please consult our list of config changes in v3.

InspIRCd v2.0.29 released!

Posted by ~Sadie on April 24, 2020

InspIRCd v2.0.29 is now available, download it from the releases page. This release fixes a crash bug in the pgsql module. As mentioned previously InspIRCd v2 is now deprecated and will no longer receive security updates after 2020-05-31 2020-12-31. You should strongly consider updating to the v3 branch as soon as possible. Documentation on how to do so is available on the docs site.

InspIRCd v3.5.0 released!

Posted by ~Sadie on January 31, 2020

InspIRCd v3.5.0 is now available, download it from the releases page. This release fixes many minor bugs and adds several minor features. Most notably: Added support for the IRCv3 Labeled Response specification. Added support for help topics to the helpop module. Added support for the X-Real-IP and X-Forwarded-For headers to the websocket module. Added the codepage module — a better solution for custom 8-bit character set support than the incredibly broken and undocumented nationalchars module. Fixed connections to ports which have an invalid I/O hook configured not being rejected. Fixed allowing TAGMSG messages to be sent without any tags attached. Fixed prioritisation of custom events provided by modules. Fixed the chanhistory module not storing message tags and notices. No breaking configuration changes have been made since the v3.0.0 release but if you are upgrading from v2 please consult our list of config changes in v3.

InspIRCd v3.4.0 released!

Posted by ~Sadie on October 25, 2019

InspIRCd v3.4.0 is now available, download it from the releases page. This release fixes many minor bugs and adds several minor features. Most notably: Added <cloak:ignorecase> to ignore the case of a FQDN when cloaking. Added a workaround for gateway IP addresses being banned by the connectban module. Added support for filtering part messages to the chanfilter module. Disabled DNS, DNSBL, and ident lookups for unregistered KiwiIRC.com users in the example provider configs. Fixed the example configs allowing voiced users to voice/devoice other users. Fixed the silence module not being able to add or remove entries in some cases. Updated the NetBSD EV_SET workaround now that upstream have fixed the issue. No breaking configuration changes have been made since the v3.0.0 release but if you are upgrading from v2 please consult our list of config changes in v3.

InspIRCd v3.3.0 released!

Posted by ~Sadie on August 23, 2019

InspIRCd v3.3.0 is now available, download it from the releases page. This release fixes a crash bug in the mysql module as well as adding several minor features. Most notably: Fixed a crash in the MySQL module when built against mariadb-connector-c v3.0.5 or newer. Changed the maximum value for <chanfilter:maxlen> from 100 to 250. Fixed listener sockets with <bind:replace> enabled not being replaced in some circumstances. Fixed not applying IRCv3 server-time timestamps on the server the source is connecting from. Fixed the geo_maxmind module trying to interpret an AF_UNIX endpoint as an IP address. No breaking configuration changes have been made since the v3.0.0 release but if you are upgrading from v2 please consult our list of config changes in v3.