Files
Qbit-Manager/README.md
2025-07-18 15:46:07 +08:00

5.0 KiB
Raw Permalink Blame History

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. 克隆项目并进入目录:

git clone <repository-url>
cd qbit-manager
  1. 一键部署:
./deploy.sh
  1. 访问应用:

📋 管理命令

# 查看服务状态
docker-compose ps

# 查看日志
docker-compose logs -f

# 停止服务
docker-compose down

# 重启服务
docker-compose restart

# 更新服务
./deploy.sh

🛠️ 开发环境

后端开发

  1. 进入后端目录:
cd backend
  1. 使用 uv 创建虚拟环境并安装依赖:
uv venv --python 3.10
source .venv/bin/activate  # Linux/macOS
# 或 .venv\Scripts\activate  # Windows
uv pip install -r requirements.txt
  1. 复制环境变量文件:
cp .env.example .env
  1. 启动后端服务:
python app.py

前端开发

  1. 进入前端目录:
cd frontend
  1. 安装依赖:
npm install
  1. 启动开发服务器:
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. 保存客户端配置

管理种子

  • 查看种子:主界面显示所有客户端的种子列表
  • 筛选种子:可按状态和客户端进行筛选
  • 批量操作:选择多个种子进行批量暂停、恢复或删除
  • 单个操作:对单个种子进行操作
  • 实时更新:支持自动刷新数据

全局统计

  • 实时显示所有客户端的总下载/上传速度
  • 显示种子总数和活跃种子数
  • 按状态分类显示种子统计

🔧 配置说明

环境变量

后端支持以下环境变量配置:

# 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

📜 许可证

MIT License