Пишем удаленное приложение для управления компьютером

Обновлено: 04.07.2024

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

Нам показалось странным, что до сих пор не существует достаточно простого и легковесного решения для удаленного управления компьютером через браузер. Всем известный TeamViewer, например, поддерживает только Flash версию, от которого отказались все современные браузеры. Решение Chrome Remote Desktop устанавливается через расширения и достаточно громоздкое.

Было решено сделать что-то более простое и удобное. Достаточно молодая технология WebRTC показалась нам хорошей основой для нового сервиса, она позволяет передавать данные Peer-to-Peer с минимальной задержкой. В результате получилось приложение весом всего 1.9 Mбайта.

Для начала работы нужно несколько шагов:

  1. Запустить агента на удалённом компьютере, к которому хотим получить доступ с других устройств.
  2. Получить одноразовую ссылку для подключения к сервису Getscreen.me.

Открыть эту ссылку во вкладке браузера.

Теперь можно пользоваться всем функционалом сервиса:

  • управление рабочим столом
  • передача файлов
  • получение буфера обмена
  • передача звука и аудио-звонок
  • вызов горячих клавиш

Выпущены версии агента под Windows и macOS, скоро планируем выпустить версию под Linux. Управлять же компьютером можно с любого устройства на котором есть браузер, в том числе с телефона и планшета.

Сервис новый, но уже появились первые отзывы и оценки. Планируем выпустить Linux версию и продолжать развитие сервиса. Сейчас нам очень важно мнение пользователей и мы с удовольствие выслушаем замечания и предложения.

Спасибо за внимание, надеюсь кому-нибудь пригодится.

Simple and convenient solution for remote access and computer management

Кто из юзеров ощущает громоздкость расширения Хрома?

Как у вас со звуком дела при удаленном управлении, есть звук из системы в 320кбит/с хотя бы?

Отличный сервис! Очень лёгкий в использовании!

*Indian scammer joined the chat

Цена вопроса интересует.
Ясно, что пока бесплатно. А потом?

Бесплатная версия останется, платная будет с расширенным функционалом.

Интересно. Потестил - выглядит неплохо, работает шустро, багов пока не заметил.
Вопрос: планируется в будущем приложения для Андроида? Ибо пока пользуемся тимаком и это боль с лицензиями.

А разве удаленный рабочий стол хром не webRTC? Anydesk есть ещё крутая штука помимо тимвивера, у майкрософта есть свое решения на всех платформах(юзал только с андройда). Но для меня лично удобнее всего именно хром, с мобилки компом управлять очень удобно. Учётная запись гугловая есть практически у всех пользователей андроид, без нее в маркет не войти. Честно говоря не знаю как вам выстрелить в данном случае, без пользователей и инвестиций вы закроетесь через годик, а пользоваться сырым продуктом от неизвестной фирмы мало кто захочет, да тем более за деньги когда есть бесплатная альтернатива. Замкнутый круг получается к сожалению. Денег нет, но вы держитесь. ✊

Полезные в быту. Топ домашних аксессуаров для снижения экоследа

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

На написание этой статьи меня вдохновил вот этот топик

Немного от себя

Я очень долго ждал второй части той статьи, но так и не дождался. Как утверждал автор, во второй статье должна была быть реализация передачи изображения по протоколу UDP на удалённый клиент. После я пытался сам реализовать второю часть статьи, но всегда выходило плохо. Из — за медленного рисования GDI — программа просто зависала на компьютере Core 2 Duo 2.66 GHz, Nvidia GeForce 9600 GT. Я использовал разные алгоритмы оптимизации, но это слабо помогало и тогда я решил использовать XNA.

Выбор протокола передачи

Решить эту проблему можно двумя путями:
1) Создать костыль
2) Создать структуру

2) Можно разбивать экран на множество кусочков и запоминать их координаты. Всё это надо будет хранить в структуре, что очень удобно, кстати, этот алгоритм поможет в будущем сделать оптимизацию.

Практика

Начну с простого. С отправителя. Отправлять мы будем скриншоты нашего экрана на удалённый компьютер. Я написал функцию для загрузки данных и инициализации некоторых переменных.

Точкой запуска будет наша функция Run()

В функции Load() ничего интересного не происходит.
Из файла ip.txt будут считываться две строки. Первая строка — IP адрес на который нужно отсылать данные. Вторая строка — Порт, на который будет происходить отсылка. Также там будет происходить получение длины и ширины экрана.


И самое интересное — реализация костыля.

Я делю данные по блокам 65500 (число взял меньше, чтобы явно попасть) и записываю их в лист массивов байтов, после я возвращаю этот лист.

Код получателя

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

Асинхронное получение данных.

В GetData(byte[]) мы получаем Texture2D, конвертируя её из массива байтов.


Весь проект вы сможете скачать в конце статьи, что так не отчаивайтесь если что — то я не написал.

Итоги и вывод

В итоге при одновременном запуске «отправителя» и «получателя» на своём компьютере происходит рекурсия и огромное количество потерь (30 — 90 потерь), при запуске «отправителя» на моём компьютере, а на компьютере родителей «получателя», потерь минимум (10 — 15 потерь). Оба компьютера (родителей и мой) соединены в одну Wi-Fi сеть с каналом 54 Мбит/с. Есть пинг (около 250 мс.) — напоминает по пингу TeamViewer. Если добавить оптимизацию и заменить костыль, то получится отличная программа для передачи изображения.


Рекурсия


Компьютер родителей (передача изображения с моего компьютера на их)


Как выглядит потеря

В следующей статье я доделаю программу, а точнее добавлю возможность удалённого управления и возможно ещё оптимизирую её.

У меня, как и многих читателей Overclockers.ru, в связи с деятельностью большая часть дня проходит за компьютером. Неудобное кресло, сидячий образ жизни, постоянный дискомфорт - думаю, что многим читателям с достаточно бюджетными рабочими местами это близко. А сейчас, когда на дворе середина лета, хочется держаться от компьютера подальше, чтобы лишний раз не испытывать на себе жар от системного блока. Но сейчас компьютеры настолько плотно вошли в нашу жизнь, что большинство из нас так или иначе привязаны к ПК: работа, развлечения, общение - все в персональном компьютере. Скажу честно - в моем доме компьютер является центром всего - это и музыкальный аппарат, и кинотеатр, и "печатная машинка", и хранилище информации, и рендер-машина, и средство связи с внешним миром, и игровая станция - всего не перечислить.

реклама

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


MSI RTX 3070 сливают дешевле любой другой, это за копейки Дешевая 3070 Gigabyte Gaming - успей пока не началось

Удаленный рабочий стол прямо в телефоне - это настоящий "Must-have" для лентяя. Представьте: вы лежите на диване, смотрите кино с подключенного к системному блоку телевизора, время позднее, чувствуете, что засыпаете, но вставать так лень - достали телефон, удаленно закрыли фильм и выключили компьютер - спите спокойно.

Или другая, более специфичная ситуация: вы майнер, помимо добычи криптовалюты вынуждены ходить на работу в офис или на завод. Вы буквально привязаны к своей ферме, потому что какая-либо ошибка, временно пропало соединение - часики тикают, ферма простаивает - несете убытки. И тут опять же вам поможет удаленный рабочий стол - заходим в компьютер прямо из своего смартфона, перезапускаем майнер и продолжаем получать доход. Красота ведь?

реклама

var firedYa28 = false; window.addEventListener('load', () => < if(navigator.userAgent.indexOf("Chrome-Lighthouse") < window.yaContextCb.push(()=>< Ya.Context.AdvManager.render(< renderTo: 'yandex_rtb_R-A-630193-28', blockId: 'R-A-630193-28' >) >) >, 3000); > > >);

А самое главное, такие ситуации, их тысячи - а иметь "пульт" для компьютера было бы полезно и майнеру, и энтузиасту, и геймеру, и даже домохозяйке! Хотите сделать это просто, бесплатно и, самое главное, быстро? Тогда прошу ознакомиться с предоставленным материалом.

Выбор программы для создания удаленного рабочего стола

Итак, всего существуют несколько программ, позволяющих создать "компьютерный пульт". Зайдя в Pay маркет, можно увидеть целый список разнообразных приложений для создания удаленного рабочего стола:


Есть как достаточно известные приложения, такие как: TeamViewer, Remote Desktop от Microsoft и Удаленный рабочий стол Chrome от Google; но существуют и малоизвестные "пульты", скачивать и взаимодействовать с которыми я бы не решился. Мой выбор, собственно, пал на Удаленный рабочий стол Chrome от Google, потому что это наиболее простой в освоении, установке и использовании "пульт". На самом деле, пользуюсь я им уже около двух лет и проблем не наблюдалось как на iPhone под операционной системой IOS, так и на Android-смартфоне. Ну и если это продукт Google, то я не беспокоюсь за сохранность своих данных, ведь корпорация большая, а выпускать некачественный продукт для них просто непозволительно.

реклама

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

Как установить и настроить Удаленный рабочий стол Chrome от Google?

Итак, для начала мы скачиваем приложение из App Store или Play маркета на свой смартфон. Я думаю, что процесс установки приложения на смартфоне описывать нет никакого смысла - все происходит автоматически.

Далее вам потребуется браузер Google Chrome, установленный на вашем ПК. Если же по какой-то причины у вас нет этого браузера, вам не составит труда скачать его бесплатно.

И в браузере Google Chrome, и на вашем смартфоне должна быть одна учетная запись Google. Если таковой по каким-то причинам у вас еще нет, то, как бы странно это не звучало "зарегистрируйтесь в Google".

реклама

Далее в адресной строке Chrome набираем следующее:


Далее вы просто устанавливаете web-приложение себе в браузер Chrome как расширение, а также скачиваете инсталятор chromeremotedesktophost:


Запускаете инсталятор и выполняется простейшая установка.

Следующая задача - предоставить доступ устройства (смартфона) к вашему рабочему столу. Тут все предельно просто: запускаем на компьютере браузер Chrome, в адресной строке вводим ранее известную ссылку, либо же можете нажать на иконку удаленного рабочего стола в Chrome:


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

Далее вам будет предложено создать имя компьютера:


И далее создаем PIN-код длиной не менее 6 цифр:


Жмем на кнопку "Запустить", и ваш рабочий стол готов к эксплуатации.

Но на этом еще не все - переходим к настройке удаленного рабочего стола на смартфоне:

  1. запускаем ранее скачанное приложение (убедитесь, что в браузере Chrome и в приложении используется одна учетная запись Google);
  2. ждем, пока прогрузится список "Мои компьютеры";
  3. кликаем на свой компьютер;
  4. вводим придуманный ранее PIN-код.

Вас можно поздравить: теперь вы имеете удаленный доступ к своему ПК из любой точки мира при условии, что на обоих устройствах есть подключение к сети Интернет.

Впечатления от использования Удаленного рабочего стола Chrome

В принципе, Удаленный рабочий стол Chrome позволяет вам управлять своим ПК практически также, как бы вы управляли им, была бы у вас сенсорная панель вместо экрана. Сочетания горячих клавиш, конечно, зажать не получится, но требуется ли оно обыкновенному пользователю, которому надо удаленно выключить компьютер, переключить плейлист, включить фильм? В принципе, вам ничего не составит труда теоретически играть таким образом в игры, но данное удовольствие уж точно для искушенных, хотя мне ничего не помешало, например, выключить с телефона компьютерную игру, находясь на улице:


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

Также вам ничего не мешает включить экранную клавиатуру, нажав на соответствующую кнопку, чтобы напечатать в нужном вам месте текст, как бы вы сделали и в операционной системе при непосредственном контакте с ПК и реальной клавиатурой.

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

Возможно ли заниматься оверклокингом при использовании Удаленного рабочего стола Chrome?

Естественно, что способность к разгону придется испытывать непосредственно в операционной системе. И ничего кроме видеокарты силами ПО в Windows серьезно разогнать не получится.

Итак, я запускаю MSI Afterburner, чтобы попробовать подразогнать GTX 1060. Но, к сожалению, возможность ввести точные значения почему-то отсутствует, утилита просто не реагирует на вводимые мной значения при помощи экранной клавиатуры.


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


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

Заключение

По итогу Удаленный рабочий стол Chrome показал себя как прекрасный помощник в работе с ПК. Оперативной памяти такое решение потребляет совсем немного и практически не нагружает процессор.


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

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

Перечисленные программы позволяют контролировать ПК с других компьютеров или мобильных устройств через интернет. Получив удалённый доступ к устройству, вы сможете управлять им так, будто оно находится рядом: менять настройки, запускать установленные приложения, просматривать, редактировать и копировать файлы.

В статье вы увидите такие термины, как «клиент» и «сервер».

Клиент — это любое устройство (ПК, планшет или смартфон), а сервер — удалённый компьютер, к которому оно подключается.

1. Удалённый помощник (Microsoft Remote Assistance)

  • К каким платформам можно подключаться: Windows.
  • С каких платформ возможно подключение: Windows.

«Удалённый помощник» — встроенная в Windows утилита, благодаря которой можно быстро подключать компьютеры друг к другу без сторонних программ. Этот способ не позволяет обмениваться файлами. Но к вашим услугам полный доступ к удалённому компьютеру, возможность совместной работы с другим пользователем и текстовый чат.

Инструкция для сервера

Инструкция для клиента

  1. Откройте файл, созданный сервером, и введите полученный пароль. После этого вы увидите экран удалённого компьютера и сможете наблюдать за ним в специальном окне.
  2. Чтобы управлять файлами и программами чужого компьютера так, будто вы находитесь рядом с ним, кликните в верхнем меню «Запросить управление» и дождитесь ответа от сервера.

Файл и пароль являются одноразовыми, для следующего сеанса они уже не подойдут.

2. Удалённый рабочий стол (Microsoft Remote Desktop)

  • К каким платформам можно подключаться: Windows (только в редакциях Professional, Enterprise и Ultimate).
  • С каких платформ возможно подключение: Windows, macOS, Android и iOS.

Это средство представляет собой ещё одну встроенную в Windows программу, предназначенную для удалённого доступа. От предыдущей она отличается прежде всего тем, что выступающий сервером компьютер нельзя использовать во время подключения: его экран автоматически блокируется до конца сеанса.

Зато клиентом может быть Mac и даже мобильные устройства. Кроме того, подключённый пользователь может копировать файлы с удалённого компьютера через общий буфер обмена.

Чтобы использовать «Удалённый рабочий стол», нужно правильно настроить сервер. Это займёт у вас некоторое время. Но если не хотите разбираться в IP‑адресах и сетевых портах, можете использовать другие программы из этой статьи. Они гораздо проще.

Инструкция для сервера

  1. Включите функцию «Удалённый рабочий стол». В Windows 10 это можно сделать в разделе «Параметры» → «Система» → «Удалённый рабочий стол». В старых версиях ОС эта настройка может находиться в другом месте.
  2. Узнайте свои локальный и публичный IP‑адреса, к примеру с помощью сервиса 2IP. Если устройством‑клиентом управляет другой человек, сообщите ему публичный IP, а также логин и пароль от своей учётной записи Windows.
  3. Настройте на роутере перенаправление портов (проброс портов или port forwarding). Эта функция открывает доступ к вашему компьютеру для других устройств через интернет. Процесс настройки на разных роутерах отличается, инструкцию для своей модели вы можете найти на сайте производителя.

В общих чертах действия сводятся к следующему. Вы заходите в специальный раздел настроек роутера и создаёте виртуальный сервер, прописывая в его параметрах локальный IP‑адрес и порт 3389.

Открытие доступа к компьютеру через перенаправление портов создаёт новые лазейки для сетевых атак. Если боитесь вмешательства злоумышленников, ещё раз подумайте, стоит ли использовать именно этот способ.

Инструкция для клиента

  1. Наберите в поиске по системе «Подключение к удалённому рабочему столу» и запустите найденную утилиту. Или нажмите клавиши Win+R, введите команду mstsc и нажмите Enter.
  2. В открывшемся окне введите публичный IP‑адрес компьютера, который выступает сервером. Затем укажите логин и пароль от его учётной записи Windows.

После этого вы получите полный контроль над рабочим столом удалённого компьютера.





3. Общий экран (Screen Sharing)

  • К каким платформам можно подключаться: macOS.
  • С каких платформ возможно подключение: macOS.

Пожалуй, простейший способ установить удалённое подключение между двумя компьютерами Mac — сделать это с помощью стандартного macOS‑приложения «Общий экран». Сторонние утилиты для этого вам не понадобятся.

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

4. Удалённый рабочий стол Chrome (Chrome Remote Desktop)

  • К каким платформам можно подключаться: Windows, macOS, Linux.
  • С каких платформ возможно подключение: Windows, macOS, Linux, Android, iOS.

«Удалённый рабочий стол Chrome» — очень простая кросс‑платформенная программа для организации удалённого доступа. Её десктопная версия представляет собой приложение для Google Chrome, которое позволяет управлять всей системой без лишних настроек.

В десктопной версии «Удалённый рабочий стол Chrome» отображаются два раздела меню: «Удалённый доступ» и «Удалённая поддержка». В первом необходимо задать имя и пароль для подключения к компьютеру. Во втором можно сгенерировать код для соединения (сервер), также ввести код (клиент) для подключения к удалённому ПК.

Мобильное приложение «Удалённый рабочий стол Chrome» предоставляет удалённый доступ к компьютеру. При этом подключаться в обратную сторону — с компьютера к мобильному устройству — нельзя. В то же время десктопная версия может сделать компьютер как клиентом, так и сервером.

Читайте также: