跳到主要内容

zhihu-immersive-reader API

沉浸式知乎油猴脚本的版本状态与本站免翻墙镜像 API。服务启动时立即检查 GreasyFork,之后默认每 4 小时通过本机 mihomo 请求脚本状态 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/latest.meta.js

镜像文件会把 @downloadURL@updateURL 改写为上述本站地址。因此通过“个人站点路线”安装后,首次安装和后续油猴自动更新都不需要浏览器直连 GreasyFork。

落地页:

https://6767.chat/zhihu-immersive-reader/

路由

方法路径说明
GET/api/zhihu-immersive-reader文档页入口。
GET/api/zhihu-immersive-reader/health返回同步服务状态。
GET/api/zhihu-immersive-reader/status返回本站实际提供的版本、安装链接、同步状态、安装量和 GreasyFork 元数据;?force=1 可立即执行一次探针。

GET /status

示例:

curl "https://6767.chat/api/zhihu-immersive-reader/status"

返回示例:

{
"success": true,
"service": "zhihu-immersive-reader",
"status": "current",
"version": "5.1.2",
"versionName": "v5.1.2",
"fileName": "v5-1-2.user.js",
"publicPath": "/zhihu-immersive-reader/v5-1-2.user.js",
"publicUrl": "https://6767.chat/zhihu-immersive-reader/v5-1-2.user.js",
"latestUrl": "https://6767.chat/zhihu-immersive-reader/latest.user.js",
"installUrl": "https://www.tampermonkey.net/script_installation.php#url=https%3A%2F%2F6767.chat%2Fzhihu-immersive-reader%2Flatest.user.js",
"lastCheckedAt": "2026-07-22T07:22:00.000Z",
"nextProbeAt": "2026-07-22T11:22:00.000Z",
"sync": {
"enabled": true,
"intervalMs": 14400000,
"synchronized": true,
"error": null
},
"greasyfork": {
"id": 573678,
"version": "5.1.2",
"dailyInstalls": 3,
"totalInstalls": 181,
"codeUrl": "https://update.greasyfork.org/scripts/573678/..."
}
}

字段说明:

字段说明
version本站 latest.user.js 实际提供的版本号。
versionName页面显示用版本名,例如 v4.3.1
fileName本站托管脚本文件名,版本号里的点会转成短横线。
publicUrl当前版本的本站下载 URL。
installUrlTampermonkey 安装确认页 URL。
latestUrl固定别名 URL,始终指向最近一次成功下载的脚本内容。
sync自动同步是否开启、本轮是否下载、同步间隔和错误。
greasyfork从 GreasyFork .json API 规整后的元数据。
proxy.mihomo状态探针和脚本下载使用的本机 mihomo 地址。

立即检查

在服务端本机请求 force=1 可以跳过状态缓存,立即检查并同步:

curl "http://127.0.0.1:3013/api/zhihu-immersive-reader/status?force=1"

更新策略

  • 服务启动后立即执行一次同步检查。
  • 每 4 小时通过 mihomo 探针 GreasyFork .json API;间隔可通过 SYNC_INTERVAL_MS 调整。
  • 探针和脚本下载均固定通过 mihomo,不依赖服务器直连 GreasyFork。
  • 下载前会校验域名、脚本 ID、Userscript 元数据块、文件大小和 @version
  • 版本文件、latest.meta.jslatest.user.js 使用临时文件加重命名方式发布,失败时保留上一可用版本。
  • 镜像会将下载和更新 URL 改为 6767.chat,保证浏览器端后续更新无需访问 GreasyFork。
  • 同步状态保存在 data/zhihu-immersive-reader-state.json

错误

HTTP场景
500本地镜像文件无法读取,或状态构建失败。
sync_failedHTTP 请求成功,但下载、校验或原子发布失败;继续提供上一版本。
stale_upstreamGreasyFork 暂时不可达,返回上次持久化的上游状态和当前本地版本。