换一个身份,不露破绽。
HTTP 请求头与 navigator.userAgent 出自同一个值,因此永远不会自相矛盾。一切都在 Firefox 本地运行 — 无需账号,没有遥测。
- 版本
- v2.0
- 系统要求
- Firefox 91+
- 收集的数据
- 0
仅更改 User-Agent 字符串。可解锁拒绝 Firefox 的网站;无法骗过反爬系统。
Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/151.0.0.0 Safari/537.36
每种模式能做什么、不能做什么
大多数切换器只给你一个开关,并让你以为它能让你隐身。并不能。检测是分层进行的,而扩展只能触及最上面两层 — 所以这里明确写出每种模式的边界。
| 隐匿模式 | 兼容模式 | |
|---|---|---|
| 目标 | 另一个 Firefox(版本、系统) | Chrome、Edge、Safari、移动端 |
| JavaScript 层 | 与原生无从分辨 | 与原生无从分辨 |
| TLS 指纹(JA3/JA4) | 真实的 Firefox — 一致 | Firefox,与 User-Agent 矛盾 |
| HTTP/2 指纹 | 真实的 Firefox — 一致 | Firefox,与 User-Agent 矛盾 |
| 面对反爬系统 | 没有可矛盾之处 | 会被识破 |
| 适用场景 | 融入人群 | 解锁拒绝 Firefox 的网站 |
兼容模式无法做到隐匿,我们也不会假装可以。Cloudflare 会将 TLS 握手与声明的 User-Agent 相互比对,而握手发生在任何扩展能看到之前。要解决这一层,需要的是修改过的浏览器,而不是附加组件。
自上而下,只有一个事实来源
一致的取值
请求头、client hints 与 navigator 属性都源自同一份配置,因此没有任何环节会暴露改动。
看起来原生的 getter
被改写的属性与浏览器自带属性无从分辨,连被检查时的自我描述方式都一致。
按站点配置
保留一个默认身份,并针对特定站点覆盖它 — 当某个服务只认 Chrome,而其余站点应保持 Firefox 时非常实用。
它补完了 VPN 开的头
SandVPN 隐藏你的 IP 地址,Geo-Spoof 让时区与语言和服务器保持一致,SandAgent 则负责浏览器对外声明的身份。三层防护,一个连贯的故事。
查看全部 SandVPN 应用SandAgent — 常见问题
它的作用范围有多大?
它改变浏览器对外声明的自身信息,这是识别你的两个要素之一。另一个是 IP 地址,那是 VPN 的职责。两者同时使用,各自补上对方覆盖不到的部分。
会不会导致网站出错?
有时网站会根据它推测的浏览器返回不同代码,因此版式可能变化。按站点配置正是为此而生:在所有地方保留真实身份,仅在需要的地方覆盖它。
真的免费吗?
是的。没有账号、没有付费档位、没有遥测 — 清单文件完全不申请任何数据收集,一切都在你的设备上计算。
为什么只支持 Firefox?
该附加组件依赖阻塞式 webRequest,Firefox 仍然支持,而 Chrome 已随 Manifest V3 移除。要在 Chrome 上做同样的事,就得放弃保证取值一致的请求头改写。