Skip to content

v1.5.0

Latest

Choose a tag to compare

@github-actions github-actions released this 04 Sep 10:58

版本说明

修复 Camoufox 隔离执行上下文无法读取页面脚本全局的问题,并补齐主世界 Hook、Frame 选择和持久 Trace 读取能力;既有默认行为保持不变。

主要变更

  • evaluate_jshook_function 新增显式 world="main";优先使用 Camoufox 原生 mw: 通道,旧版或外部服务可安全回退到 Firefox wrappedJSObject
  • 增加 frame_url/frame_name/frame_indexget_page_info 返回当前 Frame 清单;多匹配和失效索引明确报错。
  • 持久 Hook 支持动态全局的有界等待与赋值监听,可捕获“函数挂载后立即调用”的首次执行;目标未出现时返回 pending,不再假报成功。
  • 恢复 get_trace_data,Trace 按 world/Frame 隔离并使用有界缓存;同时修复 intercept 模式忽略 persistent 的问题。

兼容性

  • world="isolated" 仍为默认值,现有 evaluate_js/hook_function 调用和返回字段继续兼容。
  • 支持 Camoufox 0.4.x/Firefox 135、官方 152 与 reverse.5;本次只修改 MCP,无需重新编译浏览器。
  • 持久 Hook 的 frame_index 不稳定,已明确拒绝;跨导航请使用 frame_urlframe_name

验证

  • 完整测试 174 passed, 1 skipped,新增 27 项主世界、Frame、late-binding、严格序列化和 Trace 缓存回归。
  • Firefox 135、官方 Camoufox 152 与 reverse.5 均完成真实主世界读取和首次调用 Hook 验证。
  • 真实 FeiLin 页面中成功读取 initAliyunCaptcha/FEILIN/um,并捕获 FEILIN.initFeiLin 首次调用及 Frame 元数据。

致谢

完整变更v1.4.1...v1.5.0