JianFeeeee
e7ea091e19
fix(history): give history entries real site favicons
历史条目的图标原先写死 fas fa-globe,整栏都是地球图标。
- 新增 history-server/favicon.go:后台抓取每个 host 的 favicon 并缓存到
data/item-icons/,命中后 conf.yml 写本地文件名,与手工图标同一套解析。
抓取顺序 <host>/favicon.ico → 首页 <link rel=icon>;3 个 worker,
失败 6 小时后再试;完成后合并触发一次 conf.yml 重建。
- 只缓存 Dashy 能渲染的格式:其 isImage() 白名单是 [svg,png,jpg],
写 .ico 进去完全渲染不出来。因此 .ico 先抽内嵌 PNG,若是传统 BMP/DIB
编码则解码后转 PNG(Google 这类站点只给老式 .ico)。
- 内网地址用 host:port 区分(不同端口的服务不再共用一个图标),且只直连;
外网站点直连失败时自动复用 SearXNG outgoing.proxies 的代理,
也可用 NAVI_FAVICON_PROXY 覆盖。
- 修掉一个真实缺陷:导航项都没有访问数据时,原来会提前 return 并把
「历史访问」清成只剩安装入口 —— 只浏览站外站点时真实历史会整个消失。
现在只冻结「常用服务」,历史照常生成。
- Dockerfile 去掉 # syntax=docker/dockerfile:1:该指令会让 BuildKit 去 pull
docker/dockerfile 前端镜像,无外网环境直接构建失败;本文件未用 BuildKit 语法。
实测:6/6 站点(含 google.com 的 DIB 型 ico、github.com、docker.com、
news.ycombinator.com 与两个内网服务)均得到真实图标,页面 naturalWidth>0。
2026-09-11 10:55:00 +08:00
..
2026-09-11 10:55:00 +08:00
2026-09-08 22:25:00 +08:00
2026-09-08 22:25:00 +08:00
2026-09-11 10:55:00 +08:00