Дистанционно управление на компютър чрез браузър

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

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

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

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

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

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

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

Възможно е прехвърляне на звук, аудио повикване, управление на клипборда, прехвърляне на файлове и клавишни комбинации за повикване.

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

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

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

Добавяне на нов коментар