222 lines
5.0 KiB
Markdown
222 lines
5.0 KiB
Markdown
# 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 <repository-url>
|
||
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 |