zhihu-immersive-reader API
沉浸式知乎油猴脚本的版本状态与本站下载托管 API。服务每 4 小时请求一次 GreasyFork 脚本状态 API:
https://greasyfork.org/zh-CN/scripts/573678.json
如果发现 version 变化,服务会通过本机 mihomo 代理 127.0.0.1:7890 下载 code_url 指向的 .user.js 文件,并保存为:
/zhihu-immersive-reader/v<version>.user.js
例如 GreasyFork 版本 4.3.1 会保存为:
https://6767.chat/zhihu-immersive-reader/v4-3-1.user.js
同时会更新固定别名:
https://6767.chat/zhihu-immersive-reader/latest.user.js
落地页:
https://6767.chat/zhihu-immersive-reader/
路由
| 方法 | 路径 | 说明 |
|---|---|---|
GET | /api/zhihu-immersive-reader | 文档页入口。 |
GET | /api/zhihu-immersive-reader/health | 返回同步服务状态。 |
GET | /api/zhihu-immersive-reader/status | 返回页面需要的版本、安装链接、安装量和 GreasyFork 元数据。 |
POST | /api/zhihu-immersive-reader/sync | 管理员手动触发探针和下载;支持 ?force=1 强制重下当前版本。 |
GET /status
示例:
curl "https://6767.chat/api/zhihu-immersive-reader/status"
返回示例:
{
"success": true,
"service": "zhihu-immersive-reader",
"status": "current",
"version": "4.3.1",
"versionName": "v4.3.1",
"fileName": "v4-3-1.user.js",
"publicPath": "/zhihu-immersive-reader/v4-3-1.user.js",
"publicUrl": "https://6767.chat/zhihu-immersive-reader/v4-3-1.user.js",
"installUrl": "https://www.tampermonkey.net/script_installation.php#url=https://6767.chat/zhihu-immersive-reader/v4-3-1.user.js",
"lastCheckedAt": "2026-05-30T00:00:00.000Z",
"lastDownloadAt": "2026-05-30T00:00:01.000Z",
"nextProbeAt": "2026-05-30T20:00:00.000Z",
"greasyfork": {
"id": 573678,
"version": "4.3.1",
"dailyInstalls": 5,
"totalInstalls": 77,
"codeUrl": "https://update.greasyfork.org/scripts/573678/..."
}
}
字段说明:
| 字段 | 说明 |
|---|---|
version | GreasyFork API 返回的原始版本号。 |
versionName | 页面显示用版本名,例如 v4.3.1。 |
fileName | 本站托管脚本文件名,版本号里的点会转成短横线。 |
publicUrl | 当前版本的本站下载 URL。 |
installUrl | Tampermonkey 安装确认页 URL。 |
latestUrl | 固定别名 URL,始终指向最近一次成功下载的脚本内容。 |
greasyfork | 从 GreasyFork .json API 规整后的元数据。 |
proxy.mihomo | 同步时从 mihomo controller 读取到的代理组状态。 |
POST /sync
手动触发同步需要管理员认证:
curl -X POST "https://6767.chat/api/zhihu-immersive-reader/sync"
curl -X POST "https://6767.chat/api/zhihu-immersive-reader/sync?force=1"
force=1 会重新下载当前版本,适合怀疑本地文件损坏或想刷新固定别名时使用。
更新策略
- 服务启动后会延迟执行一次同步,确保新部署后尽快有脚本文件。
- 每 4 小时自动探针 GreasyFork
.jsonAPI,默认对齐本机时间 00:00、04:00、08:00、12:00、16:00、20:00。 - 探针使用代理优先,失败后允许直连兜底,避免状态完全不可用。
- 脚本下载使用代理优先,默认不直连兜底;如需临时允许下载直连,可设置
ZHIHU_READER_DOWNLOAD_DIRECT_FALLBACK=true。 - 下载前会检查文件开头包含
==UserScript==,避免保存错误页。 - 同步状态保存在
data/zhihu-immersive-reader-state.json。
错误
| HTTP | 场景 |
|---|---|
401 | 手动同步接口缺少管理员认证。 |
502 | GreasyFork API 或脚本下载失败。 |
429 | 全站 /api/* 并发超过 MAX_CONCURRENT_API_REQUESTS。 |