8.5 KiB
8.5 KiB
Changelog - История изменений MC Panel
Все значимые изменения в проекте документируются в этом файле.
Формат основан на Keep a Changelog, и проект следует Semantic Versioning.
[1.1.0] - 2026-01-15
Добавлено ✨
Система прав и ролей
- Роль владельца (Owner) - полный контроль над панелью
- Система прав - детальное управление возможностями пользователей
- 5 ролей: Owner, Admin, Support, User, Banned
- 7 типов прав: manage_users, manage_roles, manage_servers, manage_tickets, manage_files, delete_users, view_all_resources
API эндпоинты
GET /api/users- Получить список пользователейPUT /api/users/{user_id}/role- Изменить роль пользователяPUT /api/users/{user_id}/permissions- Изменить права пользователяPOST /api/users/{user_id}/access/servers- Выдать доступ к серверуDELETE /api/users/{user_id}/access/servers/{server_name}- Забрать доступ к серверуDELETE /api/users/{user_id}- Удалить пользователяPOST /api/users/{user_id}/ban- Заблокировать пользователяPOST /api/users/{user_id}/unban- Разблокировать пользователя
Инструменты
- migrate_users.py - Скрипт миграции пользователей на новую систему
- MIGRATE_USERS.bat - Bat файл для запуска миграции на Windows
- OWNER_PERMISSIONS.md - Полная документация системы прав (~500 строк)
Документация
- Документация системы прав и ролей
- Примеры использования API на Python, JavaScript, cURL
- FAQ по системе прав
- Инструкции по миграции
Изменено 🔄
- Первый зарегистрированный пользователь теперь получает роль
ownerвместоadmin - Обновлена структура пользователя в
users.json:- Добавлено поле
permissionsс детальными правами - Добавлено поле
resource_accessдля управления доступом к ресурсам
- Добавлено поле
- Все эндпоинты управления пользователями теперь проверяют права доступа
- Обновлена версия проекта с 1.0.0 до 1.1.0
Безопасность 🔒
- Добавлена проверка прав для всех административных эндпоинтов
- Логирование всех действий владельца
- Защита от удаления владельца
- Автоматическое понижение роли при передаче прав владельца
[1.0.0] - 2026-01-15
Добавлено ✨
Backend (FastAPI)
- REST API с 37 эндпоинтами
- JWT аутентификация (токены на 7 дней)
- OpenID Connect интеграция (ZITADEL)
- WebSocket для real-time консоли
- Управление Minecraft серверами
- Файловый менеджер API
- Система тикетов
- Роли пользователей (admin, user)
- Bcrypt хеширование паролей
Frontend (React)
- 6 тем оформления (modern, dark, light, blue, green, purple)
- Цветная консоль (INFO=зелёный, WARN=жёлтый, ERROR=красный)
- Файловый менеджер с поиском
- Создание файлов и папок
- Перемещение файлов (Cut/Paste)
- Система уведомлений (4 типа: success, error, warning, info)
- Тикеты с real-time обновлениями (каждые 3 секунды)
- Статистика серверов (CPU, RAM, диск)
- Личный кабинет
- Responsive дизайн
Docker & DevOps
- Multi-stage Dockerfile (Node.js + Python)
- Docker Compose конфигурация
- Non-root пользователь для безопасности
- Healthcheck для мониторинга
- Volumes для персистентности данных
- Nginx reverse proxy с SSL/TLS
- Security headers (HSTS, X-Frame-Options, etc.)
- Rate limiting для защиты от DDoS
- 4 CI/CD пайплайна (Drone):
- code-quality - Проверка качества кода
- build-and-publish - Сборка и публикация образа
- deploy-staging - Деплой на staging
- deploy-production - Деплой на production
Bat файлы (Windows)
- START_PANEL.bat - Локальный запуск
- START_DOCKER.bat - Запуск в Docker
- STOP_DOCKER.bat - Остановка Docker
- RESTART_DOCKER.bat - Перезапуск Docker
- LOGS_DOCKER.bat - Просмотр логов
- UPDATE_DOCKER.bat - Обновление Docker образа
- BACKUP_DATA.bat - Создание backup
- RESTORE_DATA.bat - Восстановление из backup
Документация
- README.md - Главная навигация (~200 строк)
- ДОКУМЕНТАЦИЯ.md - Полное руководство (~500 строк)
- API.md - API документация (~300 строк)
- DOCKER.md - Docker и CI/CD (~400 строк)
- DOCKER_COMMANDS.md - Docker команды (~300 строк)
- DOCKER_ГОТОВО.md - Docker summary (~400 строк)
- ГОТОВО.md - История разработки (~200 строк)
- ПРОЕКТ_ЗАВЕРШЁН.md - Полный обзор (~600 строк)
- ФИНАЛЬНЫЙ_СПИСОК.md - Список файлов (~700 строк)
- INSTALL_DOCKER.md - Установка Docker (~400 строк)
- FAQ.md - Часто задаваемые вопросы (~500 строк)
- BAT_FILES.md - Описание bat файлов (~400 строк)
- QUICKSTART.md - Быстрый старт (~300 строк)
- РАБОТА_ЗАВЕРШЕНА.md - Финальный summary (~200 строк)
- CHECKLIST.md - Финальный checklist (~400 строк)
Другое
- MC_Panel_API.postman_collection.json - Postman коллекция (40+ запросов)
- .gitignore - Git ignore правила
- .dockerignore - Docker ignore правила
- .env.example - Шаблон переменных окружения
Исправлено 🐛
- Ошибка импорта
authlib.integrations.fastapi_client→starlette_client - Проблемы с drag & drop в файловом менеджере (отключено по запросу)
- Уведомления теперь показываются для всех действий
- Real-time обновления в тикетах работают корректно
Безопасность 🔒
- JWT токены с истечением через 7 дней
- Bcrypt хеширование паролей (cost factor 12)
- OpenID Connect поддержка
- Проверка прав доступа на всех эндпоинтах
- Защита файловой системы от path traversal
- Non-root Docker пользователь
- Security headers в Nginx
- Rate limiting в Nginx
- HTTPS обязательный для production
Типы изменений
- Добавлено ✨ - новая функциональность
- Изменено 🔄 - изменения в существующей функциональности
- Устарело ⚠️ - функциональность, которая скоро будет удалена
- Удалено 🗑️ - удалённая функциональность
- Исправлено 🐛 - исправление ошибок
- Безопасность 🔒 - изменения, связанные с безопасностью
Ссылки
Формат: Keep a Changelog
Версионирование: Semantic Versioning