Skip to content
KitploitKITPLOIT
工具漏洞利用博客
Log in
提交
工具漏洞利用博客
提交

黑客、渗透测试和网络安全工具,武装您的安全武器库!

Kitploit 是一个黑客、网络安全和渗透测试工具的目录。发现最新的项目更新,查找漏洞、分析系统、自动化测试并加强你的安全。

订阅源联系隐私© 2026 Kitploit

工具目录

分类

查看所有分类
Loading categories
GetBlocked — 轻量级、仅本地的MV3 Chrome扩展,用于减少常见的第三方网络跟踪。 | Kitploit
工具/GitHubGitHub/alex-w-developer/getblocked
防御工具Web安全隐私保护学习与教育精选资源
GitHubalex-w-developer/getblocked

GetBlocked

轻量级、仅本地的MV3 Chrome扩展,用于减少常见的第三方网络跟踪。

查看仓库
2362212天前Kitploit 审核通过

最受欢迎

查看全部 →

发现我们社区最常用的工具。

探索所有工具

浏览我们的工具集合

查看所有工具 →
分享

GetBlocked! 标志

GetBlocked!

更干净的页面。更少的跟踪器。仅本地运行。

GetBlocked! 是一款轻量级、仅本地运行的 Chrome 扩展,通过拦截已知跟踪器请求、清理跟踪链接并解释跟踪尝试,帮助减少常见的第三方网站跟踪。可选的实验性诱饵模式(Decoy Mode)则相反:放行已知跟踪器请求,同时将受支持的分析标识符替换为一个一致的虚假浏览器会话配置文件。

它被构建为一个体积小巧、可审查的 Manifest V3 项目,面向希望获得友好隐私工具的用户,以及希望提交快速、实用拉取请求的贡献者。

GetBlocked! 的功能

  • 使用 Chrome declarativeNetRequest 拦截一份精选的已知第三方跟踪器域名初始列表。
  • 清理常见的跟踪 URL 参数,例如 utm_source、fbclid、gclid、dclid、mc_cid 及类似的营销活动 ID。
  • 保留用于邀请、推荐和应用路由的通用 ref 参数。
  • 检测可见的跟踪尝试,例如像素、可疑脚本、跟踪 iframe 和跟踪链接。
  • 显示紧凑的弹出报告,包含:
    • 此页面上估计的跟踪器资源数
    • 此页面上被诱饵替换的数量
    • 已清理的跟踪链接数
    • 检测到的可见跟踪尝试数
    • 检测到的类别
  • 将报告数据保存在本地的 chrome.storage.local 中。
  • 在本地保存诱饵模式偏好,并将生成的虚假配置文件仅保存在 chrome.storage.session 中。

GetBlocked! 实际效果

扩展弹出窗口概览

GetBlocked! 弹出窗口显示正常拦截模式、页面计数和检测到的跟踪器类别

正常模式与诱饵模式

GetBlocked! 弹出窗口在正常拦截和实验性诱饵模式之间切换

GetBlocked! 可以拦截的内容

GetBlocked! 拦截一份精选的已知第三方跟踪器域名和跟踪 URL 参数初始列表。

当前覆盖范围包括:

  • 分析跟踪器
  • 广告和再营销跟踪器
  • 社交媒体像素
  • 会话回放和热力图工具
  • 联盟和归因跟踪器
  • 电子邮件营销跟踪器
  • 跟踪 URL 参数

跟踪器列表有意保持保守。规则仅限于第三方请求,以减少网站损坏。

当实验性诱饵模式开启时,主要的跟踪器拦截规则会被禁用,但跟踪参数清理仍然启用。对同一目录中域名的页面级 fetch、XMLHttpRequest 和 navigator.sendBeacon 调用会在可行的情况下被拦截。

GetBlocked! 无法做到的事

  • 它不会拦截每一个跟踪器。
  • 它不会让用户匿名。
  • 它无法在登录账户后阻止跟踪。
  • 它无法阻止服务器端跟踪。
  • 它无法完全防止高级指纹识别。
  • 它并非用于替代功能齐全的广告拦截器。
  • 诱饵模式无法隐藏 IP 地址、TLS/网络元数据、浏览器指纹,或受支持请求格式之外添加的标识符。
  • 诱饵模式无法重写图像像素、脚本、表单、WebSocket,或在其会话配置可用之前发起的请求。

实验性诱饵模式

诱饵模式默认关闭。使用弹出窗口中明确标注的 Experimental 开关来启用它。它适用于所有网站:从一个网站的弹出窗口开启它,会在所有地方暂停目录跟踪器拦截,包括其他标签页。URL 清理保持开启。从任何网站的弹出窗口关闭它,即可在所有地方恢复拦截;全局偏好会在浏览器重启后保持保存。

启用后:

  • 静态规则 1(基于目录的第三方跟踪器拦截器)已禁用。
  • 静态规则 1000(针对顶层导航的跟踪参数清理)保持启用。
  • 使用 fetch、XMLHttpRequest 和 navigator.sendBeacon 发起的已知跟踪器请求会在页面的主 JavaScript 世界中接受检查。
  • 常见的分析标识符和配置文件字段(包括匿名、客户端、用户、设备和会话 ID,以及受支持的电子邮件/姓名/电话字段)在其请求格式受支持时会被替换。
  • 在当前浏览器/扩展会话中,一个连贯的虚假配置文件会在各标签页之间重复使用。当 Chrome 重启或扩展被重新加载、禁用或更新时,该配置文件会被丢弃。
  • 只有当至少一个受支持的字段实际被替换时,请求才计为被诱骗。

诱骗模式不会创建请求,也绝不会更改事件名称、事件类型、顺序或交易 ID、产品、价格、金额、货币、转化、购买或广告点击字段。现有的事务性事件不会被虚构或重新分类。由于跟踪器请求被允许到达其目的地,这些服务仍可能观察到用户的 IP 地址和其他网络元数据。参见诱骗模式详情。

GetBlocked! 有何不同

GetBlocked! 是:

  • 轻量级:规则集小、弹窗简单、活动部件最少。
  • 仅本地:无外部分析、遥测或远程日志记录。
  • 开源:规则、弹窗和生成脚本均可检查。
  • 教育性:分类和措辞旨在清晰地解释常见跟踪。
  • 对初学者友好:小型 PR 即可改进跟踪器目录、文档、测试或 UI。
  • 并非完整广告拦截器的替代品:它专注于常见跟踪器和清晰的解释。

为什么所有数据都保留在本地

GetBlocked! 不会将浏览数据发送到任何服务器。该扩展使用:

  • declarativeNetRequest 进行由 Chrome 管理的本地请求拦截。
  • chrome.storage.local 存储页面报告数据。
  • chrome.storage.session 存储内存中的诱骗模式虚假配置文件。
  • 一个内容脚本,在本地扫描当前页面以查找可见的跟踪信号。

没有扩展自有的分析、遥测端点、远程日志或捆绑的远程资源。在诱骗模式下,页面现有的跟踪器请求会被有意放行,并替换受支持的标识符;GetBlocked! 不会发起额外的跟踪器请求。

在 Chrome 中本地安装

  1. 下载或克隆此仓库。
  2. 打开 chrome://extensions。
  3. 开启开发者模式。
  4. 选择“加载已解压的扩展程序”。
  5. 选择 GetBlocked! 项目文件夹。
  6. 固定 GetBlocked! 并在普通网页上打开弹窗。

生产构建避免了仅调试用的 DNR 反馈权限。在普通模式下,弹窗和徽章会报告一个此页面上估计的跟踪器资源数量,该数量源自本地在页面中检测到的唯一已知跟踪器资源 URL。这是对拦截规则所针对的跟踪器资源的估计,而非 Chrome 确认的已匹配或已拦截网络请求数。在诱骗模式下,徽章则改为反映此页面上被诱骗的数量,即扩展实际修改的受支持请求负载数。URL 清理活动会单独报告。普通模式下的拦截和 URL 清理由 MV3 declarativeNetRequest 强制执行;在诱骗模式下,仅拦截规则被禁用。

10 分钟内贡献

初次接触扩展?浏览开放的适合新手的议题 ,寻找带有起始文件和验收标准的小型文档、可访问性和测试任务。阅读贡献指南,在开始处理某个议题时发表评论,并提交一个聚焦的 PR。欢迎草稿 PR。

最简单的贡献方式是添加一个跟踪器域名。

  1. 编辑 shared/tracker-catalog.json。
  2. 在 test/tracker-test-set.json 中添加一个测试夹具。
  3. 运行 npm run generate:rules。
  4. 运行 npm run test:evidence。
  5. 提交一个 PR。

欢迎提交 PR,用于新增跟踪器域名、失效站点测试、UI 优化、文档和测试改进。提交小型、聚焦的 PR 前无需事先询问。

关于常见的扩展和跟踪术语,请参阅 GetBlocked! 术语表。

跟踪器目录的工作方式

一个额外的 社区域名列表 开关默认关闭。它启用了来自 Dev2023-Op 分支的 67 个社区报告的不安全域名。这些报告未经核实,可能会拦截合法站点。启用后,该列表会独立于诱饵模式拦截访问和请求。它本地打包,不会自动更新。有关来源、限制以及需要编辑的确切文件,请参阅社区列表指南。

跟踪器域名维护在 shared/tracker-catalog.json 中。

每个跟踪器条目包含:

  • domain
  • category
  • label
  • notes

跟踪 URL 参数维护在 shared/tracking-params.json 中。

更改目录或跟踪参数列表后,重新生成派生的扩展文件:

npm run generate:rules

这会更新:

  • rules/rules.json,供 Chrome declarativeNetRequest 使用。
  • shared/config.js,用于页面检测,并将诱饵模式限定在跟踪器目录范围内。
  • rules/unsafe.json,由 shared/unsafe-domains.json 生成的独立可选社区规则集。

除非同时更新生成器或源目录,否则不要手动编辑生成的规则/配置。

运行测试

运行与 CI 使用的相同的本地验证层:

npm run check

这会重新生成规则、运行证据测试夹具、检查 JavaScript 语法、解析 JSON 数据文件、验证生成的文件是否同步,并运行隐私/安全防护检查。

有用的单项检查:

npm run generate:rules
npm run test:evidence
npm run test:decoy
npm run check:syntax
npm run check:json
npm run check:generated
npm run check:safety

使用兼容的 Chromium 系列浏览器运行自动化浏览器测试:

npm run test:browser

这会启动 Chrome 并加载未打包的扩展,导航到带有常见跟踪 URL 参数的 test/manual-test.html,并验证:

  • 跟踪参数(utm_source、fbclid、gclid 等)会被扩展的 declarativeNetRequest 重定向规则从 最终页面 URL 中移除。
  • 扩展后台 service worker 返回一份报告,其中包含内容脚本检测到的非零页面 活动。
  • 诱饵模式仅禁用拦截规则,复用同一个会话配置文件, 保留 URL 清理,统计被修改的请求,并恢复正常模式。
  • 扩展不会抛出意外的运行时异常。

无需任何 npm 包。该测试仅使用 Node.js 内置模块和 Chrome 的 远程调试协议(CDP)。某些品牌浏览器构建会忽略 --load-extension;如果找不到兼容的浏览器,或未打包的扩展 未能加载,本地默认模式会以退出码 0 退出并打印 SKIP。

CI 会安装 Chrome for Testing,并在单独的 browser 任务中运行 npm run test:browser -- --required。必需模式在浏览器测试无法 运行时以非零码退出。将 CHROME_PATH 设置为兼容的可执行文件,即可在本地运行相同的检查。

使用环境变量覆盖默认值:

变量默认值用途
CHROME_PATH自动检测兼容的 Chromium 系列可执行文件路径
TEST_PORT8765本地静态文件服务器端口
DEBUG_PORT9333Chrome CDP 远程调试端口

手动浏览器检查

加载未打包的扩展后,从此文件夹启动一个简单的本地服务器:

python -m http.server 8080

然后打开:

http://localhost:8080/test/manual-test.html?utm_source=demo&utm_medium=test&fbclid=manual

启用 GetBlocked! 并关闭诱饵模式后,跟踪参数应从页面 URL 中移除,已知的第三方跟踪器请求应被阻止。弹窗应显示页面级跟踪器活动。

然后在弹窗中开启 诱饵模式(实验性) 并重新加载测试页面。URL 清理应继续进行,测试页面中 fetch、XHR 和 beacon 调用里受支持的标识符应被替换,此页面上的诱饵 计数应增加。跟踪器请求本身可能仍会失败,因为示例端点会拒绝测试/CORS 流量;该计数器记录的是本地替换尝试。再次关闭诱饵模式以恢复正常阻止。

贡献者链接

  • 贡献指南
  • 发布检查清单
  • 添加跟踪器
  • 损坏的网站
  • 开发指南
  • 诱饵模式
  • 适合新手的议题
  • 标签指南
  • 发布文案
  • 安全策略

许可证

MIT 许可证。参见 LICENSE。

下载工具