cookiecrumbler:自动检测网站 Cookie 同意通知
项目介绍
cookiecrumbler 是一个开源项目,旨在自动检测网页上的 Cookie 同意通知。这个工具的设计初衷是为了帮助开发者识别我们目前尚未屏蔽的 Cookie 同意通知,同时能够将 webcompat 报告标记为与 Cookie 同意通知屏蔽相关。cookiecrumbler 以其智能化和自动化程度,为网站隐私政策的合规性检测提供了一个有效的解决方案。
项目技术分析
cookiecrumbler 的技术架构主要基于 Web 应用开发,目前正处于积极开发阶段。该项目可以通过多种方式部署和使用,包括本地运行、Docker 容器运行,甚至可以集成到浏览器中。其技术特点如下:
- 自动化检测:自动扫描网页,识别 Cookie 同意通知。
- 易于集成:可以作为独立库使用,方便开发者将其集成到自己的项目中。
- 灵活配置:提供了多种配置选项,如浏览器类型、端口、延迟时间等,满足不同场景的需求。
项目及技术应用场景
cookiecrumbler 的应用场景广泛,主要适用于以下几种情况:
- 隐私合规性检测:帮助网站开发者和管理员快速识别网页上的 Cookie 同意通知,确保符合 GDPR 等隐私法规。
- Web 兼容性报告:通过识别和标记与 Cookie 同意通知相关的 webcompat 报告,提高问题解决的效率。
- 自动测试与监控:可以集成到自动化测试流程中,对网站的隐私政策变化进行监控。
项目特点
cookiecrumbler 的以下特点使其在众多类似工具中脱颖而出:
- 智能化检测:自动检测 Cookie 同意通知,无需人工干预。
- 多平台支持:支持本地、Docker 和浏览器等多种部署方式。
- 灵活配置:通过参数配置,可以满足不同用户和场景的需求。
- 视觉反馈:支持截图功能,可以直观地看到检测到的 Cookie 同意通知或整个网页的截图。
使用方式
cookiecrumbler 提供了多种使用方式,以下是基本的操作步骤:
本地设置
- 安装 Brave 浏览器。
- 使用 npm 安装依赖,并设置浏览器配置:
npm install npm run setup -- /path/to/brave
Docker 设置
- 确保安装了 Docker 和 Docker Compose。
- 运行初始设置:
cp .env.example .env docker compose run --rm --entrypoint ./docker_setup.sh brave
运行
-
本地运行:
npm run serve
可以自定义浏览器和端口:
npm run serve -- /usr/bin/brave-nightly 8000
-
Docker 运行:
- 基础设置(不包含 LLM 支持):
docker compose up brave
- 通过 Ollama 支持 LLM:
docker compose --profile ollama up brave_ollama
- 通过 AWS Bedrock 支持 LLM:
aws-vault exec cookiecrumbler-bedrock -- docker compose --profile litellm up
- 基础设置(不包含 LLM 支持):
作为库使用
import { checkPage } from 'cookiecrumbler';
const result = await checkPage({
url: 'https://example.com', // 访问的 URL
seconds: 4, // 检查通知前的延迟时间
interactive: false, // 运行时是否显示浏览器
executablePath: '/path/to/binary', // 运行的浏览器路径
adblockLists: { // 根据组件 id 启用/禁用过滤列表
'cdbbhgbmjhfnhnmgeddbliobbofkgdhe': false,
},
screenshot: true, // 返回检测到的通知或整个页面的截图
markup: true, // 返回检测到的通知的 HTML
});
截图功能
screenshot
参数可以设置为不同的值,以控制截图行为。以下是参数值和对应行为:
| 值 | 检测到元素 | 未检测到元素 | |----------|------------|--------------| | true | 🎯 | ❌ | | false | ❌ | ❌ | | always | 🎯 | 📄 | | fullPage | 📄 | 📄 |
图例:
🎯 - 检测到的元素的截图
📄 - 整个页面的截图
❌ - 不截图
测试
运行以下命令进行测试:
npm run test
如果需要,可以传递不同的浏览器路径:
npm run test -- /usr/bin/brave-nightly
通过上述介绍,可以看出 cookiecrumbler 是一个功能强大且易于使用的工具,能够为网站隐私政策的合规性检测提供重要支持。开发者可以轻松将其集成到自己的工作流程中,提高隐私保护工作的效率和准确性。