This commit is contained in:
DengDai
2025-12-08 14:31:21 +08:00
commit ad2c65affb
35 changed files with 3500 additions and 0 deletions

97
README.md Normal file
View File

@@ -0,0 +1,97 @@
# PT Manager
PT Manager 是一个基于 Flask 的 Web 应用程序,用于管理 NexusPHP PT 站点以及 qBittorrent 和 Transmission 下载客户端。
## 功能特性
- 管理 NexusPHP 站点的个人信息、种子列表和收藏
- 控制 qBittorrent 和 Transmission 下载客户端
- 用户管理系统(管理员和普通用户)
- 现代化的蓝白色调界面
- Docker 容器化部署
## 技术栈
- 后端Flask、SQLite3
- 前端HTML5、Tailwind CSS、JavaScript
- 客户端 APIqbittorrent-api、transmission-rpc
- 部署Docker、Gunicorn
## 安装和部署
### 使用 Docker 部署(推荐)
1. 克隆或下载项目代码
2. 构建 Docker 镜像:
```bash
docker build -t pt-manager .
```
3. 运行容器:
```bash
docker run -d -p 5000:5000 --name pt-manager pt-manager
```
或使用 docker-compose
```bash
docker-compose up -d
```
4. 访问应用http://localhost:5000
### 直接运行
1. 安装依赖:
```bash
pip install -r requirements.txt
```
2. 运行应用:
```bash
python app.py
```
3. 访问应用http://localhost:5000
## 初始登录信息
应用启动时会自动创建管理员账户,登录信息会在控制台输出:
- 用户名admin
- 密码随机生成的16位强密码在启动日志中显示
## 功能模块
1. **登录和密码管理**
- 用户登录和登出
- 修改密码功能
2. **站点管理**
- 查看个人信息
- 浏览种子列表
- 管理个人收藏
3. **qBittorrent 管理**
- 查看种子列表
- 控制种子状态(开始、暂停、删除)
4. **Transmission 管理**
- 查看种子列表
- 控制种子状态(开始、暂停、删除)
5. **用户管理**(仅管理员)
- 添加和删除用户
- 管理用户角色
6. **系统设置**(仅管理员)
- 配置 NexusPHP 站点信息
- 配置 qBittorrent 和 Transmission 客户端连接信息
## 环境变量
- `SECRET_KEY`Flask 应用密钥(自动生成并持久化)
- `DATABASE_URI`:数据库连接 URI默认为 SQLite
- `NEXUSPHP_SITE_URL`NexusPHP 站点 URL
- `ADMIN_USERNAME`:管理员用户名(默认为 admin
## 注意事项
- 首次运行时会自动生成管理员账户和随机密码,请查看启动日志获取登录信息
- 应用使用 SQLite 数据库存储用户信息和配置,数据持久化存储在容器卷中
- 请确保 qBittorrent 或 Transmission 客户端允许远程 API 访问