这三样工具经常被拿来当对手比较,其实它们不是对手。代理改变的是某一路流量从哪里来,VPN 改变的是整台电脑从哪里来,指纹浏览器改变的是浏览器本身长什么样,而它需要前两者之一来改变自己从哪里来。你需要哪一个,取决于一个问题:网站需要看到多少个身份,每个身份又有多少部分必须不同?
各自改变了什么
| 代理 | VPN | 指纹浏览器 | |
|---|---|---|---|
| 改变你的 IP | 只对使用它的应用或环境 | 整台设备 | 只通过你绑定的代理 |
| 在本地网络上加密流量 | 本身不加密 | 加密到 VPN 服务器 | 取决于下层的代理或 VPN |
| 改变你的指纹 | 否 | 否 | 是,按环境 |
| 分隔 Cookie 和存储 | 否 | 否 | 是,按环境 |
| 保持 WebRTC 与时区一致 | 否,要你自己处理 | 部分,且只针对一个身份 | 是,按环境 |
| 身份数量 | 一个代理一个 | 一个 | 一个环境一个 |
代理:一路流量一个出口
代理是替你转发请求的服务器,网站看到的是代理的地址而不是你的。代理按应用或按浏览器环境配置,这正是它的意义:你可以给不同的东西不同的出口。
实践中有两个细节要紧。第一是协议:HTTP 和 HTTPS 代理通过 TCP 承载网页流量;SOCKS5(RFC 1928)与协议无关,原则上也能承载 UDP。第二是地址的出身:机房 IP 便宜,也容易被网站识别为机房;住宅和移动 IP 属于普通消费者的连接,看起来像正常访客。
代理对你的指纹什么都不做,也不会自动覆盖浏览器发出的所有东西。WebRTC 的 STUN 请求走 UDP,会绕过 HTTP 代理,这就是经典的 WebRTC 泄漏。时区还是操作系统说了算。代理给你一个出口,让浏览器的其余部分和这个出口保持一致,是你自己的活。
VPN:整台机器一个出口
VPN 从你的电脑到一台服务器建立一条加密隧道,所有东西都从那台服务器出去:每个浏览器、每个应用、每个环境。对于它为之设计的问题,这正合适:在咖啡馆的 Wi-Fi 上,它把你的流量藏起来不让所在网络看到;在国外,它把你的祖国还给你的那一个账号。
对于多个身份,它的形状就不对了。机器上的每个环境得到同一个出口,VPN 把你和家里的 IP 隔开了,却没有把环境彼此隔开。VPN 的地址段众所周知,也被广泛标记,所以 VPN 后面的「住宅」身份往往并不住宅。会自动轮换服务器的 VPN 应用还会在会话中途改变你的位置故事,那正是时区那篇警告的那种不一致。
指纹浏览器:一个环境一个浏览器身份
指纹浏览器给每个环境一个自己的浏览器身份:独立的存储目录、自己的指纹(User-Agent、Client Hints、屏幕、显卡、Canvas、字体、音频、时区、语言)和自己的代理绑定。身份在生成时就做到内部一致,所以环境看起来像一台合理的机器,而不是一堆随机数值的集合。
它不做的事是提供网络出口。每个环境仍然需要一个代理,而代理的质量决定了整个环境的上限。浏览器的工作是让其他一切与出口一致:WebRTC 报告代理的地址,时区跟随代理的位置,语言与之相配,并且这些都不会泄漏到另一个环境。
代理:改变一样东西从哪里来。VPN:改变所有东西从哪里来。指纹浏览器:改变每样东西长什么样,并给每样东西一个自己的来处。
按场景选
- 在不信任的网络上保护隐私。 VPN。加密到一台你信任的服务器是重点,出口在哪几乎无所谓。
- 一个账号,出差时需要看起来还在家里。 固定服务器的 VPN,或者一个代理。把操作系统时区和语言对齐到出口。
- 同一个平台上的几个账号,在同一台电脑上查看。 独立环境配独立代理,再加一个能把指纹也分开的浏览器。光靠 Cookie 做不到,隔离清单解释了原因。
- 很多账号、一个团队,或者脚本。 同上,再加模板保证一致,角色权限防止有人打开错误的环境,以及一个 API 让自动化跑在正规环境里,而不是裸的无头浏览器。
- 抓取公开页面。 代理最重要,最好是轮换的住宅代理;一致的浏览器身份让抓取程序不会只因指纹就被拦。
怎么组合才不会互相抵消
系统上开 VPN、浏览器环境里配代理,是合理的搭配:VPN 把「你在用代理」这件事藏起来不让本地网络看到,每个环境仍然从自己的代理出去。之后要检查两件事。第一,每个环境里的 WebRTC 报告的是该环境的代理,而不是 VPN 的出口,环境不管 UDP 时就会出现后者。第二,IPv6 没有借道 VPN 绕过代理。
系统代理再加环境代理是串联,不是叠加:网站看到的是最后一个。串联让一切变慢,除了让你搞不清自己到底在用哪个出口之外,很少带来别的好处。首选一个代理、绑定到环境,然后在实验室里核对。
看看你现在的配置到底显示什么
实验室显示出口 IP、WebRTC 候选地址和浏览器报告的时区,你可以看出在说话的是代理、VPN 还是操作系统。
Mango Browser 在其中的位置
Mango 是指纹浏览器这一层,代理由你来提供。每个环境绑定自己的 HTTP、SOCKS5 或住宅代理,支持导入,并可以在依赖它之前先检测。WebRTC 默认把公网候选地址替换为代理出口,不用额外操作就和 HTTP IP 一致;时区、语言和地理位置可以自动跟随出口。
超出单个环境之后,模板和批量创建让大量环境保持一致,团队角色决定谁能打开什么,Local API 和 MCP 让脚本和 AI 工具在真实环境里工作。VPN 的问题仍然归你:想给所在的网络加一层就加一层,让每个环境保留自己的出口。