Skip to content
History & Bouncers
step 1/5

Reading — step 1 of 5

Read

~1 min readServer Architecture

History & Bouncers

IRC has no native message history. Connect, miss messages while offline.

Bouncers (BNCs):

  • A persistent connection to IRC, on YOUR behalf.
  • Stays connected; buffers messages while you're disconnected.
  • You connect to the BNC; it relays your buffered messages.
  • Examples: ZNC, soju, gamja, weechat-relay.
You ←→ Phone IRC client ←┐
                          ├→ ZNC ←→ Libera.Chat
You ←→ Desktop client    ←┘

ZNC features:

  • Persistent connection per network.
  • Per-user accounts.
  • Modules: chat history, log search, password storage.
  • Web admin interface.

IRCv3 message history:

  • chathistory capability (newer): client requests history range from server.
  • Servers like Ergo and soju implement.
  • Backed by SQLite or external store.
  • Client sends CHATHISTORY LATEST #channel timestamp=2024-01-01T00:00:00Z 50 → 50 messages.

External archives:

  • Bots that log channels (logbot).
  • Indexed via Elasticsearch / SQLite.
  • Searchable web archives (e.g. logs.libera.chat).

Matrix bridges:

  • Matrix (homeserver) ↔ IRC (network).
  • Matrix has message history natively.
  • Bridge translates messages bidirectionally.
  • Many open-source projects use Matrix as primary, IRC as legacy access.

Mobile / async:

  • Old IRC was bound to "always-on" expectation.
  • Modern apps (Quassel, IRCCloud) embraced bouncer-style — server-side state, mobile clients pull current view.
  • IRCCloud is a SaaS bouncer.

Tab completion + UX:

  • Modern clients auto-complete nicks, channel names.
  • Highlight on mention.
  • Per-channel notification settings.

Clients:

  • HexChat (cross-platform GUI).
  • WeeChat (TUI).
  • irssi (TUI, mature).
  • Quassel (split client+core, bouncer-included).
  • IRCCloud (web/mobile, paid).
  • Konversation, mIRC (legacy).

For most users today: Matrix is what IRC would have evolved to.

Discussion

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

Sign in to post a comment or reply.

Loading…