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)
49 lines
1.5 KiB
Markdown
49 lines
1.5 KiB
Markdown
# JianF Nav Sync — 浏览器扩展
|
||
|
||
将浏览历史同步到 JianF 统一导航门户,按总访问频次自动排序显示。
|
||
|
||
## 安装
|
||
|
||
### Chrome / Edge(MV3)
|
||
|
||
1. 打开 `chrome://extensions/`
|
||
2. 开启「开发者模式」
|
||
3. 点击「加载已解压的扩展程序」,选择 `chrome/` 目录
|
||
4. Edge 同理:`edge://extensions/`
|
||
|
||
### Firefox(MV2)
|
||
|
||
1. 打开 `about:debugging#/runtime/this-firefox`
|
||
2. 点击「临时加载附加组件」,选择 `firefox/manifest.json`
|
||
3. 如需永久安装:打包后通过 `about:addons` 安装
|
||
|
||
### iOS
|
||
|
||
Safari 不支持自定义扩展直接注入 `chrome.history` API。
|
||
推荐方案:使用 Safari Web Extension(需 Xcode)或通过快捷指令定时拉取。
|
||
|
||
## 配置
|
||
|
||
点击扩展图标 → 设置:
|
||
|
||
| 字段 | 说明 |
|
||
|------|------|
|
||
| 服务地址 | `https://nav.example.com`(你自己的导航服务地址) |
|
||
| 同步令牌 | 服务端环境变量 `NAVI_SYNC_TOKEN` 的值,留空则不鉴权 |
|
||
| 设备名称 | 用于区分多端,如 `desktop-chrome`、`android-chrome` |
|
||
|
||
## 行为
|
||
|
||
- 每 30 秒检查一次本地队列
|
||
- **仅在有待同步数据时发送 POST 请求**(无空轮询)
|
||
- 搜索引擎 URL 在本地过滤,不上传
|
||
- 同步失败时数据保留,下次重试
|
||
- 导航栏「历史访问」分组按 `total_visits` 降序自动填充
|
||
|
||
## 技术细节
|
||
|
||
- Chrome/Edge: Manifest V3 (Service Worker)
|
||
- Firefox: Manifest V2 (Event Page)
|
||
- 存储: `chrome.storage.local`
|
||
- API: `chrome.history.onVisited` + `chrome.alarms`
|