WebControl - это веб-приложение для удаленного управления компьютером через браузер. Оно предоставляет полный доступ к управлению файлами, процессами, мониторингу системы, окнами, вводом с клавиатуры и мыши, скриншотам, буферу обмена и логам. Проект разработан на Python с использованием фреймворка Flask и предназначен для удобного администрирования системы из любой точки с доступом к интернету.
Приложение позволяет администраторам контролировать компьютер без физического доступа, что полезно для серверов, рабочих станций или домашних ПК. Интерфейс интуитивно понятен и включает в себя боковую панель навигации для быстрого доступа к различным модулям.
WebControl предлагает широкий спектр функций для управления системой:
- Просмотр структуры файлов и папок
- Создание, удаление и переименование файлов и директорий
- Редактирование текстовых файлов прямо в браузере
- Загрузка и скачивание файлов
- Запуск исполняемых файлов
- Просмотр списка всех запущенных процессов
- Завершение процессов
- Мониторинг состояния процессов
- Реальное время статистики CPU, RAM, диска и сети
- Графическое отображение нагрузки
- Информация о системе (ОС, версия, аптайм)
- Просмотр списка открытых окон
- Скрытие/показ окон
- Минимизация/максимизация окон
- Перемещение и фокус на окнах
- Симуляция нажатий клавиш клавиатуры
- Управление курсором мыши (движения, клики)
- Полезно для автоматизации задач
- Захват изображений экрана
- Просмотр и скачивание скриншотов
- Автоматическое сохранение в папку screenshots
- Чтение содержимого буфера обмена
- Запись текста в буфер обмена
- Очистка буфера
- Просмотр системных логов действий
- Фильтрация и поиск по логам
- Автоматическая запись всех операций
- Live-стрим экрана сервера с контролем FPS
- Захват экрана выбранного монитора через Python API
- Отображение курсора мыши на скриншоте
- Регулировка частоты кадров (15, 30, 60 FPS или кастомное значение)
- Индикация реального FPS в реальном времени
Проект построен по модульной архитектуре:
- app.py: Основной файл приложения Flask
- run.py: Скрипт для запуска сервера
- api/: Модули API для различных функций
- clipboard.py: Работа с буфером обмена
- input.py: Имитация ввода
- logs.py: Управление логами
- monitoring.py: Мониторинг системы
- processes.py: Управление процессами
- screenshots.py: Скриншоты
- windows.py: Управление окнами
- static/: Статические файлы (CSS, JS, изображения)
- templates/: HTML шаблоны
- utils/: Вспомогательные модули
- logger.py: Логирование
- system_utils.py: Системные утилиты
- logs/: Папка для логов
- resources/: Ресурсы (иконки, логотипы)
- Python 3.7+
- Windows (проект оптимизирован для Windows)
- Браузер для доступа к веб-интерфейсу
-
Клонируйте репозиторий или скачайте файлы проекта: 📥
git clone <repository-url> cd server-control-python -
Установите зависимости: 📦 Откройте командную строку в папке проекта и выполните:
pip install -r requirements.txtЭто установит все необходимые библиотеки, включая Flask, psutil и другие.
-
Настройте пароль администратора: 🔑 Откройте файл
admin.passwordи установите пароль для доступа к интерфейсу. Пароль должен быть в первой строке файла. -
Запустите приложение:
▶️ Используйте один из способов:python run.py- Или двойной клик по
start.bat
Приложение запустится на порту 5000.
По умолчанию сервер запускается на localhost:5000. Для изменения порта или хоста отредактируйте run.py.
- Используйте сильный пароль в
admin.password - Для продакшена рассмотрите использование HTTPS
- Ограничьте доступ к серверу через firewall
-
Доступ к интерфейсу: 🌐 Откройте браузер и перейдите по адресу: http://localhost:5000
-
Авторизация: 🔐 Введите пароль из файла
admin.password -
Навигация: 🧭 Используйте боковую панель для переключения между модулями:
- Файлы: Управление файловой системой
- Процессы: Просмотр и управление процессами
- Мониторинг: Статистика системы
- Окна: Управление окнами
- Ввод: Имитация клавиатуры/мыши
- Скриншоты: Захват экрана
- Буфер: Работа с clipboard
- Логи: Просмотр логов
- Перейдите в раздел "Файлы"
- Просмотрите дерево файлов
- Кликните правой кнопкой для контекстного меню
- Для редактирования текста выберите файл и нажмите "Редактировать"
- В разделе "Мониторинг" отображаются графики в реальном времени
- Обновление каждые 5 секунд
- Нажмите "Сделать скриншот" для захвата экрана
- Изображения сохраняются в static/screenshots/
- Перейдите в раздел "Управление"
- Выберите монитор из списка доступных
- Выберите желаемый FPS из предустановок или введите кастомное значение (1-120)
- Включите/выключите отображение курсора
- Нажмите "Начать" для запуска live-стрима экрана сервера
- Наблюдайте за реальным FPS в углу изображения и в панели управления
- Нажмите "Остановить" для прекращения трансляции
WebControl предоставляет REST API для программного доступа:
- GET: Получить содержимое буфера обмена
- POST: Установить текст в буфер обмена
- DELETE: Очистить буфер
- POST: Имитировать ввод (клавиатура/мышь)
- GET: Получить логи
- GET: Получить статистику системы
- GET: Список процессов
- DELETE: Завершить процесс
- GET: Получить скриншот
- POST: Сделать новый скриншот
- GET: Список окон
- POST: Управление окном (показать/скрыть и т.д.)
Все запросы требуют аутентификации через заголовок Authorization.
- Все коммуникации происходят через HTTP (для продакшена используйте HTTPS)
- Аутентификация по паролю
- Логирование всех действий для аудита
- Рекомендуется запускать на локальной сети или с VPN
- Следуйте модульной архитектуре
- Используйте utils/ для общих функций
- Добавляйте логирование через logger.py
- Создайте новый модуль в api/
- Добавьте маршрут в app.py
- Обновите шаблоны и JavaScript
- Запустите
python run.pyдля локального тестирования - Проверьте все модули через веб-интерфейс
Проект распространяется под лицензией MIT. См. файл LICENSE для деталей.
Если у вас возникли проблемы или вопросы:
- Проверьте логи в папке logs/
- Убедитесь, что все зависимости установлены
- Проверьте настройки firewall
- Первая стабильная версия
- Полный набор функций для управления ПК
- Веб-интерфейс на Flask