Firefox 128+ / Firefox for AndroidMIT26 种语言
不让 Google Analytics 统计你
它会告诉页面里的 Google Analytics 代码你已选择退出,并用五条静态规则拦截仍要发出的测量请求。没有设置页,没有过滤规则订阅,也没有计数器。
addons.mozilla.org
example.com
拦截中 — 没有数据发往 Google Analytics
排除此网站
拦截发往 Google Analytics 的数据,并告诉页面上的 GA 代码你已选择退出。
WHY THIS EXISTS
官方的退出会悄无声息地失败
谷歌官方的退出扩展是往页面里插入一个 <script> 元素。Firefox 会把页面自身的 CSP 也套用到内容脚本上,因此在 CSP 严格的站点上插入会被拦下,退出等于什么都没做。而且失败了也不会有任何提示。本扩展用的是同一个官方钩子,只是把它放到了 CSP 够不着的地方。
官方扩展
document.head.appendChild(script)
被 CSP 拒绝。没有提示,GA 继续测量。
Hakarasenai
world: "MAIN" content script @ document_start
不往 DOM 里插入任何东西,所以 CSP 拦不住。
它能做什么
- 01
LAYER 1
告诉页面上的 Google Analytics 代码:你已经选择退出
_gaUserPrefs.ioo() → true
- 02
LAYER 2
拦截那些照样要发出去的统计请求
block · /collect · /batch
- 03
ESCAPE
若某个网站因此出问题,可以用工具栏按钮只把它排除在外
已排除 — 在此网站不做任何事
不拦截的东西:googletagmanager.com 和 GA 的脚本本身。让它们照常加载,只是不让它们上报,这样站点通过 Tag Manager 驱动的其他东西仍然可用。
VERIFY
有没有生效,你可以自己确认
打开开发者工具的网络面板,加载一个用了 GA 的页面即可。规则和权限都在仓库里。
# devtools → network
blocked google-analytics.com/g/collect
blocked analytics.google.com/g/collect
blocked stats.g.doubleclick.net/collect
# permissions
declarativeNetRequest / scripting / storage 安装
现已上架 addons.mozilla.org,经 Mozilla 审核并签名。一键安装,更新交给 Firefox。
Firefox 128 或更高版本,桌面端与 Android 均可。
26 种语言,按系统设置自动选择。