Primo commit - Prompt 02 — WebSocket endpoints /agent e /client + parsing robusto
This commit is contained in:
107
roadmap.txt
Normal file
107
roadmap.txt
Normal file
@@ -0,0 +1,107 @@
|
||||
Fase 1 — Signaling minimal (MVP control-plane)
|
||||
|
||||
Obiettivo: vedere agent online e fare “connect_request/accept”.
|
||||
|
||||
Server
|
||||
|
||||
WebSocket endpoints: /agent e /client
|
||||
|
||||
Registry device in memoria + persist (DB)
|
||||
|
||||
Auth semplice:
|
||||
|
||||
client login (username/pwd hash)
|
||||
|
||||
agent pairing con pairCode (inizialmente manuale)
|
||||
|
||||
Android
|
||||
|
||||
Connessione WS + heartbeat
|
||||
|
||||
DeviceId stabile
|
||||
|
||||
Ricezione connect_request → mostra notifica → accept/deny
|
||||
|
||||
Windows
|
||||
|
||||
Login + lista device + “richiedi connessione”
|
||||
|
||||
Deliverable: flusso completo “richiesta/accetta” senza WebRTC ancora.
|
||||
|
||||
Fase 2 — WebRTC video solo (prima connessione reale)
|
||||
|
||||
Obiettivo: stream schermo tablet → viewer su Windows.
|
||||
|
||||
Android
|
||||
|
||||
MediaProjection → encoder → WebRTC VideoTrack
|
||||
|
||||
ICE config: STUN+TURN
|
||||
|
||||
Start/Stop session
|
||||
|
||||
Windows
|
||||
|
||||
WebRTC receiver + render (Electron: <video> e basta)
|
||||
|
||||
Gestione resize + aspect
|
||||
|
||||
Deliverable: vedere lo schermo in tempo reale.
|
||||
|
||||
Fase 3 — Input base (tap, swipe, back/home)
|
||||
|
||||
Obiettivo: controllo reale.
|
||||
|
||||
Windows
|
||||
|
||||
Cattura mouse/keyboard
|
||||
|
||||
Coordinate mapping (considera rotazione e scaling)
|
||||
|
||||
Invio su DataChannel
|
||||
|
||||
Android
|
||||
|
||||
Parser input
|
||||
|
||||
dispatchGesture() per tap/swipe
|
||||
|
||||
performGlobalAction() per back/home/recents
|
||||
|
||||
Rate limit / validation (anti spam)
|
||||
|
||||
Deliverable: posso aprire app, cliccare bottoni, scorrere.
|
||||
|
||||
Fase 4 — Robustezza rete + osservabilità
|
||||
|
||||
Fallback TURN automatico (già in ICE, ma monitora)
|
||||
|
||||
Retry WS, reconnect, session resume
|
||||
|
||||
Metriche:
|
||||
|
||||
% TURN vs P2P
|
||||
|
||||
bitrate, fps, packet loss
|
||||
|
||||
tempi handshake
|
||||
|
||||
Log sessioni (audit)
|
||||
|
||||
Deliverable: sistema che regge ambienti reali.
|
||||
|
||||
Fase 5 — Sicurezza “production grade”
|
||||
|
||||
Pairing serio:
|
||||
|
||||
QR o codice one-time
|
||||
|
||||
device associato a account
|
||||
|
||||
Token short-lived (access) + refresh
|
||||
|
||||
Ruoli (admin/operatore)
|
||||
|
||||
“Allowlist controller” per device (opzionale)
|
||||
|
||||
Deliverable: pronto per distribuzione controllata.
|
||||
Reference in New Issue
Block a user