# 文件下载管理器 简单的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`