Repartee
Built with Rust + Ratatui
No tmux/screen needed

A modern terminal IRC client built in Rust

Built by a 20+ year IRC veteran who lived in irssi and WeeChat. Fast, keyboard-driven, fully themeable with 24-bit color. Detach and reattach sessions without tmux or screen. Inline image previews right in your terminal. Built-in web frontend with real-time 1:1 sync — same session, same buffers, from any browser. Lua scripting, encrypted logging, IRCv3, and DCC chat. Terminal-first, zero-compromise.

47K
SLoC
865
Tests
~24MB
All-in-One Binary
IRCv3
Full Support
Protocol

RPE2E v1: native E2E for repartee, with companion scripts for WeeChat and irssi/erssi

RPE2E is Repartee End-to-End: a compact IRC-oriented protocol that adds end-to-end encryption for channels and private messages without changing the transport. repartee ships the native implementation, and matching scripts are available for WeeChat and irssi-compatible clients including erssi. erssi project.

Technical spec, not just a user guide

The protocol page documents wire identifiers, CTCP handshake frames, chunk format, AAD layout, replay window, trust model, and current v1 security tradeoffs directly from the implementation.

Cross-client interop

The same RPE2E v1 wire format is implemented in repartee plus companion scripts for WeeChat and irssi/erssi, so encrypted conversations can work across clients.

Scripts and requirements

The protocol page also links to the official scripts tree and lists what is required to run the Python and Perl clients correctly.

Built with modern tools

A robust foundation for a reliable client

RustMemory-safe, zero-cost abstractions
RatatuiTerminal UI framework
TokioAsync runtime
AxumWeb server
LeptosWASM web UI
SQLitePersistent storage
Lua 5.4Scripting engine
HunspellSpell checking

Everything you need, nothing you don't

Terminal-first, zero-compromise. No Electron, no heavy runtime. The TUI is the primary interface.

Full IRC Protocol

Channels, queries, CTCP, SASL, TLS, channel modes, ban lists — the complete IRC experience.

irssi-style Navigation

Esc+1–9 window switching, /commands, aliases. If you know irssi, you already know repartee.

Web Frontend

Built-in HTTPS web UI with mobile support. Real-time bidirectional sync with the terminal.

Lua Scripting

Lua 5.4 scripts with an event bus, custom commands, and full IRC/state access.

Encrypted Logging

SQLite with optional AES-256-GCM encryption and FTS5 full-text search across all logs.

24-bit Theming

irssi-compatible format strings with true color support. Custom abstracts and color schemes.

Spell Checking

Multilingual inline checking with Hunspell dictionaries and a 7,400-word IT dictionary.

IRCv3 Capabilities

server-time, echo-message, away-notify, account tags, BATCH, SASL SCRAM-SHA-256, and more.

DCC CHAT

Direct client-to-client messaging with active and passive connections, auto-accept masks.

Embedded Shell

Full PTY terminal inside Repartee — run vim, btop, or any command without leaving the client.

Netsplit Detection

Batches join/part floods into single events so your scrollback stays readable.

Flood Protection

Blocks CTCP spam and nick-change floods from botnets automatically.

Image Preview

Inline image preview with sixel and kitty graphics protocols support.

Detach & Reattach

Detach from your terminal and reattach later — IRC connections stay alive. Like tmux, built in.

Extended Bans

WHOX account tracking and extban support — ban by account name with /ban -a.

Single Binary

Compiles to a ~24MB standalone executable with WASM web frontend bundled.

Quick Install

Get up and running in seconds. No build steps, no configuration required.

Install from crates.io

cargo install repartee

Then just run:

$repartee
$/server add libera irc.libera.chat:6697 --tls
$/connect libera

Config stored at ~/.repartee/config.toml