mirror of
https://github.com/StuffAnThings/qbit_manage.git
synced 2025-10-10 22:06:58 +08:00
# Improvements - Support cross-platform binary builds (Linux/Windows/MacOS) - Adds desktop app installers (Linux/Windows/MacOS) - Container images for latest now pointed to newest version automatically (Fixes #897) - Enable automatic open of webUI in local installs - Add persistence toggling for webUI scheduler # Bug Fixes - Fix schedule.yml not loaded upon restarting Docker container (Fixes #906) - Fix bug where torrents were not being paused after share limits reached (Fixes #901) - Fix(api): prevent path traversal vulnerability in backup restore endpoint (Fixes CWE-22 Security Vulnerability) - Fix scheduler to run interval jobs immediately on startup **Full Changelog**: https://github.com/StuffAnThings/qbit_manage/compare/v4.5.3...v4.5.4 --------- Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com> Co-authored-by: Copilot Autofix powered by AI <62310815+github-advanced-security[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