@startuml participant clientA order 10 participant hbbs order 30 participant remoteB order 30 autonumber skinparam sequenceMessageAlign center group Register remoteB -> hbbs: Register with hbbs. hbbs -> hbbs: Save peer info. note right ID, Address, UUID, PK(Public Key) end note hbbs -> remoteB: Register response. clientA -> hbbs: Register with hbbs. hbbs -> hbbs: Save peer info. hbbs -> clientA: Register response. end group Try to connect clientA -> hbbs: Request to establish connection \n with RemoteID by punching hole. hbbs -> remoteB: Request remote addr. remoteB -> hbbs: Return remote addr. note right Remote Addr, Relay Server end note hbbs -> clientA: Return remote info. note right Remote Addr, Remote PK end note end group Establish a secure connection by key exchange remoteB -> clientA: Temporary PK(B' TPK) encrypted with B' SK. clientA -> clientA: Decrypt to get B' TPK. \nGenerate new key pair and symmetirc key . clientA -> remoteB: sealed symmetirc key, A' TPK. remoteB -> remoteB: Decrypt to get symmetirc key \nby using A' TPK and B'TSK. end group Encryped communication by using symmetirc key clientA -> remoteB: Control data note right Keyboard, Mouse end note remoteB -> clientA: Audio frame, vidio frame, clipboard end newpage @enduml
Decode URL
Submit
amiga
aws-orange
black-knight
bluegray
blueprint
cerulean-outline
cerulean
crt-amber
crt-green
cyborg-outline
cyborg
hacker
lightgray
mars
materia-outline
materia
metal
mimeograph
minty
plain
reddress-darkblue
reddress-darkgreen
reddress-darkorange
reddress-darkred
reddress-lightblue
reddress-lightgreen
reddress-lightorange
reddress-lightred
sandstone
silver
sketchy-outline
sketchy
spacelab
spacelab-white
superhero-outline
superhero
toy
united
vibrant
🎉 Discover the future PlantUML Web Editor! 🚀
PNG
SVG
ASCII Art