icon
网址
type
Post
status
Published
date
Mar 1, 2026
slug
patreon-gallery-dl-auto-download
summary
使用gallery-dl在NAS上定时批量下载Patreon内容,需配置Docker和crontab。gallery-dl支持多种媒体网站,使用JSON配置文件控制下载行为,需准备Patreon登录Cookie。手动运行脚本后可设置crontab定期执行,支持多创作者和其他平台的扩展,注意遵守平台规则和维护Cookie文件。
tags
工具
docker
NAS
category
技术分享
Patreon 本身没有提供“批量下载、定时同步”的官方工具,但我们可以使用 gallery-dl 在 NAS 上定时批量下载订阅的内容。
本文介绍 gallery-dl 的基本概念和功能,并展示如何用 Docker 和 crontab 搭建一个纯命令行的自动同步方案。
gallery-dl 是什么?
gallery-dl 是一款命令行程序,用来从各类图像/媒体网站下载画廊和作品集。
它的特点:
- 支持站点非常多:例如 Pixiv、Danbooru、DeviantArt、Twitter、Patreon、Fanbox 等。
- 跨平台:支持 Linux、Windows、macOS,可以通过 pip 安装,也有 Docker 镜像可用。
- 丰富配置:使用 JSON 配置文件控制下载目录结构、命名规则、过滤条件、重试策略、Cookie/OAuth 登录等。
- 支持“归档文件”:通过
-download-archive记录已经下载过的条目,下次只下载新增内容,非常适合做定时任务。
安装:以 Docker 方式运行 gallery-dl
在 NAS 或服务器上,使用 Docker 运行 gallery-dl 很方便,也不污染系统环境。
一个典型的用法是:启动时临时拉起一个 gallery-dl 容器,执行完任务后自动退出,例如:
https://example.com/gallery/123就是你要下载的作者页面。配置文件:指定下载目录和 Patreon 登录信息
gallery-dl 使用 JSON 配置文件来控制下载行为,可以通过
--config 参数指定配置文件路径。假设在宿主机上约定一个存放 gallery-dl 数据的目录:
其中:
config:放config.json和 Cookie 文件。
downloads:实际保存下载内容。
archive:保存归档数据库,用于避免重复下载。github+1
在
$BASE/config 中创建一个最小配置的 config.json:含义:
base-directory:容器内的下载根目录,设置为/gallery-dl,通过 Docker 挂载映射到宿主的$BASE/downloads。
patreon.cookies:Patreon 的 Cookie 文件路径,容器内为/config/patreon_cookies.txt,实际来自宿主的$BASE/config/patreon_cookies.txt。
准备 patreon_cookies.txt
要访问 Patreon 的订阅内容,gallery-dl 需要使用你的登录 Cookie。
常见步骤:
- 在桌面浏览器中登录 Patreon。
- 使用浏览器扩展导出
patreon.com对应的 Cookie,保存为一个cookies.txt格式文件。
- 将该文件重命名为
patreon_cookies.txt,放到$BASE/config目录中。
cookies.txt 文件大致长这样:gallery-dl 会从中读取关键 Cookie(例如
session_id),使得你可以下载自己已订阅创作者的付费内容。手动运行:下载某个 Patreon 创作者的内容
假设你想同步的创作者主页是:
https://www.patreon.com/<creator>/posts在宿主机上创建一个执行下载的脚本,比如
patreon_creator.sh:说明:
v "$BASE/config:/config":把宿主配置目录挂载为容器内/config。
v "$BASE/downloads:/gallery-dl":容器内/gallery-dl的内容实际写到宿主的downloads目录。
v "$BASE/archive:/archive":归档数据库挂载到容器内/archive。
-config /config/config.json:指定刚刚创建的配置文件。
-download-archive /archive/patreon_creator.sqlite3:开启归档功能,使用一个 sqlite 文件记录已处理过的条目,下次只下载新内容。
- URL 中的
<creator>替换成你实际关注的创作者 ID 即可。
先在宿主机上手动运行一次脚本:
检查几点:
- 是否有 403 或“登录失效”等错误(如有,多半是 Cookie 需要更新)。
$BASE/downloads下是否出现了对应的下载内容。
$BASE/archive下是否生成了patreon_creator.sqlite3文件,说明归档功能生效。
定时任务:使用 crontab 自动执行下载
当手动运行脚本确认无误后,就可以用系统的 crontab 定期执行,形成自动同步。
例如,使用 root 用户的 crontab,每天凌晨 3 点自动执行下载脚本:
在末尾添加:
这样系统就会每天 3 点自动拉起一个 gallery-dl 容器,扫描该创作者的 Patreon posts 页面,基于归档文件只下载新增内容,并将日志写入
/var/log/patreon_creator.log。如果希望更频繁,比如每 4 小时执行一次,可以调整为:
多创作者与扩展用法
在此基础上,你可以很容易扩展更多创作者或站点:
- 多个 Patreon 创作者
- 为每个创作者写一个脚本,并使用不同的归档文件:
/archive/patreon_creatorA.sqlite3/archive/patreon_creatorB.sqlite3- 每个脚本对应一条 crontab 规则,或者合并到一个脚本里依次调用多个 URL。
- 其他平台(Pixiv、Fanbox 等)
- 在
config.json中增加对应站点的配置(Cookie 或 OAuth)。 - 为每个平台/用户写自己的脚本和归档文件,实现统一的订阅内容归档中心。
注意事项
- 遵守平台规则与版权
- 仅下载自己有权限访问的内容(已登录、已订阅)。
- 维护好 Cookie 文件
- Cookie 有有效期,登录状态失效后需要重新导出并替换
patreon_cookies.txt。 - 避免将 Cookie 文件随意上传到公共仓库或分享给他人。
- 合理设置频率与限速
- 定时频率不宜过高。
- 可以在配置文件中设置重试、超时和限速参数,提升稳定性。
- 备份配置和归档文件
config.json和archive目录中的 sqlite 文件非常重要,它们决定了下载行为和“哪些内容已经同步过”。- 建议纳入 NAS 的日常备份策略,减少误删或损坏带来的重下成本.
- 作者:Neo Zed
- 链接:https://musingpages.com/technology/2026/03/01/patreon-gallery-dl-auto-download
- 声明:本文采用 CC BY-NC-SA 4.0 许可协议,转载请注明出处。
相关文章



