Skip to content

pkg/runner

🏃 `pkg/runner/` — 浏览器执行核心。

pkg/runner 是 snir 的心脏:驱动 Chrome、采集证据、管理连接池、处理代理/Cookie/黑名单/设备模拟。本页是该目录的总入口,子模块各有详解。

📁 源码目录:pkg/runner/

子模块地图

子模块速查

子模块源码职责详解
核心runner.goRunner 单次执行
Driver 接口driver.goDriver 抽象
Chromedpdriver_chromedp.goCDP 实现
Optionsoptions.go配置容器
Writerwriter.go多格式输出
Poolpool.go浏览器池
PoolDriverpool_driver.go池化执行
共享池pool_singleton.go进程单例
事件pool_events.go事件总线
黑名单blacklist.goSSRF 防护
代理proxy.go代理提供者
CookieJarcookie_jar.goCookie 容器
Netscapecookie_netscape.gocookies.txt
Cookie 工具cookie_util.go解析转换
设备预设device_presets.go移动设备
发现discovery.go自动发现 Chrome

调用关系

设计要点

  • 依赖反转Runner 依赖 Driver 接口,chromedp 是其实现,可替换
  • 池化复用DriverPool 避免反复启动 Chrome
  • 安全默认Options 默认开黑名单、合理超时
  • 多 Writer 分发:一次采集多种输出

下一步

基于 MIT 许可发布