Op afstand de computer bedienen via de browser

Ongeveer zes maanden geleden had ik het idee om een programma te maken voor het besturen van een computer via de browser. Ik begon met een eenvoudige enkele-socket HTTP-server die afbeeldingen naar de browser verzond en de cursorcoƶrdinaten ontving voor besturing.

Op een bepaald moment realiseerde ik me dat de WebRTC-technologie goed geschikt was voor deze doeleinden. Een dergelijke oplossing is beschikbaar in de Chrome-browser, het wordt geĆÆnstalleerd via een extensie. Maar ik wilde een lichtgewicht programma maken dat zonder installatie zou werken.

Eerst probeerde ik de bibliotheek te gebruiken die Google aanbiedt, maar na compilatie neemt deze 500MB in beslag. Ik moest de hele WebRTC-stack bijna helemaal opnieuw implementeren, en het is me gelukt om alles in een exe-bestand van 2,5MB te stoppen. Een vriend hielp met de interface in JS, dit is wat het uiteindelijk geworden is.

Laten we het programma starten:

Op afstand de computer bedienen via de browser
Open de link in een tabblad van de browser en krijg volledige toegang tot het bureau:

Op afstand de computer bedienen via de browser
Een kleine animatie van het installatieproces van de verbinding:

Op afstand de computer bedienen via de browser
Ondersteuning voor Chrome, Firefox, Safari, Opera.

Er is de mogelijkheid om geluid over te dragen, audio-oproepen te maken, het klembord te beheren, bestanden over te dragen en sneltoetsen in te roepen.

Tijdens het werken aan het programma moest ik tientallen RFC's bestuderen en begrijpen dat er op internet niet genoeg informatie is over de werking van het WebRTC-protocol. Ik wil een artikel schrijven over de technologieƫn die hierin worden gebruikt en wil weten welke vragen uit onderstaande lijst de gemeenschap interesseren:

  • SDP-protocol voor het beschrijven van gegevensstromen
  • ICE-kandidaten en het tot stand brengen van verbinding tussen twee punten, STUN en TURN de server
  • DTLS-verbinding en sleuteloverdracht in de RTP-sessie
  • RTP- en RTCP-protocols met encryptie voor het verzenden van media-gegevens
  • Overdracht van H264, VP8 en Opus via RTP
  • SCTP-verbinding voor de overdracht van binaire gegevens

Bron: habr.com

Koop betrouwbare webhosting met bescherming tegen DDoS, VPS VDS servers šŸ”„ Koop betrouwbare webhosting met bescherming tegen DDoS, VPS VDS servers | ProHoster