{
 "schema": 1,
 "version": "2026.10.16.1",
 "kind": "hub-publish-version",
 "generated_at": "2026-10-16T18:37:53+0800",
 "generated_by": "deploy/nfos/publish-hub-index.py",
 "algorithm": "sha256",
 "counts": {
  "PUBLIC": 171,
  "REVIEW": 35,
  "GATED": 10,
  "ROOT": 1,
  "total": 216
 },
 "bytes_total": 669741,
 "buckets": {
  "PUBLIC": {
   "count": 171,
   "gate": "public",
   "url_prefix": "https://nfarms.cn/hub/download/",
   "note": "公开：下载可视化（工具箱 + Shell 库）"
  },
  "REVIEW": {
   "count": 35,
   "gate": "public",
   "url_prefix": "https://nfarms.cn/hub/scripts/",
   "note": "公开：已脱敏（口令→CHANGE_ME、私网 IP→192.0.2.x，见 REVIEW-SCRUB-REPORT.tsv）"
  },
  "GATED": {
   "count": 10,
   "gate": "auth_request",
   "url_prefix": "https://console.nfarms.cn/scripts/",
   "note": "门禁：console.nfarms.cn/scripts/ 需统一登录（匿名 401），名称不进公开面"
  },
  "ROOT": {
   "count": 1,
   "gate": "public",
   "url_prefix": null,
   "note": "发布根级非生成文件（随桶一起登记，不公开）"
  }
 },
 "artifacts": {
  "index.json": {
   "bytes": 70406,
   "sha256": "4c4357fec25b06a845cc9103ea9dbdf8e2093d24259398942f5011a181d9df43",
   "covers": "发布内容 217 条（三桶 + 根级非生成文件）"
  },
  "index.html": {
   "path": "web/hub/index.html",
   "bytes": 66740,
   "sha256": "9d4828a2829676bc00e62a20b84263a343fb0c9a5e077c47c608e1763e7aea81",
   "served_at": "https://nfarms.cn/hub/",
   "note": "入口页（下载可视化）；与视图树同根，经 /hub/ 直达"
  },
  "SHA256SUMS": {
   "bytes": 23850,
   "sha256": "497595e9676460b180ccbad69d4d4613f558c2f671e9d7fd100beb28d4f2f586",
   "lines": 218,
   "covers": "index.json['files'] 全部 217 条 + index.json 自身"
  },
  "MANIFEST.sha256": {
   "covers": "发布根下全部常规文件（除自身），含 web/ 与 web-gated/ 视图树（硬链接）",
   "verify": "cd /opt/Cy/nfarms/hub-publish && sha256sum -c MANIFEST.sha256"
  }
 },
 "view": {
  "web": "/opt/Cy/nfarms/hub-publish/web",
  "web-gated": "/opt/Cy/nfarms/hub-publish/web-gated",
  "mode": "hardlink",
  "note": "视图树每个文件都是桶内文件的硬链接（同 inode、同字节、不额外占空间）；nginx 只读这两棵树，因此 /hub/**、console /scripts/** 服务出去的字节与 MANIFEST.sha256 登记的完全一致。",
  "web_index_json": "公开目录（仅 PUBLIC+REVIEW），经 /hub/index.json 对外"
 },
 "urls": {
  "entry": "https://nfarms.cn/hub/",
  "download": "https://nfarms.cn/hub/download/",
  "scripts": "https://nfarms.cn/hub/scripts/",
  "catalog": "https://nfarms.cn/hub/index.json",
  "version": "https://nfarms.cn/hub/VERSION.json",
  "gated": "https://console.nfarms.cn/scripts/",
  "legacy_gated_hub": "https://hub.nfarms.cn/"
 },
 "note": "GATED 的名称与校验值不进公开面（index.json / index.html / web/index.json / SHA256SUMS 中的 GATED 行都不经 HTTP 暴露）。"
}
