Хабрахабр

Программа для удаленного управления рабочим столом — Aspia

image Хочу представить общественности свою разработку – приложение для удаленного управления рабочим столом Aspia. Проект является полностью бесплатным и с открытым исходным кодом (GPL 3.0).

На данный момент реализованы следующие возможности:

  • Удаленное управление рабочим столом
  • Удаленный просмотр рабочего стола
  • Передача файлов
  • Адресная книга с поддержкой шифрования и мастер-паролем (XChaCha20+Poly1305, 256-битный ключ)
  • Возможность создавать пользователей с индивидуальными правами
  • Шифрование всей передаваемой по сети информации (XSalsa20+Poly1305)

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

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

Для сериализации данных используется protobuf, для шифрования libsodium, для сжатия данных zlib-ng и libvpx. Приложение полностью переписано, код теперь написан на C++ с использованием фреймворка Qt.

Давайте рассмотрим их подробнее. К сожалению, тип сессии «Информация о системе» не вошел в этот релиз, но доступны другие интересные функции.

Управление пользователями

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

Адресная книга

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

При открытии зашифрованной адресной книги будет предложено ввести пароль: Адресные книги открываются в приложении «Aspia Console» и могут быть зашифрованными и незашифрованными.

После успешного ввода пароля адресная книга будет открыта:

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

Так же возможно «быстрое» подключение, без добавления компьютера в адресную книгу:

Управление рабочим столом

Окно управления рабочим столом мало отличается от других программ подобного рода.

Возможно изменение параметров сессии «на лету». На выбор есть 3 типа кодеков: VP9, VP8 и ZLIB.

VP8 отлично подходит для быстрых соединений, это полноценный видео-кодек. Он отлично справляется с воспроизведением видео, плавной прокруткой в браузерах, анимацией.

Он позволяет указать глубину цвета и степень сжатия. ZLIB хорошо подходит для относительно медленных соединений.

На данный момент он потребляет нерациональное количество ресурсов. VP9 является экспериментальным.

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

Тут есть над чем поработать, но без создания нового кодека тут не обойтись. Для совсем медленных соединений (менее 256кбит/с) текущие кодеки подходят плохо, хотя работать возможно. Было бы неплохо добавить в этот новый кодек кеширование графики, детектирование одноцветных областей (передавать значение цвета вместо передачи сжатого ZLIB прямоугольника) и некоторые другие возможности.

Передача файлов

Передача файлов так же не слишком отличается от программ-аналогов. Поддерживаются горячие клавиши, drag-and-drop.

Что ждать от следующей версии?

Одни из ключевых запланированных возможностей:

  • Тип сессии «Информация о системе». Возможность просматривать информацию о оборудовании, приложениях, сетевых параметрах и операционной системе. Всю информацию будет возможно сохранить в файлы отчетов, как для отдельного компьютера, так и для выбранных из адресной книги.
  • Тип сессии «Текстовый чат». Возможность вести текстовый чат с пользователем на удаленном компьютере.
  • Возможность открытия сессий во вкладках консоли.
  • Авторизация средствами Windows.
  • Черные и белые списки

Планируется ли версия для других операционных систем?

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

Количество платформозависимого кода минимально, все сторонние библиотеки могут быть собраны для Linux/MacOS.

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

Чем помочь проекту?

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

Ссылки

→ Страница проекта на GitHub
→ Сайт проекта

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

Теги
Показать больше

Похожие статьи

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Кнопка «Наверх»
Закрыть