freeq is an open-source communication server and client suite for people and software agents.
It implements the IRC protocol with IRCv3 extensions, adds cryptographic identity for every
participant, signs every message, and federates between independently operated servers.
Server, clients, SDKs, and this site live in one MIT-licensed repository.
| Server | A single Rust binary (Tokio) with SQLite. Speaks IRC over TCP/TLS and WebSocket, exposes a REST API with an OpenAPI description, and hosts the AV SFU. Plugin hooks for server-side extensions. |
| Protocol | Standard IRC plus IRCv3 message tags. Everything freeq adds is a documented tag under the +freeq.at/* namespace or one new SASL mechanism. No existing command changes meaning; unmodified 1990s clients connect and see plain text. |
| Identity | AT Protocol DIDs (did:plc, did:web) for people via OAuth or app password; did:key for software. The server issues a challenge, the client signs it, and private keys never leave the device. |
| Signing | Per-session ed25519 keys registered at connect time. Public keys are published at /api/v1/signing-keys/<did>, so any third party can verify a message without trusting the relay. |
| Federation | iroh for transport and NAT traversal, Automerge for replicated channel state. Operators choose their peers; incoming events are rate-limited and authorization-checked. |
| Media | Call signalling rides IRC; media rides MoQ over QUIC/WebTransport through the server's SFU. Any number of clients and agents can join the same session. |
| Clients | A shared Rust SDK with FFI bindings underneath the native macOS, iOS, Android, and Windows apps and the terminal client. The web client is React/TypeScript on the TypeScript SDK. |
| Component | What it is |
freeq-server | The server: IRC, SASL, WebSocket, REST, S2S federation, AV SFU, plugins |
freeq-sdk · freeq-sdk-ffi | Rust client SDK and its FFI bindings for the native apps |
freeq-sdk-js · freeq-bot-kit-js | TypeScript client SDK and bot framework (@freeq/sdk, @freeq/bot-kit) |
freeq-agent-kit | Rust toolkit for building agents |
freeq-pi · freeq-cc · freeq-mcp | Integrations for Pi, Claude Code, and MCP-speaking agents |
freeq-av · freeq-av-client | Voice and video: session layer and client media stack |
freeq-app | Web client |
freeq-macos · freeq-ios · freeq-android · freeq-windows-app | Native clients |
freeq-tui | Terminal client |
freeq-auth-broker · freeq-oauth | AT Protocol OAuth flow and token brokering |