5.9 KiB
5.9 KiB
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 |
| 业务任务最大时长 | 按场景配置;不设全局强制截断 |
仍需在后续真实验收时形成的证据(不阻塞本机代码实现)
- gateway 使用固定 fingerprint 版本和指纹参数的持久化清单,以及浏览器升级对照记录。
- 真实代理端点/认证授权(若执行代理用例);直连只能作为明确的无代理配置,不得作为代理失败回退。
- 抖音测试账号、登录二维码、UID 身份核对及真实采集/写操作的逐项人工授权;不得把密码、Cookie、验证码或 token 写入记录。
- 旧 Docker 对照是否实际执行;没有可信旧基线时性能改善必须标记未验证。
结论
本机 Linux、非 root 用户、Python、systemd、Xvfb、磁盘、基础网络、已安装的 fingerprint Chromium sandbox 探针和独立 Profile 根目录已具备;用户已批准单节点验证参数,P0 放行本机单节点实现。真实平台写操作、代理用例和性能对照仍须在验收阶段按授权执行。不得切回 Docker、使用普通 Chrome 冒充 fingerprint browser、传入 --no-sandbox、抢占现有 Profile,或删除未确认的旧 Docker 资源。