# qBittorrent 管理平台 多客户端 qBittorrent 集中管理平台,在一个统一的 Web 界面中集中管理和监控多个 qBittorrent 客户端。 ## 功能特性 - 🎯 **集中管理**: 在一个界面中管理多个 qBittorrent 客户端 - 📊 **数据聚合**: 聚合展示所有客户端的种子列表和全局速度概览 - ⚡ **基本操作**: 支持对种子进行暂停、恢复、删除等操作 - 🔒 **安全管理**: 安全地管理各客户端的连接信息 - 📱 **响应式设计**: 支持桌面和移动设备的优秀体验 ## 技术栈 ### 后端 - **Python 3.10+** - 编程语言 - **Flask** - Web 框架 - **qbittorrent-api** - qBittorrent 客户端通信 - **uv** - Python 包管理器 ### 前端 - **Vue.js 3** - 前端框架 (Composition API) - **Element Plus** - UI 组件库 - **Pinia** - 状态管理 - **Axios** - HTTP 客户端 - **Vite** - 构建工具 ## 快速开始 ### 🐳 Docker 部署(推荐) 1. 确保已安装 Docker 和 Docker Compose 2. 克隆项目并进入目录: ```bash git clone cd qbit-manager ``` 3. 一键部署: ```bash ./deploy.sh ``` 4. 访问应用: - 前端界面: http://localhost:8080 - 后端 API: http://localhost:8080/api ### 📋 管理命令 ```bash # 查看服务状态 docker-compose ps # 查看日志 docker-compose logs -f # 停止服务 docker-compose down # 重启服务 docker-compose restart # 更新服务 ./deploy.sh ``` ### 🛠️ 开发环境 #### 后端开发 1. 进入后端目录: ```bash cd backend ``` 2. 使用 uv 创建虚拟环境并安装依赖: ```bash uv venv --python 3.10 source .venv/bin/activate # Linux/macOS # 或 .venv\Scripts\activate # Windows uv pip install -r requirements.txt ``` 3. 复制环境变量文件: ```bash cp .env.example .env ``` 4. 启动后端服务: ```bash python app.py ``` #### 前端开发 1. 进入前端目录: ```bash cd frontend ``` 2. 安装依赖: ```bash npm install ``` 3. 启动开发服务器: ```bash npm run dev ``` ## 项目结构 ``` qbit-manager/ ├── backend/ # 后端代码 │ ├── app.py # Flask 应用入口 │ ├── config.py # 配置文件 │ ├── data/ # 数据存储 │ └── pyproject.toml # Python 项目配置 ├── frontend/ # 前端代码 │ ├── src/ # 源代码 │ │ ├── views/ # 页面组件 │ │ ├── components/ # 可复用组件 │ │ ├── stores/ # Pinia 状态管理 │ │ ├── api/ # API 接口 │ │ └── router/ # 路由配置 │ ├── package.json # Node.js 项目配置 │ └── vite.config.js # Vite 配置 └── README.md # 项目说明 ``` ## 📖 使用说明 ### 添加 qBittorrent 客户端 1. 点击"显示客户端管理"按钮 2. 点击"添加客户端" 3. 填写客户端信息: - 名称:自定义客户端名称 - 主机:qBittorrent 所在主机的 IP 地址 - 端口:qBittorrent WebUI 端口(默认 8080) - 用户名:qBittorrent WebUI 用户名 - 密码:qBittorrent WebUI 密码 4. 点击"测试"按钮验证连接 5. 保存客户端配置 ### 管理种子 - **查看种子**:主界面显示所有客户端的种子列表 - **筛选种子**:可按状态和客户端进行筛选 - **批量操作**:选择多个种子进行批量暂停、恢复或删除 - **单个操作**:对单个种子进行操作 - **实时更新**:支持自动刷新数据 ### 全局统计 - 实时显示所有客户端的总下载/上传速度 - 显示种子总数和活跃种子数 - 按状态分类显示种子统计 ## 🔧 配置说明 ### 环境变量 后端支持以下环境变量配置: ```bash # Flask 配置 FLASK_ENV=production SECRET_KEY=your-secret-key-here # 应用配置 APP_HOST=0.0.0.0 APP_PORT=8888 DEBUG=False # 客户端配置文件路径 CLIENTS_CONFIG_PATH=data/clients.json ``` ### 数据持久化 - 客户端配置存储在 `data/clients.json` 文件中 - Docker 部署时会自动创建 `data` 目录并挂载 ## 🚨 注意事项 1. **安全性**:请确保 qBittorrent WebUI 使用强密码 2. **网络**:确保应用能够访问到 qBittorrent 客户端 3. **防火墙**:检查防火墙设置,确保端口可访问 4. **资源**:大量种子可能影响性能,建议合理配置刷新间隔 ## 🐛 故障排除 ### 常见问题 1. **无法连接客户端** - 检查 IP 地址和端口是否正确 - 确认 qBittorrent WebUI 已启用 - 检查用户名和密码 2. **数据不更新** - 检查网络连接 - 查看浏览器控制台错误 - 重启服务 3. **Docker 部署问题** - 检查 Docker 和 Docker Compose 版本 - 查看容器日志:`docker-compose logs` ## 🤝 贡献 欢迎提交 Issue 和 Pull Request! ## 📄 开发指南 详细的开发指南请参考 [开发指南.md](./开发指南.md) ## 📜 许可证 MIT License