Skip to content

NOoBODDY/RemoteCommandController

Repository files navigation

ПО удаленого управления

Особенности

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

Структура

Сервер

Серверная часть выполнена на ASP.NET Core с использованием MVC. Веб страницы сделаны в виде макета на движке представлений Razor pages. Отдельно выделен простой API для связи серверной и клиентской части. Данные, для работы сохраняются в СУБД PostgreSQL. БД создана методом CodeFirst через EntityFramework Core. Для удобства модификации применялись миграции.

Клиент

Клиент выполнен на .NET 6. Обмен данными с сервером происходит по http через библиотеку RestSharp. Реализована система обработки команд, позволяющая добавлять новые команды с минимальным изменением исходного кода. Система подключения модулей основана на рефлексии: файл dll с классом, реализующим интерфейс IExternalModule, добавляется к работающему процессу. Благодаря интерфейсу работа с модулями унифицирована, есть несколько стандартных команд (запустить/остановить модуль), но и есть возможность реализовать уникальные команды для каждого модуля.

Планы на будущее

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

  • Так же необходимо переработать пользовательский интерфейс управления, так как пока слишком минималистичен

Warning

Этот проект не предназначен для использования в корыстных целях :)

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages