Repository navigation
v6.8.14
6.8.13 的外部原图只对管理员开放,无法按站点需要向访客提供;图片详情的作者、标签与发布时间行要等详情返回才插入,画廊详情的主题明明列表已有值也先显示加载中;原图代理在上游节点约 10 秒连接超时后即放弃并回退跳转,浏览器随后可能被源站防盗链拒绝。
feat:
- 新增
site.public_original(环境变量SITE_PUBLIC_ORIGINAL、后台“公开原图”开关,默认关闭),控制访客能否通过原图入口让本站代理原图,并决定画廊、展映、嵌入页详情中是否显示原图按钮:关闭时匿名请求在解析图片和访问上游之前返回 401,开启时访客无需登录;原图入口与三档图片共用防盗链,带其他网站 Referer 的请求返回 403。原图缓存由仅管理员可用的私有协商缓存改为:代理返回的原图与三档图片一样公开长期不可变缓存,缓存键只按 Referer 区分,避免同一张图因会话或浏览器不同被反复完整取图;源站允许直连时的跳转只在发起请求的浏览器中缓存 5 分钟,代理失败的回退跳转仍不缓存。开关只影响到达应用的请求,经 CDN 时管理员打开过的原图也会被缓存并返回给访客,应用不清理已有缓存。
fix:
- 图片详情常驻作者、标签与发布时间行,加载中、失败与无值时显示占位,不再在详情返回后插入;画廊详情直接显示列表已有的主题,不再先显示加载中。
- 外部图片抓取(原图与导入共用)的连接超时由默认 10 秒放宽到 15 秒,原图探测与代理的单次时限由 12 秒放宽到 20 秒(含正文读取),减少连接较慢时原图过早回退与导入下载失败;原图失败后的回退行为不变。
test:
- 在既有用例中覆盖原图公开配置的默认值、环境播种、保存与重载、权限切换、详情验证器失效、防盗链与原图缓存头,并更新访客与嵌入页原图入口断言。
docs:
- 配置、部署与随机图 API 说明补充原图访问开关、防盗链、缓存策略与缓存生效范围。
- 整理
AGENTS.md与.agents/维护规则:合并重复条款,删除过时的旧做法描述,Web 参考中可由源码注释取得的预取、漂浮与分块过程细节改为指向源码。