Fernsteuerung des Computers über den Browser

Vor etwa einem halben Jahr hatte ich die Idee, ein Programm zur Steuerung eines Computers über den Browser zu entwickeln. Ich begann mit einem einfachen einseitigen HTTP-Server, der Bilder an den Browser übertrug und die Mauszeigerkoordinaten für die Steuerung empfang.

In einem bestimmten Stadium erkannte ich, dass die WebRTC-Technologie gut für diese Zwecke geeignet ist. Eine solche Lösung wird im Chrome-Browser über eine Erweiterung bereitgestellt. Ich wollte jedoch ein leichtgewichtiges Programm erstellen, das ohne Installation funktioniert.

Zuerst versuchte ich, die von Google bereitgestellte Bibliothek zu verwenden, doch nach der Kompilierung benötigte sie 500 MB. Ich musste den gesamten WebRTC-Stack fast von Grund auf neu implementieren und konnte alles in eine exe-Datei von 2,5 MB packen. Ein Freund half mir mit der Benutzeroberfläche in JS, und so ist das Ergebnis geworden.

Wir starten das Programm:

Fernsteuerung des Computers über den Browser
Wir öffnen den Link in einem Browser-Tab und erhalten vollen Zugriff auf den Desktop:

Fernsteuerung des Computers über den Browser
Eine kleine Animation des Verbindungsaufbaus:

Fernsteuerung des Computers über den Browser
Unterstützt werden Chrome, Firefox, Safari, Opera.

Es gibt die Möglichkeit, Audio zu übertragen, Audioanrufe durchzuführen, die Zwischenablage zu steuern, Dateien zu übertragen und Tastenkombinationen aufzurufen.

Während der Arbeit an diesem Programm musste ich etwa ein Dutzend RFCs studieren und feststellen, dass es im Internet nicht genügend Informationen über den WebRTC-Protokollbetrieb gibt. Ich möchte einen Artikel über die Technologien schreiben, die darin verwendet werden, und ich würde gerne wissen, welche der folgenden Fragen die Community interessieren:

  • SDP Protokoll zur Beschreibung von Streaming-Daten
  • ICE-Kandidaten und die Verbindung zwischen zwei Punkten, STUN und TURN Server
  • DTLS-Verbindung und Schlüsselübertragung in RTP-Sitzungen
  • RTP und RTCP-Protokolle mit Verschlüsselung zur Übertragung von Mediendaten
  • Übertragung von H264, VP8 und Opus über RTP
  • SCTP-Verbindung zur Übertragung binärer Daten

Quelle: habr.com

Kaufen Sie zuverlässiges Hosting für Websites mit DDoS-Schutz, VPS VDS-Server 🔥 Kaufen Sie zuverlässiges Hosting für Websites mit DDoS-Schutz, VPS VDS-Server | ProHoster