What is Charybdis?

Charybdis is a scalable IRC server used on many large IRC networks. It is customizable using extension modules, features excellent documentation and has built-in synflood mitigations. Find out more.

News

  • charybdis 4 RC2 released!

    As a quick followup to our charybdis 4 RC1 release, we are pleased to announce the availability of charybdis 4 release candidate 2! If all goes well, we will release charybdis 4 final in a few days. Thank you to everyone who has participated in the testing process.

  • New directions for Charybdis, starting with Charybdis 4

    We are pleased to announce both the immediate availability of [charybdis 4 release candidate 1][rc1], as well as an exciting new directions for the charybdis project in general! When charybdis was started at atheme.org, the purpose of the project was originally to provide a working IRCd that was specifically designed to leverage the new features introduced by atheme.org both in Atheme as well as the later IRCv3 incubation that occured there. As part of atheme.org’s restructuring, the IRCv3 and charybdis projects graduated into their own autonomous projects, which has resulted in many people asking what the future of charybdis was to be. The answer, simply put, is that charybdis 4 should provide a preview at what we feel the future of the project will be.

  • Charybdis 3.5.2 released

    We have released a maintenance release for the charybdis 3.5 branch, improving STARTTLS support for non-OpenSSL backends and providing relevant security patches up to May 14, 2016.

  • Charybdis 3.5.1 released

    We have released a maintenance release for the charybdis 3.5 branch, mainly importing improvements concerning ssld’s robustness as well as adding support for building with GNUTLS 3.4.

  • authd: a new authentication system for charybdis

    Since the inception of ircd (the late 80’s), ident and DNS lookups have been done in the ircd process. In almost every ircd 2.7 (ircu/snircd) or 2.8 (hybrid/ratbox/charybdis/dreamforge/unreal/bahamut/etc.) derivative, they are still done in the main ircd (though ratbox moved DNS to its own daemon). Obviously they’ve all undergone iterations over the years (such as removal of the DNS cache from hybrid before the ratbox fork, and the way idents are checked has been tweaked in most IRC daemons), but overall the architecture is essentially unchanged.

  • The new module API and what it means for you

    Since ratbox, DECLARE_MODULE_AV1 has been the way that the symbol for the module header has been created. It has stayed stable throughout 10 years of its existence in Charybdis and longer in Ratbox.

  • charybdis 3.6, IRCv3.3 STS, the generally oncoming IRC TLS transition and how to manage it

    The IRCv3 working group have committed to transitioning IRC from plaintext to TLS with the 3.3 release. They plan to do this using an extension called “IRCv3 Strict Transport Security”, which will use the capability negotiation mechanism to notify clients to switch to TLS mode. In general, we agree with the goal of transitioning IRC to TLS in 2016, but we question whether STS is a sufficient transition mechanism, as well as whether or not it should be included in core or instead as an extension. This post will describe an alternative transition plan which encourages TLS usage by inverting the functionality of the secure-only (+S) channel mode, and should serve as the recommended transition plan for operators of charybdis networks. The eventual TLS transition has been discussed with the charybdis network operator community at large for several years.

  • Charybdis 3.5.0 released

    The charybdis team is proud to announce the charybdis 3.5 release series.