Skip to content

v1.0.0 — one app, every network, every door

Choose a tag to compare

@richer-richard richer-richard released this 02 Jun 00:33
· 76 commits to main since this release
v1.0.0
2da0f49

One app, every network, every door. huddle stops being "relay-only OR libp2p-only" and becomes a single end-to-end-encrypted core with both carriers on by default, a durable contact book, and a menu of anti-censorship transports onto the relay.

Highlights

  • LAN + relay on by default — no mode switch. Startup runs libp2p mDNS (LAN) alongside the relay. The Settings LAN toggle picks mDNS vs direct on next launch; --mode still overrides. LAN works even with Tor down.
  • Contacts — a durable, fingerprint-keyed address book. A new contacts table keyed by the stable identity (not an ephemeral multiaddr) lets two people keep chatting after they leave the LAN — the relay routes by fingerprint/room. The People pane is now Contacts.
  • "Add by HD-ID" works over the internet. Each client subscribes to a private relay inbox (inbox:<hash(fingerprint)> — the relay never sees the raw fingerprint and stores no contact graph). Requests show up in Contacts → Requests. No huddle-server change required.
  • DMs persist across restarts. DMs re-activate automatically at startup (key derives from your identity + the partner's stored pubkey), so a conversation keeps flowing.
  • Transport "doors" onto the relay (anti-censorship). huddle transports lists every door: onion via system Tor (default), onion via private obfs4/WebTunnel bridge, onion via in-process Arti (--features arti), and clearnet wss:///ws:// to a raw IP. Fallback order (most private first) or pinned via --transport.
  • Per-chat transport indicator. Every DM/group header shows whether it's reaching peers via lan, via relay, or is offline.
  • Clearnet relay needs no domain. A raw-IP ws://<ip>:<port>/ws relay works with zero extra setup; wss:// adds TLS via a real cert.

Install

From crates.io (Rust 1.75+):

cargo install huddle          # terminal client
cargo install huddle-gui      # native desktop GUI (egui/eframe)
cargo install huddle-server   # relay + offline mailbox

Or build from source:

git clone https://github.com/richer-richard/huddle
cd huddle
cargo build --release
./target/release/huddle

Crates

All published at 1.0.0 on crates.io: huddle, huddle-gui, huddle-server, and the huddle-core library (protocol, networking, crypto, storage).