Control de la distanță al computerului prin browser

Aproape cu șase luni în urmă m-am gândit să creez un program pentru a controla computerul prin intermediul browserului. Am început cu un simplu server HTTP cu un singur socket, care transmitea imagini în browser și primea coordonatele cursorului pentru control.

La un moment dat, am realizat că tehnologia WebRTC este foarte potrivită pentru aceste scopuri. O astfel de soluție există în browserul Chrome, fiind disponibilă printr-o extensie. Dar mi-am dorit să fac un program ușor, care să funcționeze fără instalare.

Inițial, am încercat să folosesc biblioteca oferită de Google, dar după compilare ocupa 500MB. A fost necesar să implementez întregul stack WebRTC aproape de la zero, reușind să încadrez totul într-un fișier exe de 2.5MB. Un prieten m-a ajutat cu interfața în JS, iată ce a rezultat.

Pornim programul:

Control de la distanță al computerului prin browser
Deschidem linkul într-o filă de browser și obținem acces complet la desktop:

Control de la distanță al computerului prin browser
O mică animație a procesului de stabilire a conexiunii:

Control de la distanță al computerului prin browser
Este suportat Chrome, Firefox, Safari, Opera.

Există posibilitatea de a transmite sunet, apeluri audio, de a gestiona clipboard-ul, de a transfera fișiere și de a apela taste rapide.

În timpul lucrului la program a trebuit să studiez vreo zece RFC-uri și să înțeleg că pe internet nu există suficiente informații despre funcționarea protocolului WebRTC. Vreau să scriu un articol despre tehnologiile folosite în el și aș dori să aflu ce întrebări din cele enumerate mai jos interesează comunitatea:

  • Protocolul SDP pentru descrierea fluxurilor media
  • Candidații ICE și stabilirea conexiunii între două puncte, STUN și TURN server
  • Conexiunea DTLS și transmiterea cheilor în sesiunea RTP
  • Protocolele RTP și RTCP cu criptare pentru transmiterea datelor media
  • Transmiterea H264, VP8 și Opus prin RTP
  • Conexiunea SCTP pentru transmiterea datelor binare

Sursa: habr.com

Cumpără un hosting fiabil pentru site-uri cu protecție DDoS, servere VPS VDS 🔥 Cumpără un hosting fiabil pentru site-uri cu protecție DDoS, servere VPS VDS | ProHoster