Skip to content

Downloads

github-actions[bot] edited this page Sep 13, 2026 · 11 revisions

下载管理

中文 · English | 属于 使用指南 系列

本文档介绍 GalleryVault 的下载管理页面、任务队列控制、自动自愈、以及 ExHentai 官方整包 zip 归档下载机制。

下载页(#/downloads

  • 粘贴链接 / GID 批量入队:顶部「添加下载」面板支持多行 URL 或 gid/token(URL 首尾多余 / 也可解析)。加入逐页可显式指定原图/重采样(未指定则跟随全局「画质」设置,缺省重采样);归档下载弹出与收藏夹相同的 GP/清晰度预览后再入队(由弹窗档位指定)。任务标题按设置的「标题显示」(英文/日文)解析,不再只显示 gid xxx
  • 有更新则下新版:入队或开下时若 ExHentai 标明该画廊已被替换,自动改下新 gid(最多 5 跳);只跟横幅之后的新版链接,不会误跟 Parent。404/已删除不重试,列表与 Telegram 用人话提示。详情页「给这本下原图」不跟新版。
  • 全局暂停:遇到 302 临时风控挑战(remoteapi.php challenge)也会自动触发全局暂停;页内暂停按钮与 Telegram /pause 为同一开关(详见 系统设置);暂停后不再领取新页,已开始的当前页会下完,停 claim 和扫描,重启仍在;顶栏黄条可与 Cookie 红条叠加。网页暂停后 Bot 状态一致。
  • GP 与图片配额:页顶显示缓存的 GP 余额与 Image Limit(约 30 分钟刷新);配额超过约 80% 时顶栏告警,建议暂停以免 509。
  • 列出下载任务及其状态(等待 / 下载中 / 成功 / 失败 / 已取消),可按状态筛选。
  • 每行标题旁有下载方式徽标:归档任务显示「归档 · 原图/重采样」(若归档失败回退逐页则显示「回退逐页」),逐页 H@H 图片下载显示「逐页 · 原图/重采样」(旧任务 quality 为空或历史数据未回填时仍只显示「逐页」,重试继承原有画质),一眼区分通道与画质。
  • 活动任务显示实时进度条当前/总 + 百分比,进行中可附速度与 ETA),列表每 2 秒自动刷新。成功任务若已进冷归档,会显示归档 ok / pending / fail。
  • 回退标记持久化与联合索引优化:当归档任务降级为逐页下载时,降级状态通过 archive_fallback 字段直接持久化至数据库,消除了查询任务列表时对磁盘 .archive.json 临时文件的 N+1 频繁探测;数据库同时引入 idx_download_tasks_status_id 状态与 ID 复合索引,大幅提升海量任务下按状态过滤与分页的查询性能。
  • 重试可续传与完整性校验:仅补下缺失/失败的页,已落盘页面跳过。写入文件时校验图片魔数头(支持 JPEG、PNG、WebP 以及新增的 GIF 动图魔数 b"GIF8"),杜绝 HTML 拦截页或损坏伪装文件混入库中。
  • 失败自动自愈与坏节点智能轮换
    • H@H 坏节点智能轮换 (skip_hath):单页重试或遇到慢节点时,引擎自动提取失败节点的 key 并附带 nl=<skip_hath_key> 请求下一节点;页面未给出 key 时回退解析 HTML 换节点并同步任务状态,避免故障节点导致整本画廊陷入退避;
    • 指数退避与 509 熔断:瞬时错误按指数退避(30 秒→2 分→8 分→30 分→1 小时→…→最长 6 小时)重试,最多 10 次后才标记「失败」;若遭遇 ExHentai 509 配额超限(Image limits exceeded),立即触发任务级熔断终止重试,保护配额不被无意义耗尽;周期巡检还会把仍有剩余重试次数的历史失败任务自动重新激活。
  • 等待/下载中(pending 与 downloading)均可取消(取消后 worker 不落盘);失败/取消/成功可重试(单个或勾选批量)。工具栏 重试所有任务POST /api/downloads/retry-all,把 pending / failed / cancelled 清退避并立刻重试。
  • 清除全部成功:一键删除所有 success 任务记录(确认框会显示条数);只清任务列表,不删除已入库画廊文件。失败/取消/进行中任务不受影响。
  • 下载完成立即入库:画廊行/页面/标签直接从下载结果写入索引(含封面缩略图,按需生成),无需全量扫描;存储签名与扫描器一致,后续手动「扫描库」会跳过不再重复入库。
  • 配置 Telegram 后,下载成功/失败、扫描完成、改下新版404/删除会收到通知;下载通知默认汇总(改道为单独一条;404 算失败),设置里可切"即时 / 仅失败 / 关闭"。

归档下载(ExHentai archive)

官方归档通道——ExHentai 服务器把整个画廊打包成 zip(消耗 GP),客户端用单连接流式下载,大画廊远比逐页 H@H 快。入口三处共用一个执行器:

  • 收藏夹 #/favorites/<favcat> 与更新画廊 #/updates 工具栏的**「归档下载所选」/「以归档形式更新选中」:点击后先弹费用预览**(只读、不扣 GP)——顶部显示当前可用 GP,列表每项列出原图/重采样的费用与大小,缺档标红;选择档位后确认才入队。原图 = 完整分辨率原图,重采样 = 服务器固定一级重采样(默认档,GP 与流量都省)。
  • 「下载所选原图」/「更新选中原图」:仍逐页下载,但强制原图画质(无视全局画质设置)。
  • 定时扫描:设置里开启「定时扫描大画廊走归档下载」并设页数阈值后,收藏夹自动检查时页数超过阈值的画廊走归档(档位用「归档下载质量」),其余照旧逐页(跟随全局「画质」设置,缺省重采样)。阈值 0 = 全部归档。
  • 归档任务占 download_concurrency 槽位,与逐页任务同队先进先出;同一 gid 已有逐页/归档任务在队列时,再点归档会提示跳过。
  • 可靠性:zip 断点续传(Range),quality + zip 下载链接 持久化在 .gv-{gid}/.archive.json重试只续传、不重复打包、不重复扣 GP;zip 损坏会删除后重新打包;归档通道无法服务该画廊时(所选画质档不存在、GP 不足、归档损坏)默认自动降级为逐页下载(不扣 GP、走 H@H;降级状态通过 archive_fallback 字段持久化入库并在列表展示「回退逐页」徽标),设置里可关闭「归档不可用降级为逐页下载」,关闭后直接标记失败、不烧自动重试次数。下载完成走与逐页相同的收尾链:写入 .ehviewer/.galleryvault.json 元数据、发通知、立即入库、更新画廊时删除旧版。

Clone this wiki locally