Files
creator-hub/docs/evidence/native-browser-p0-2026-09-17.md
T

5.9 KiB
Raw Blame History

Native Browser P0 本机前置核验记录

  • 核验时间:2026-09-17T07:51:43Z 起,按单节点范围复核至 2026-09-17
  • 状态:P0 已通过,放行本机单节点实现;真实平台验收证据待 P6 补齐
  • 依据:docs/native-browser-change-review.md、docs/native-browser-implementation-plan.md、docs/native-browser-verification.md
  • 本目标范围:本机单节点;多节点控制、A/B 环境、跨机恢复与多节点性能对比移至后续目标。

Git 基线与隔离

  • 同步时间:2026-09-17T08:23:28Z
  • 同步源:main 与 origin/main 均为 7e3808cf4ce453b3583079680a3b59ca2ed64ad4
  • worktree 同步前提交:1bf905599cb843959d6b1d4d64918771a0f87aa7
  • worktree 同步后提交:7e3808cf4ce453b3583079680a3b59ca2ed64ad4
  • 实施分支:refactor/native-browser-xvfb-impl
  • 实施 worktree:/home/rogee/Workspace/creator-hub-native-browser
  • 采用 fast-forward 同步,未使用强制 reset。原工作目录由其它线程使用,本次未对其 stash、reset、删除或覆盖;其既有修改和未跟踪文件继续保留。
  • 本 worktree 尚未修改业务代码;未执行 Docker 删除、远程服务修改、数据库重建或浏览器资源回收。

本机能力

项目 证据 结果
操作系统/用户 Linux home-dev,uid 1000 rogee 通过:gateway 可按非 root 用户运行
Python/Go/Node Python 3.13.5、Go 1.26.4、Node v22.21.0 通过:满足项目版本要求
systemd systemd 257.9;system/user manager 可访问,但总体状态 degraded,失败项为既有桌面/Compose 服务 部分通过:可继续核验,不能把既有服务当作 CreatorHub native gateway
Xvfb 已安装;隔离 -displayfd 启动/退出探针成功 通过:可按 runtime 分配 display;不得复用固定 :99
磁盘 / 使用率 66%,/tmp 使用率 16%;用户已批准最低可用磁盘 20 GB 通过:实现和验收必须在低于下限前拒绝新 runtime 并保留清理证据
网络 ens18 为 10.1.1.104/24,默认路由为 10.1.1.10 通过:局域网监听/联调具备基础条件;实际代理和平台访问仍需单独授权核验
sandbox / fingerprint 浏览器探针 uid 1000 使用独立临时 Profile、未传 --no-sandbox 启动 fingerprint Chromium 148.0.7778.215;unshare -Ur 与 unshare -Urnm 成功,指纹参数使 UA/platform/cores/lang/timezone 生效 通过:可使用 Linux user-namespace sandbox;不继承现有普通 Chrome 或 Docker 进程

浏览器与 Profile 边界

  • 已按用户指定的上游仓库安装 fingerprint Chromium:https://github.com/adryfish/fingerprint-chromium。
  • 上游版本:tag 148.0.7778.215,源码仓库提交 3f61b0dfa665e883da8824b1450601fc529dd006;发布资产为 ungoogled-chromium-148.0.7778.215-1-x86_64_linux.tar.xz,GitHub API 提供的 SHA-256 为 70d239830332e5820aa34dfcb284161cac0429eee25da642830afe04bda717f4。
  • 本机安装路径:/home/rogee/.local/share/creatorhub/browsers/fingerprint-chromium/148.0.7778.215/chrome;安装二进制 SHA-256 为 abd700e6015e259a00f1a31e99ad16f99f63365222328937454e8f603f575284,权限为 rogee:rogee 0755。
  • 上游 LICENSE 为 BSD-3-Clause;仓库 README 说明该构建基于 Ungoogled Chromium,并公开上述指纹参数。许可证和来源已记录,未把其代码复制进本项目。
  • 当前看到的 /opt/chromium/chrome 只存在于另一进程的 mount namespace,主机路径不存在;该进程命令行带 --no-sandbox,不能作为 native gateway 的浏览器或 sandbox 证据。
  • ~/.chrome/profile 当前为活动浏览器 Profile(权限 775),不能被新 runtime 抢占或改写;~/.config/google-chrome 与 ~/.config/chromium 为现有用户目录,也不能直接作为 CreatorHub 账号 Profile 根目录。
  • 已创建独立的 CreatorHub Profile 根目录:/home/rogee/.local/share/creatorhub/browser-profiles,权限 rogee:rogee 0700。每个账号/运行代次必须由 gateway 依据内部 ID 生成子目录并独占锁定;禁止请求方传入任意删除路径,禁止触碰现有用户 Profile。
  • 当前已有 :99/5900/9222 浏览器会话,证明不能假定固定 display、VNC 或 CDP 端口;runtime 必须做冲突安全分配。

已批准的单节点验证参数

用户已批准以下初始参数,复杂业务采集最大时长仍按具体场景单独配置,不因清理预算强行截断:

参数 初始值
短任务清理预算 T_cleanup 30 秒
服务恢复预算 T_recover 60 秒
验证并发 1(基线)/2(压力)
runtime lease 60 秒过期,20 秒续租
最低可用磁盘 20 GB
单 runtime 日志上限 1 GB
Profile 缓存上限 20 GB
业务任务最大时长 按场景配置;不设全局强制截断

仍需在后续真实验收时形成的证据(不阻塞本机代码实现)

  1. gateway 使用固定 fingerprint 版本和指纹参数的持久化清单,以及浏览器升级对照记录。
  2. 真实代理端点/认证授权(若执行代理用例);直连只能作为明确的无代理配置,不得作为代理失败回退。
  3. 抖音测试账号、登录二维码、UID 身份核对及真实采集/写操作的逐项人工授权;不得把密码、Cookie、验证码或 token 写入记录。
  4. 旧 Docker 对照是否实际执行;没有可信旧基线时性能改善必须标记未验证。

结论

本机 Linux、非 root 用户、Python、systemd、Xvfb、磁盘、基础网络、已安装的 fingerprint Chromium sandbox 探针和独立 Profile 根目录已具备;用户已批准单节点验证参数,P0 放行本机单节点实现。真实平台写操作、代理用例和性能对照仍须在验收阶段按授权执行。不得切回 Docker、使用普通 Chrome 冒充 fingerprint browser、传入 --no-sandbox、抢占现有 Profile,或删除未确认的旧 Docker 资源。