Vzdálené ovládání počítače přes prohlížeč

Asi před šesti měsíci jsem se rozhodl vytvořit program pro ovládání počítače přes prohlížeč. Začal jsem s jednoduchým jednosocketovým HTTP serverem, který přenášel obrázky do prohlížeče a přijímal souřadnice kurzoru pro ovládání.

V určité fázi jsem si uvědomil, že technologie WebRTC je pro tyto účely velmi vhodná. Prohlížeč Chrome má takové řešení, instaluje se přes rozšíření. Ale chtěl jsem vytvořit odlehčený program, který by fungoval bez instalace.

Nejprve jsem zkoušel použít knihovnu poskytovanou Googlem, ale po kompilaci zabírá 500 MB. Musel jsem implementovat celý zásobník WebRTC téměř od nuly a podařilo se mi vše vměstnat do 2.5 MB exe souboru. Kamarád pomohl s rozhraním v JS a tím jsme skončili.

Spustíme program:

Vzdálené ovládání počítače přes prohlížeč
Otevřete odkaz na kartě prohlížeče a získejte úplný přístup k ploše:

Vzdálené ovládání počítače přes prohlížeč
Krátká animace procesu nastavení připojení:

Vzdálené ovládání počítače přes prohlížeč
Podporováno Chrome, Firefox, Safari, Opera.

Je možné přenášet zvuk, zvuková volání, spravovat schránku, přenášet soubory a volat horké klávesy.

Při práci na programu jsem musel nastudovat tucet RFC a pochopit, že na internetu není dostatek informací o fungování protokolu WebRTC. Chci napsat článek o technologiích, které se v něm používají, rád bych zjistil, které z následujících otázek zajímají komunitu:

  • Protokol popisu streamovaných dat SDP
  • Kandidáti ICE a navázání spojení mezi dvěma body, servery STUN a TURN
  • DTLS připojení a přenos klíčů do RTP relace
  • Protokoly RTP a RTСP se šifrováním pro přenos mediálních dat
  • Přeneste H264, VP8 a Opus přes RTP
  • Připojení SCTP pro přenos binárních dat

Zdroj: www.habr.com

Přidat komentář