#Идея: Удалённый доступ к ПК на NodeJS

  • среда, 14 февраля 2018 г. в 21:59:00

Возникла идея реализовать удалённый доступ на NodeJS к своему компьютеру. Решил этой идеей поделиться в своей рубрике "Идеи". Идея возникла в 3 часа ночи и мне не очень хочется описывать весь процесс. Опишу только основное.

Мотивация

Не знаю почему, но мне показалось интересным то, что я смогу управлять своим компьютером удалёноо с помощью своего устройства. К примеру, сидя где-нибудь на работе, я смогу управлять своим компьютером с помощью мобильного устройства и делать то, что не позволяет TeamViewer. Я ранее делал подбного бота на NodeJS и связующим между клиентом и моим ПК был Telegram.

Технологии

Самый лучший вариант, это реализовать через WebSocket. Не самый лучший: long-pool или polling.

То есть, задача сервера и клиента заключается в том, что клиент (устройство) отправляет запрос (действие) серверу. Сервер выполняет действие, исходя из прописанных условий.

Логика очень простая и не требует особых заморочек - Client-Action -> Server-Result.

Я еще точно не знаю, как реализовать вебсокеты так, чтобы я смог отправлять запросы прямо на свой пк с мобильного устройства. Возникла мысль сделать же через прокси или же подключать связывающий сервер (VPS), который будет принимать запросы от клиента и отправлять на мой ПК. Ну, или же делать вторым вариантом: polling || longpolling. Сервер будет отправлять запрос каждые 5 сек. на любой сервер, который поддерживает выполнение PHP скрипта.

В данном случае, на сервере будет храниться файл с действием, которое нужно выполнить боту запущенному на моём ПК. К примеру файл - action.txt. Клиент отправляет PHP скрипту GET запрос на выключение ПК. Сервер сохраняет команду в текстовом файле. Наш бот, который включен на ПК следит за содержимым этого файла. Если файл не пустой и есть команда, то выполняем ее и оповестим сервер что команда успешно выполнена, отправив GET запрос на очистку файла с командой.

Итог результат

Данный бот (условно говоря), может хорошо подойти для тех действий, которые не получается выполнить находясь не за своим компьютером. К примеру, можно манипулировать какими-то данными удалённо. Например, смотреть содержимое папок, удалять файлы, редактировать их находясь с другого устройства. Я представляю примерно такое действие, когда я хочу посмотреть содержимое какой-то папки.

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

#js#nodejs#websocket#remote