5.0 KiB
5.0 KiB
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 部署(推荐)
-
确保已安装 Docker 和 Docker Compose
-
克隆项目并进入目录:
git clone <repository-url>
cd qbit-manager
- 一键部署:
./deploy.sh
- 访问应用:
- 前端界面: http://localhost:8080
- 后端 API: http://localhost:8080/api
📋 管理命令
# 查看服务状态
docker-compose ps
# 查看日志
docker-compose logs -f
# 停止服务
docker-compose down
# 重启服务
docker-compose restart
# 更新服务
./deploy.sh
🛠️ 开发环境
后端开发
- 进入后端目录:
cd backend
- 使用 uv 创建虚拟环境并安装依赖:
uv venv --python 3.10
source .venv/bin/activate # Linux/macOS
# 或 .venv\Scripts\activate # Windows
uv pip install -r requirements.txt
- 复制环境变量文件:
cp .env.example .env
- 启动后端服务:
python app.py
前端开发
- 进入前端目录:
cd frontend
- 安装依赖:
npm install
- 启动开发服务器:
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 客户端
- 点击"显示客户端管理"按钮
- 点击"添加客户端"
- 填写客户端信息:
- 名称:自定义客户端名称
- 主机:qBittorrent 所在主机的 IP 地址
- 端口:qBittorrent WebUI 端口(默认 8080)
- 用户名:qBittorrent WebUI 用户名
- 密码:qBittorrent WebUI 密码
- 点击"测试"按钮验证连接
- 保存客户端配置
管理种子
- 查看种子:主界面显示所有客户端的种子列表
- 筛选种子:可按状态和客户端进行筛选
- 批量操作:选择多个种子进行批量暂停、恢复或删除
- 单个操作:对单个种子进行操作
- 实时更新:支持自动刷新数据
全局统计
- 实时显示所有客户端的总下载/上传速度
- 显示种子总数和活跃种子数
- 按状态分类显示种子统计
🔧 配置说明
环境变量
后端支持以下环境变量配置:
# 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
目录并挂载
🚨 注意事项
- 安全性:请确保 qBittorrent WebUI 使用强密码
- 网络:确保应用能够访问到 qBittorrent 客户端
- 防火墙:检查防火墙设置,确保端口可访问
- 资源:大量种子可能影响性能,建议合理配置刷新间隔
🐛 故障排除
常见问题
-
无法连接客户端
- 检查 IP 地址和端口是否正确
- 确认 qBittorrent WebUI 已启用
- 检查用户名和密码
-
数据不更新
- 检查网络连接
- 查看浏览器控制台错误
- 重启服务
-
Docker 部署问题
- 检查 Docker 和 Docker Compose 版本
- 查看容器日志:
docker-compose logs
🤝 贡献
欢迎提交 Issue 和 Pull Request!
📄 开发指南
详细的开发指南请参考 开发指南.md
📜 许可证
MIT License