Ovládanie počítača na diaľku cez prehliadač

Približne pred pol rokom som sa rozhodol vyvinúť program na ovládanie počítača cez prehliadač. Začal som s jednoduchým jednosocketovým HTTP serverom, ktorý posielal obrázky do prehliadača a prijímal súradnice kurzora na ovládanie.

Na určitej fáze som si uvedomil, že na tieto účely dobre vyhovuje technológia WebRTC. Takéto riešenie má prehliadač Chrome, inštaluje sa cez rozšírenie. Ale chcel som vytvoriť ľahký program, ktorý bude fungovať bez inštalácie.

Najprv som sa pokúsil použiť knižnicu, ktorú poskytuje Google, ale po kompilácii zaberala 500 MB. Musel som realizovať celý WebRTC stack takmer od nuly, podarilo sa mi všetko zmestiť do exe súboru s veľkosťou 2,5 MB. Môj kamoš pomohol s rozhraním na JS, tu je to, čo nakoniec vzniklo.

Spúšťame program:

Ovládanie počítača na diaľku cez prehliadač
Otvoríme odkaz na karte prehliadača a získame plný prístup k pracovnej ploche:

Ovládanie počítača na diaľku cez prehliadač
Malá animácia procesu nadväzovania spojenia:

Ovládanie počítača na diaľku cez prehliadač
Podporuje sa Chrome, Firefox, Safari, Opera.

Existuje možnosť prenosu zvuku, audio hovoru, ovládania schránky, prenosu súborov a vyvolávania klávesových skratiek.

Pri práci na programe som musel študovať desiatky RFC a pochopiť, že na internete nie je dostatok informácií o fungovaní WebRTC protokolu. Chcem napísať článok o technológiách, ktoré sa v ňom používajú, a rád by som vedel, aké otázky z uvedených zaujímajú komunitu:

  • SDP protokol na popis prúdových dát
  • ICE kandidáti a nadväzovanie spojenia medzi dvoma bodmi, STUN a TURN servera
  • DTLS spojenie a prenos kľúčov do RTP relácie
  • RTP a RTCP protokoly s šifrovaním na prenos mediálnych dát
  • Prenos H264, VP8 a Opus cez RTP
  • SCTP spojenie na prenos binárnych dát

Zdroj: habr.com

Kúpte si spoľahlivý hosting pre webové stránky s ochranou proti DDoS, VPS VDS servery 🔥 Kúpte si spoľahlivý hosting pre webové stránky s ochranou proti DDoS, VPS VDS servery | ProHoster