Dozorniy — это система удаленного управления и мониторинга (RMM), разработанная специально для образовательных учреждений. Проект создается как безопасный инструмент для организации учебного процесса в компьютерных классах.
Важно: Данный проект является исследовательским (Research Project) и распространяется под лицензией PolyForm Noncommercial 1.0.0. Использование в коммерческих целях без разрешения автора запрещено.
Проект решает проблему управления парком учебных компьютеров, позволяя преподавателю взаимодействовать со студенческими терминалами в реальном времени.
Ключевые особенности:
- Безопасность: Клиент (агент) исполняет только строго валидированные команды.
- Кроссплатформенный UI: Панель управления реализована на Flet, что позволяет работать с любого устройства (Desktop/Web).
- Легковесность: Агент работает в фоне, не нагружая систему студента.
- Чистота кода: Строгое соблюдение принципов SRP (Single Responsibility Principle).
Проект построен на базе Event-Driven Architecture (Событийно-ориентированная архитектура). Мы отказались от монолитной логики в пользу слабой связности компонентов.
- Language: Python 3.13+
- UI/Frontend: Flet (Python wrapper for Flutter)
- Validation: Pydantic V2
- Data Structures: Python Dataclasses (
@dataclass) - Network: WebSockets (Asyncio)
- Transport Layer (Dumb Pipe): Слой WebSocket не знает бизнес-логики. Он принимает "сырой" JSON.
- IncomingRawMessage: Данные оборачиваются в строго типизированный Dataclass.
- Dispatcher: Центральный узел, который маршрутизирует события.
- Handlers: Изолированные обработчики логики.
- UI Layer (Flet): Асинхронный интерфейс подписывается на изменения состояния и обновляется в реальном времени (Reactive UI).
# Пример структуры события (Event Structure)
@dataclass
class IncomingRawMessage:
event_type: str
payload: dict
timestamp: int
sender_id: strИнструкция для разработчиков и исследователей.
- Клонируйте репозиторий:
git clone https://github.com/cnvuls/dozorniy.git
cd dozorniy
- Создайте виртуальное окружение:
uv venv
source venv/bin/activate.fish # Для Linux
venv\Scripts\activate # Для WindowsCopyright (c) 2026 cnvls.
Этот проект лицензирован на условиях PolyForm Noncommercial License 1.0.0.
- ✅ Разрешено: Личное использование, обучение, использование в школах и вузах, некоммерческие организации.
- ❌ Запрещено: Любое коммерческое использование, перепродажа, включение в платные продукты без письменного согласия автора.
Полный текст лицензии доступен в файле LICENSE.
Если вы представляете образовательное учреждение и хотите внедрить систему, или у вас есть вопросы по архитектуре:
- GitHub Issues: Создать тикет
- Codeberg Issues: Создать тикет