Возможность потоковой передачи рабочего стола в веб-приложении с помощью webrtc - PullRequest
0 голосов
/ 10 января 2019

Можно ли передавать информацию рабочего стола с помощью webrtc в веб-приложение. Если такое приложение является проблемой безопасности, если это возможно, в настоящее время мы создали приложение, которое может передавать потоковое видео с помощью веб-камеры с помощью webrtc. Но я не имею ни малейшего представления о том, как передавать кому-то реальный рабочий стол компьютера, я знаю только о нативном приложении, таком как Skype или TeamViewer, которое может делать что-то подобное, но веб-приложение?

1 Ответ

0 голосов
/ 13 января 2019

Да, это возможно. Для потоковой передачи рабочего стола пользователя вместо его камеры замените

const stream = await navigator.mediaDevices.getUserMedia({video: true});

с

const stream = await navigator.mediaDevices.getDisplayMedia({video: true});

Это побудит пользователя поделиться окном приложения или поверхностью рабочего стола по своему выбору.

Обратите внимание, что в настоящее время поддержка браузера ограничена. getDisplayMedia реализовано в Chrome 72, Firefox 66, Edge 17 и за флагом в Safari 11.

Он также доступен с использованием polyfill adapter.js в старых версиях Firefox и Chrome, хотя для этого требуется установить веб-расширение в Chrome.

Будет ли подобное приложение проблемой безопасности

Да, существуют существенные проблемы безопасности , связанные с совместным использованием экрана.

Очевидный риск позволить веб-сайту записать ваш рабочий стол, если он может раскрыть личную информацию.

Неочевидный риск заключается в том, что совместное использование вашего браузера или всего рабочего стола, когда ваш браузер виден на нем, опасно и должно выполняться только с сайтов, которым вы доверяете.

Это связано с тем, что вредоносный веб-сайт, присутствующий на таких веб-поверхностях, может эффективно просматривать от вашего имени и записывать результаты, обходя важные перекрестные защиты в браузере.

...