Skip to main content

Module messages

Module messages 

Source
Expand description

Protocol message types for client-proxy communication.

This module defines the message types used in the three-phase protocol:

§Message Flow

§Phase 1: Authentication

  1. Server → Client: Messages::AuthChallenge - Random challenge for the client to sign
  2. Client → Server: Messages::AuthResponse - Client’s identity and signature

§Phase 2: Rendezvous (Optional)

  1. Client → Server: Messages::GetRendezvous - Request a temporary code
  2. Server → Client: Messages::RendezvousInfo - The generated code (e.g., “ABC-DEF-GHI”)
  3. Client → Server: Messages::GetIdentity - Look up identity by code
  4. Server → Client: Messages::IdentityInfo - The identity associated with the code

§Phase 3: Messaging

  1. Client → Server: Messages::Send - Client sends message (destination + payload only)
  2. Server → Client: Messages::Send - Server forwards with validated source added

All messages are serialized as JSON over WebSocket connections.

Enums§

Messages
Protocol messages exchanged between clients and the proxy server.