Vzdialené ovládanie počítača cez prehliadač

Asi pred šiestimi mesiacmi som sa rozhodol vytvoriť program na ovládanie počítača cez prehliadač. Začal som s jednoduchým jednosocketovým HTTP serverom, ktorý prenášal obrázky do prehliadača a prijímal súradnice kurzora na ovládanie.

V určitej fáze som si uvedomil, že technológia WebRTC je na tieto účely vhodná. Prehliadač Chrome má takéto riešenie, inštaluje sa cez rozšírenie. Chcel som však vytvoriť ľahký program, ktorý by fungoval bez inštalácie.

Najprv som skúšal použiť knižnicu poskytovanú Googlom, no po kompilácii zaberá 500 MB. Musel som implementovať celý zásobník WebRTC takmer od začiatku a všetko sa mi podarilo vtesnať do 2.5 MB exe súboru. Kamarát pomohol s rozhraním v JS a takto sme skončili.

Spustíme program:

Vzdialené ovládanie počítača cez prehliadač
Otvorte odkaz na karte prehliadača a získajte úplný prístup k pracovnej ploche:

Vzdialené ovládanie počítača cez prehliadač
Krátka animácia procesu nastavenia pripojenia:

Vzdialené ovládanie počítača cez prehliadač
Podporované prehliadačmi Chrome, Firefox, Safari, Opera.

Je možné prenášať zvuk, audio hovor, spravovať schránku, prenášať súbory a klávesové skratky volania.

Pri práci na programe som si musel naštudovať tucet RFC a pochopiť, že na internete nie je dostatok informácií o fungovaní protokolu WebRTC. Chcem napísať článok o technológiách, ktoré sa v ňom používajú, chcel by som zistiť, ktoré z nasledujúcich otázok zaujímajú komunitu:

  • Protokol popisu streamovaných údajov SDP
  • ICE kandidátov a vytvorenie spojenia medzi dvoma bodmi, servermi STUN a TURN
  • DTLS pripojenie a prenos kľúčov do RTP relácie
  • Protokoly RTP a RTСP so šifrovaním na prenos mediálnych údajov
  • Preneste H264, VP8 a Opus cez RTP
  • SCTP pripojenie na prenos binárnych dát

Zdroj: hab.com

Pridať komentár