Протокол¶
WebSocket кадры (MVP)¶
// client -> server
{ "type":"send", "to":"<user>", "message_id":"<uuid>", "header_b64":"...", "nonce_b64":"...", "cipher_b64":"..." }
{ "type":"ack", "message_id":"<uuid>", "ack_pubkey_b64":"...", "ack_sig_b64":"..." }
{ "type":"ping" }
// server -> client
{ "type":"deliver", "to":"<user>", "message_id":"<uuid>", "header_b64":"...", "nonce_b64":"...", "cipher_b64":"..." }
{ "type":"pong" }
ack_pubkey_b64/ack_sig_b64
— необязательные поля. Если включеноREQUIRE_ACK_SIGNATURE=true
, сервер проверяетEd25519.Verify(pub, "ack:"+uuid, sig)
.
HTTP Mailbox¶
Эндпоинты: /node/put
, /node/get
, /node/ack
. См. подробности в разделе «Узлы‑почтовики».