3.7k Star,这个纯Python下载管理器架在NAS上就忘不掉了

正文顶部截图

有些工具属于装一次就能忘掉的类型,pyLoad算是其中一个。它是一个用纯Python写成的下载管理器,目前在GitHub上有不到3800个Star,但做的事很实在:把下载任务托管到服务器或NAS上,你打开浏览器就能管。

README区域截图

pyLoad和普通下载工具有个根本区别。IDM、FDM这类是桌面软件,跑在你眼前的电脑上,关机就停了。pyLoad从设计上就面向服务器和NAS,自带Web界面,没有GUI窗口。部署之后通过浏览器访问8000端口,所有操作在网页里完成。设备关机不影响它,因为它跑在7x24小时开机的服务器上。

核心能力拆成两块。第一块是对接各种下载源:依托插件机制,支持上百个网盘服务商、直链、种子文件,也支持付费账号登录和验证码识别服务,把会员权益用起来。第二块是自动化管线:调度器按时间规则启停任务,下载完自动解压、移动文件、发送通知。两块配合起来,基本覆盖了"把文件弄到服务器上"这个需求的完整链路。

一个常见的用法:在NAS上用Docker跑pyLoad,配置几个网盘插件和RSS监控。有新资源自动抓取排队下载,下完解压归档,一条通知推送到手机。全程不用打开任何客户端软件,也不用守着电脑等进度条跑完。

安装方式不复杂。pip一键装,Python 3.9以上就行:

pip install --pre pyload-ng[all]
pyload

如果需要按需安装,可以指定模块。plugins标签包含插件依赖包,build标签包含翻译构建工具,all标签包含全部:

pip install pyload-ng[plugins]

Docker部署适合长期运行,和系统Python环境隔离开:

docker create --name=pyload \
  -v /your/config:/config \
  -v /your/downloads:/downloads \
  --restart unless-stopped \
  pyload/pyload
docker start pyload

也可以写docker-compose,配置时区、端口映射和用户权限:

version: '2'
services:
  pyload:
    image: pyload
    container_name: pyload
    environment:
      - PUID=1000
      - PGID=1000
      - TZ=Asia/Shanghai
    volumes:
      - /your/config:/config
      - /your/downloads:/downloads
    ports:
      - 8000:8000
      - 9666:9666
    restart: unless-stopped

Web界面默认用户名密码都是pyload,登录后建议立刻改掉。

插件是pyLoad的骨架,也是它和普通下载器拉开距离的地方。Downloader类插件对接各个网盘和文件服务,从HTTP直链到各类云盘都能覆盖。Addon类插件做辅助工作,定时调度、邮件通知、RSS订阅、自动归档、提取码识别都归这一类。每个插件独立安装,不需要的就不装,维持轻量。

对有开发能力的用户,pyLoad提供了一套REST API和对应的OpenAPI规范。这套接口意味着可以用任意语言生成客户端代码,写移动端App或者接入现有自动化脚本,按规范来就行。接口文档在pyLoad的Web界面里直接可查。

pyLoad最早发布于2008年,到现在维护了快20年,AGPLv3协议开源。更新节奏不快,但持续有人维护,插件生态也稳定。对NAS用户和习惯折腾自动化下载的人来说,属于部署好就不用再操心的那类工具。

协议开源。更新节奏不快,但持续有人维护,插件生态也稳定。对NAS用户和习惯折腾自动化下载的人来说,属于部署好就不用再操心的那类工具。

Logo

AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。

更多推荐