mirror of
https://github.com/simplex-chat/simplexmq.git
synced 2026-09-16 19:13:31 +00:00
* docs: update protocol specifications * update SMP protocol (WIP) * add proxy protocol commands and responses, amend envelope sizes in SMP protocol * docs: update XFTP protocol (#1205) * docs: update XFTP protocol * commands * fix table of contents, move sections * add about ids * download encryption * qualities * diagram * crypto * sending file diagram * fix svg * receiving file diagram * update commands * update handshake * Add updated XRCP (#1207) * add XRCP protocol * add ToC * update * update --------- Co-authored-by: Evgeny Poberezkin <2769109+epoberezkin@users.noreply.github.com> * add XFTP handshake description * update agent protocol * fast duplex connection in agent protocol * update agent protocol * update overview * typos * queue rotation, agent API, updates * push notifications specification * add XRCP threat model * XFTP threat model * update PQDR * agent protocol end-to-end encryption * versions * remove TOC details * update --------- Co-authored-by: spaced4ndy <8711996+spaced4ndy@users.noreply.github.com> Co-authored-by: Alexander Bondarenko <486682+dpwiz@users.noreply.github.com>
39 lines
1.0 KiB
Plaintext
39 lines
1.0 KiB
Plaintext
sequenceDiagram
|
|
participant C as client app
|
|
participant A as agent
|
|
participant S as SMP server
|
|
participant N as NTF server
|
|
participant APN as APN
|
|
|
|
note over C, APN: register subscription
|
|
|
|
alt register existing
|
|
C -->> A: registerToken
|
|
else create new connection
|
|
A -->> S: create/joinConnection
|
|
note over A, S: ...<br>Connection handshake<br>...
|
|
S -->> A: CON
|
|
end
|
|
A ->> S: NKEY nKey
|
|
S ->> A: NID nId
|
|
A ->> N: SNEW tknId dhKey (smpServer, nId, nKey)
|
|
N ->> A: ID subId dhKey
|
|
N ->> S: NSUB nId
|
|
S ->> N: OK / NMSG:<br>confirm subscription
|
|
|
|
note over C, APN: notify about message
|
|
|
|
S ->> N: NMSG
|
|
N ->> APN: APNSMutableContent<br>ntfQueue, nonce
|
|
APN ->> C: UNMutableNotificationContent
|
|
note over C, S: ...<br>Client awaken, message is received<br>...
|
|
S ->> C: message
|
|
note over C: show notification
|
|
|
|
note over C, APN: change APN token
|
|
|
|
APN ->> C: new device token
|
|
C -->> A: updateToken()
|
|
A -->> N: TUPD tknId newDeviceToken
|
|
note over C, N: ...<br>Verify token<br>...
|