Отдалечено управление на компютър през браузър

Преди около половин година реших да направя програма за управление на компютър чрез браузер. Започнах с прост еднопортов HTTP сървър, който предаваше изображения в браузера и получаваше координатите на курсора за управление.

На определен етап осъзнах, че за тези цели много добре подхожда технологията WebRTC. Такова решение има в браузера Chrome, то се инсталира чрез разширение. Но исках да направя лека програма, която да работи без инсталация.

Първо опитах да използвам библиотеката, предоставена от Google, но след компилация тя заема 500MB. Прибягнах до реализирането на целия WebRTC стек почти от нуля, успях да вместя всичко в exe файл с размер 2.5MB. Един приятел ми помогна с интерфейса на JS, ето какво се получи накрая.

Стартираме програмата:

Отдалечено управление на компютър през браузър
Отваряме връзката в раздела на браузера и получаваме пълен достъп до работния плот:

Отдалечено управление на компютър през браузър
Невалидна анимация на процеса на установяване на връзка:

Отдалечено управление на компютър през браузър
Поддържат се Chrome, Firefox, Safari, Opera.

Има възможност за предаване на звук, аудиообаждане, управление на буфера за обмен, предаване на файлове и извикване на горещи клавиши.

По време на работа над програмата трябваше да проуча десетина RFC и да разбера, че в интернет няма достатъчно информация за работата на протокола WebRTC. Искам да напиша статия за технологиите, които се използват в него, и искам да разбера кои въпроси от изброените по-долу интересуват обществото:

  • SDP протокол за описание на поточни данни
  • ICE кандидати и установяване на връзка между две точки, STUN и TURN сървър
  • DTLS връзка и предаване на ключове в RTP сесия
  • RTP и RTCP протоколи със шифроване за предаване на медийни данни
  • Предаване на H264, VP8 и Opus по RTP
  • SCTP връзка за предаване на бинарни данни

Източник: habr.com

Купете надежден хостинг за сайтове със защита от DDoS, VPS и VDS сървъри 🔥 Купете надежден хостинг за сайтове със защита от DDoS, VPS и VDS сървъри | ProHoster