Controllo remoto del computer tramite browser

Circa sei mesi fa, ho pensato di creare un programma per controllare il computer tramite browser. Ho iniziato con un semplice server HTTP a singolo socket, che trasmetteva immagini nel browser e riceveva le coordinate del cursore per il controllo.

A un certo punto ho capito che per questi scopi era adatta la tecnologia WebRTC. Questa soluzione è presente nel browser Chrome, e si installa tramite un'estensione. Ma volevo realizzare un programma leggero che funzionasse senza installazioni.

Inizialmente ho provato a utilizzare la libreria fornita da Google, ma dopo la compilazione occupava 500MB. Ho dovuto implementare quasi da zero l'intero stack WebRTC, riuscendo a racchiudere tutto in un file exe di 2.5MB. Un amico mi ha aiutato con l'interfaccia in JS, ecco cosa è venuto fuori.

Avviamo il programma:

Controllo remoto del computer tramite browser
Apriamo il link in una scheda del browser e otteniamo accesso completo al desktop:

Controllo remoto del computer tramite browser
Una breve animazione del processo di connessione:

Controllo remoto del computer tramite browser
Supporta Chrome, Firefox, Safari, Opera.

C'è la possibilità di trasmettere audio, videochiamate, gestire il clipboard, trasferire file e invocare tasti di scelta rapida.

Durante lo sviluppo del programma ho dovuto studiare una decina di RFC e rendermi conto che non c'è abbastanza informazione su come funziona il protocollo WebRTC. Vorrei scrivere un articolo sulle tecnologie utilizzate, e mi piacerebbe sapere quali domande della lista qui sotto interessano alla comunità:

  • Protocollo SDP per la descrizione dei flussi dati
  • Candidati ICE e stabilizzazione della connessione tra due punti, STUN e TURN server
  • Connessione DTLS e trasmissione delle chiavi nella sessione RTP
  • Protocolli RTP e RTCP con crittografia per la trasmissione di dati multimediali
  • Trasmissione di H264, VP8 e Opus via RTP
  • Connessione SCTP per la trasmissione di dati binari

Fonte: habr.com

Acquista hosting affidabile per siti web con protezione DDoS, VPS VDS server 🔥 Acquista hosting affidabile per siti web con protezione DDoS, VPS VDS server | ProHoster