mirror of
https://github.com/StuffAnThings/qbit_manage.git
synced 2025-09-11 23:55:34 +08:00
# Requirements Updated - qbittorrent-api==2025.7.0 - fastapi==0.116.1 # New Features - **Uncategorized Category**: Allow multiple paths for Uncategorized category and add error handling (Thanks to @cat-of-wisdom #849) - **Config Auto Backup and Cleanup**: implement automatic backup rotation (30 most recent backups per config) and cleanup - **Web UI**: add base URL support for reverse proxy deployments (Fixes #871) - **Share Limits**: add option to preserve upload speed limits when minimums unmet (New config option `reset_upload_speed_on_unmet_minimums`) (Fixes #835, #791) # Improvements - Optimize webUI form rendering - Better centralized error handling for qbitorrent API operations - **Web UI**: add editable group names to share limit modal # Bug Fixes - Fix bug in remove orphaned to notify when there are 0 orphaned files - Fixes [Bug]: Cannot run on Python 3.9.18 #864 - fix(qbit): add error handling for qBittorrent API operations **Full Changelog**: https://github.com/StuffAnThings/qbit_manage/compare/v4.5.0...v4.5.1 --------- Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com> Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> Co-authored-by: cat-of-wisdom <217637421+cat-of-wisdom@users.noreply.github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> |
||
---|---|---|
.. | ||
css | ||
img | ||
js | ||
index.html | ||
README.md |
qBit Manage Web UI
Overview
The qBit Manage Web UI provides a modern interface for configuring and managing qBit Manage. It offers real-time editing of YAML configuration files through an intuitive visual interface, eliminating the need for manual file editing.
Project Structure
web-ui/
├── css/ # Stylesheets
│ ├── components/ # Component-specific styles
│ ├── main.css # Global styles
│ ├── responsive.css # Responsive layouts
│ └── themes.css # Theme definitions
├── img/ # Application images and icons
├── js/ # Application logic
│ ├── api.js # Backend communication
│ ├── app.js # Main application
│ ├── components/ # UI components
│ ├── config-schemas/ # Configuration schemas
│ └── utils/ # Helper functions
└── index.html # Application entry point
Key Features
- Visual Configuration Editor: Intuitive forms for editing YAML configurations
- Real-time Validation: Instant feedback on configuration errors
- Undo/Redo History: Track and revert changes with history management
- Theme Support: Light/dark mode with system preference detection
- Responsive Design: Works on desktop and mobile devices
- YAML Preview: Real-time preview of generated configuration
Configuration Sections
The UI organizes configuration into logical sections:
- Commands: Manage script execution workflows
- qBittorrent Connection: Configure qBittorrent API access
- Settings: Application preferences and behavior
- Directory Paths: Define important filesystem locations
- Categories: Torrent category management
- Category Changes: Bulk category modification rules
- Tracker Configuration: Per-tracker settings
- No Hard Links: Category-specific hardlink handling
- Share Limits: Ratio and seeding time rules
- Recycle Bin: Deleted torrent management
- Orphaned Files: Cleanup of unregistered files
- Notifications: Alert configuration
- Logs: View application logs
Technical Architecture
Frontend Components
- ConfigForm.js: Dynamic form generator based on JSON schemas
- CommandPanel.js: Interface for executing management commands
- LogViewer.js: Real-time log display component
- HistoryManager.js: Undo/Redo functionality implementation
API Integration
The UI communicates with the backend through a RESTful API:
sequenceDiagram
participant UI as Web UI
participant API as FastAPI Backend
participant QBM as qBit Manage
UI->>API: HTTP Request (GET/POST)
API->>QBM: Process Configuration
QBM-->>API: YAML Validation
API-->>UI: Response with Status
Key API endpoints:
GET /api/configs
: List available configurationsPUT /api/configs/{filename}
: Update configuration filePOST /api/run-command
: Execute management commandsGET /api/logs
: Stream application logs
Error handling includes:
- JWT authentication
- Automatic retry on network failures
- Websocket support for real-time updates
Usage Notes
- Ensure the qBit Manage backend is running
- Open
index.html
in a modern browser - Select a configuration file from the dropdown
- Navigate sections using the sidebar
- Use the preview button to see generated YAML
- Save changes when complete
Keyboard Shortcuts:
Ctrl+S
: Save current configurationCtrl+R
: Toggle Run Commands modalCtrl+Z
: Undo last changeCtrl+Y
: Redo last changeCtrl+/
: Toggle Help modalCtrl+P
orCmd+P
: Toggle YAML previewEscape
: Close modals/panels