完成基础开发

This commit is contained in:
2025-07-18 15:46:07 +08:00
parent 99f30bd1eb
commit cff16ef2af
42 changed files with 7290 additions and 0 deletions

222
README.md
View File

@ -0,0 +1,222 @@
# 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