Skip to main content

Module server

Module server 

Source
Expand description

Client connector to the centralized huddle-server.

huddle’s primary transport is libp2p (mDNS on the LAN, gossipsub across direct/relayed connections). This module adds a second path: a WebSocket to a single canonical server that the operator hosts. The server is reachable only as a Tor v3 onion, so .onion URLs are dialed through Tor’s local SOCKS5 proxy; plain ws://host:port URLs (used in tests) are dialed directly.

The server is a dumb ciphertext mover: we hand it the same opaque huddle wire bytes we would have published on a gossipsub topic, tagged with the cleartext room id, base64-encoded. It fans them out to the room’s other members and queues them for offline ones. All encryption/authentication stays in the layers above — this module never inspects the payload.

Structs§

ServerClient
A live connection to the server. Cloneable handle; cloning shares the same underlying socket.

Enums§

ServerEvent
What the connector surfaces to the rest of huddle-core. The caller drives these into the same path that handles a received gossipsub message (decode → decrypt → AppEvent).