Skip to content
Production IRC
step 1/5

Reading — step 1 of 5

Read

~1 min readModern IRC

Production IRC

Operating an IRC network:

Software stack:

  • Ergo (modern, Go, single-binary, includes services).
  • InspIRCd + Anope/Atheme services.
  • Solanum (used by Libera.Chat, Charybdis fork).
  • UnrealIRCd (feature-heavy, common for small networks).

Services:

  • NickServ: account management.
  • ChanServ: channel registration + ACLs.
  • MemoServ: offline messages.
  • HostServ: vhosts (cloak hostnames).
  • BotServ: per-channel bots.
  • OperServ: operator tools.

Anti-abuse:

  • Connection throttling (max connections per IP, max nick changes).
  • SASL required for trusted networks (no anonymous connections).
  • Cloaks: hide user's real hostname (privacy + ban evasion mitigation).
  • CAPTCHA-style verification on suspicious connections.

Federation:

  • Inter-server links via SSL.
  • Configured manually (servers know peers).
  • Auth via shared password or TLS cert.
  • Topology: tree (no loops). Loops = duplicate messages.

Monitoring:

  • Connection counts.
  • Channel counts.
  • Lag per server-pair.
  • Spam attack detection (automated KLINEs).

Privacy:

  • Cloaks for users (hide IP).
  • TLS for client connections.
  • No persistent message storage by default.
  • Server logs (if enabled): audit trail; avoid logging private content.

Migration:

  • Modern networks bridge to Matrix for persistent + mobile.
  • Discord/Slack siphon casual users.
  • IRC remains for OSS, technical communities.

Alternatives to building IRC from scratch:

  • Matrix (Synapse, Dendrite, Conduit).
  • XMPP (Prosody, ejabberd).
  • Mattermost / Rocket.Chat (self-hosted Slack).
  • Zulip (threaded chat for teams).

When IRC fits:

  • Lightweight infrastructure.
  • Open, federated.
  • Bot-friendly.
  • Existing community on IRC.

When it doesn't:

  • Mobile-first.
  • Rich content (images, embeds).
  • Persistent history natively.
  • Compliance / audit needs.

Discussion

Ask a question, share an insight, or help someone who’s stuck.

Sign in to post a comment or reply.

Loading…