85 lines
1.8 KiB
Markdown
85 lines
1.8 KiB
Markdown
# 文件下载管理器
|
||
|
||
简单的Python文件下载工具,支持后台运行和Web界面监控。
|
||
|
||
## 功能特点
|
||
|
||
- ✅ 顺序下载,一个完成后才开始下一个
|
||
- ✅ 自动从URL或响应头获取文件名
|
||
- ✅ Web界面实时查看下载状态
|
||
- ✅ 后台运行,记录PID和日志
|
||
- ✅ 使用Python3内置库,无需额外安装
|
||
|
||
## 使用方法
|
||
|
||
### 1. 配置下载地址
|
||
|
||
编辑 `sources.txt` 文件,一行一个URL:
|
||
|
||
```
|
||
# 注释行以 # 开头
|
||
https://example.com/file1.zip
|
||
https://example.com/file2.pdf
|
||
```
|
||
|
||
### 2. 启动服务
|
||
|
||
```bash
|
||
./start.sh
|
||
```
|
||
|
||
启动成功后会显示:
|
||
- PID(进程ID)
|
||
- Web访问地址:http://localhost:8888
|
||
- 日志文件路径
|
||
- 下载目录路径
|
||
- **所有下载任务的状态统计和详情**
|
||
|
||
### 3. 查看状态
|
||
|
||
```bash
|
||
./show_status.sh
|
||
```
|
||
|
||
显示所有任务的:
|
||
- 状态统计(等待/下载/完成/失败)
|
||
- 每个任务的详情(URL、文件名、大小、重试次数、错误信息)
|
||
|
||
或者访问 Web 界面:http://localhost:8888
|
||
|
||
### 4. 停止服务
|
||
|
||
```bash
|
||
./stop.sh
|
||
```
|
||
|
||
停止前会显示当前任务状态。
|
||
|
||
## 文件说明
|
||
|
||
| 文件 | 说明 |
|
||
|------|------|
|
||
| `sources.txt` | 下载资源列表(一行一个URL) |
|
||
| `download_manager.py` | 主程序 |
|
||
| `start.sh` | 启动脚本 |
|
||
| `stop.sh` | 停止脚本 |
|
||
| `show_status.sh` | 状态查看脚本 |
|
||
| `download/` | 下载文件保存目录 |
|
||
| `download_state.json` | 任务状态保存文件 |
|
||
| `download_manager.log` | 运行日志 |
|
||
| `download_manager.pid` | 进程PID文件 |
|
||
|
||
## 常见问题
|
||
|
||
**Q: 如何修改端口?**
|
||
A: 修改 `download_manager.py` 中的 `PORT = 8888`
|
||
|
||
**Q: 下载中断后如何恢复?**
|
||
A: 重新运行 `./start.sh`,会自动从中断处继续
|
||
|
||
**Q: 如何重新下载失败的文件?**
|
||
A: 删除 `download_state.json` 后重启
|
||
|
||
**Q: 查看日志?**
|
||
A: `tail -f download_manager.log`
|