Commit Graph

8 Commits

Author SHA1 Message Date
5fa35cd7ea chore(extension/firefox): 版本升到 1.1.3(AMO 已签名 1.1.3)
AMO 签名成功:自动安全审查通过,产出已签名 xpi
(META-INF/mozilla.rsa + cose.manifest + cose.sig 齐备,
addons-linter 复验 0 errors)。
1.1.2 是用户手动上传的那份,1.1.3 由 web-ext sign 走 API 凭据生成。
2026-10-03 08:16:34 +08:00
2c48f561e0 fix(extension/firefox): 补 data_collection_permissions —— AMO 新增强制项
AMO 自 2025-11-03 起要求新扩展声明数据收集,缺失直接拒收(lint 里是 notice,
上传时是硬错误)。按扩展实际行为如实声明:
- required: browsingActivity —— 扩展用 history 权限把访问过的 URL、页面标题、
  访问时间同步到用户自己的服务器(自建门户),属浏览活动数据
- optional: technicalAndInteraction —— 该项按规范只能放 optional
不涉及个人身份/位置/金融等,也不出售或传给第三方,故未列入。
web-ext lint 现为 0 errors / 0 notices / 0 warnings,版本升到 1.1.2。
2026-10-02 23:31:08 +08:00
e91f69cdec fix(extension/firefox): manifest 补 gecko.id —— 缺它火狐安装时报「插件损坏」
火狐安装 xpi 必须有 browser_specific_settings.gecko.id,缺失时 AMO/临时加载
都直接拒绝并把原因笼统地报成「the add-on is corrupt / 插件损坏」。
用户实测装不上,zip 本身 CRC 完好、文件齐全,根因就是这一项缺失。
顺手把 strict_min_version 定到 102(contentScripts.register 需要的最低线)。
2026-10-02 11:56:50 +08:00
85abe9f728 fix(extension): Chrome background 改为能力探测;README 纠正检测描述 2026-10-02 11:24:55 +08:00
ff0e6418f8 feat(nav): auto-detect browser extension and offer one-click install
导航页现在会自动检测浏览历史插件是否已安装:

- 扩展在用户配置的服务地址上动态注册 content script
  (Chrome: chrome.scripting.registerContentScripts,
   Firefox: browser.contentScripts.register),
  于 document_start 给 <html> 打上 data-navi-ext 标记,
  不在其他站点运行。
- history-server 始终把「安装浏览历史插件」放在「历史访问」第一条
  (入口 url=/extension/install.html),启动时也会重建一次,
  不再需要等下一次同步。
- web/navi.js 读到标记后隐藏该入口(连 .item-wrapper 一起隐藏,
  避免留下空网格位)。
- 新增 /extension/install.html:自动识别浏览器,给出对应安装包与步骤;
  支持在 data 卷放 extension-store.json 配置商店链接,
  有商店链接时显示真正的「一键安装」。
- 段落名匹配同时兼容中英文(常用服务/Favorites、历史访问/History),
  修掉了公开示例 conf.yml 用英文名时重建逻辑完全失效的问题。
- 扩展升到 1.1.0(新增 scripting 权限与 detect.js)。

Note: Chrome/Edge 不允许从网站直接安装非商店扩展,
因此自托管场景下只能下载后手动加载;发布到商店后才会出现一键安装。
2026-09-11 10:41:10 +08:00
e48fcc53cd fix: make browser history sync reliable 2026-09-10 22:24:43 +08:00
f0b318be45 feat: complete browser extensions + token auth for history/admin APIs
- Extensions: rewrite both Chrome MV3 & Firefox MV2 with reliable
  chrome.history.search incremental pull (not onVisited), local search-engine
  filtering, URL dedup, 30s alarm, retry queue, Bearer token header
- Add icons (16/48/96/128) for both browsers
- Manifest fixes: chrome action popup, firefox options_ui + browser shim
- history-server: require NAVI_SYNC_TOKEN for POST /sync & GET history,
  NAVI_ADMIN_TOKEN for DELETE; fix RWMutex deadlock (unlock before
  sortDashyFavorites) that stalled syncs with valid token
- admin-server: require NAVI_ADMIN_TOKEN for item add/delete writes
2026-09-08 22:35:54 +08:00
7e49d2b51c feat: HomeDash - unified self-hosted navigation portal
Single-container navigation service combining:
- Dashy dashboard + SearXNG metasearch + history sync API + admin WebUI
- Go services for history/admin APIs, nginx as unified entry
- Browser extensions (Chrome MV3 / Firefox MV2) with 30s batched sync
- Production guide: portal-nginx unified auth reverse proxy + webui4frpc/frp tunnel
- Fully sanitized (no internal IPs/domains/credentials)
2026-09-08 22:25:00 +08:00