Controllo remoto del computer tramite browser

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

In una certa fase mi sono reso conto che la tecnologia WebRTC si adattava bene a queste esigenze. Questa soluzione è presente nel browser Chrome e si installa tramite un'estensione. Volevo però realizzare un programma leggero che funzionasse senza installazione.

Inizialmente ho provato a utilizzare la libreria fornita da Google, ma dopo la compilazione occupava 500 MB. Ho dovuto implementare quasi tutto lo stack WebRTC da zero, riuscendo a racchiudere tutto in un file exe di 2,5 MB. 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 piccola animazione del processo di connessione:

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

È possibile trasmettere l'audio, effettuare chiamate audio, gestire il copia e incolla, trasferire file e richiamare scorciatoie da tastiera.

Durante il lavoro sul programma, ho dovuto esaminare una dozzina di RFC e capire che online non ci sono sufficienti informazioni sul funzionamento del protocollo WebRTC. Vorrei scrivere un articolo sulle tecnologie che utilizza e sono curioso di sapere quali delle seguenti domande interessano la comunità:

  • Protocollo SDP per la descrizione dei flussi di dati
  • Candidate ICE e installazione della connessione tra due punti, STUN e TURN server
  • Connessione DTLS e trasmissione delle chiavi nella sessione RTP
  • Protocollo RTP e RTCP con crittografia per la trasmissione di dati multimediali
  • Trasmissione di H264, VP8 e Opus su 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