Skip to content

ElixIRCd Documentation

ElixIRCd is an open-source IRC server daemon written in Elixir, running on the Erlang VM (BEAM). It implements the standard IRC protocol (RFC 1459 / RFC 2812) with full IRCv3 support, built-in services (NickServ and ChanServ), TLS/WebSocket listeners, and modern security features.

High Concurrency

Built on the Erlang VM. Handles thousands of simultaneous connections with lightweight BEAM processes and no shared-state locks.

Built-in IRC Services

NickServ and ChanServ are embedded — no external services process (Atheme, Anope) required. Accounts and channels survive restarts via Mnesia.

IRCv3 Capabilities

SASL PLAIN, message-tags, away-notify, extended-join, multi-prefix, server-time, msgid, account-notify, monitor, setname, chghost, and more.

TLS & WebSocket

Native TLS on port 6697. WebSocket support (plain and TLS) for browser clients like KiwiIRC and Gamja. All four transports can run simultaneously.

Hostname Cloaking

HMAC-based hostname masking (+x mode). Deterministic cloaks protect user privacy while keeping channel bans effective across sessions.

Rate Limiting

Token-bucket rate limiter at connection and message level, with per-command overrides, IP/mask exemptions, and configurable disconnect thresholds.

StandardDescription
RFC 1459Original IRC protocol
RFC 2810IRC Architecture
RFC 2811IRC Channel Management
RFC 2812IRC Client Protocol
RFC 2813IRC Server Protocol
RFC 7194Default Port for IRC via TLS
IRCv3Modern IRC extensions (capabilities, tags, SASL)
TransportDefault PortDescription
TCP6667Plain IRC
TLS6697IRC over TLS (recommended)
WebSocket8080IRC over WebSocket
WebSocket + TLS8443IRC over WebSocket + TLS

All ports are configurable. Multiple listeners of each type can run simultaneously.