WebRTC 是个好东西,也是个坏东西。它让浏览器之间直接传视频、传音频、传文件,不需要中间服务器转发。Zoom 用它,Google Meet 用它,连你手机里的某些 App 也在悄悄用它。但很多人不知道,WebRTC 有个天生的“漏洞”,它会在你毫无察觉的时候,把你的真实 IP 地址泄露出去。
你开着 VPN,以为自己在纽约,实际上人在北京。打开某个检测网站,对方却能看到你的真实 IP。这不是 VPN 失效,而是 WebRTC 在背后“通风报信”。它绕过代理,直接向 STUN 服务器发起请求,然后你的真实地址就像脱了衣服一样暴露在阳光下。这个漏洞从 2015 年被发现到现在,基本没修好过。不是不想修,是架构决定的——WebRTC 要建立 P2P 连接,就必须知道对方的真实地址,这是它的核心机制。
我试过在 Firefox 里禁用 WebRTC。方法很简单,地址栏输入 about:config,搜索 media.peerconnection.enabled,双击改成 false。完事。但 Chrome 就没这么容易了,你得装扩展,或者干脆用企业策略。Firefox 在 2021 年还考虑过默认禁用,后来迫于压力又收回去了——毕竟 Google Meet 这类服务依赖它。
禁用之后会怎样?视频通话网站会提示你“无法获取摄像头权限”或者“连接失败”。有些网站干脆拒绝你访问。但这正是问题的另一面:WebRTC 的便利性绑架了用户,让你为了用某个功能,不得不接受隐私泄露的风险。这不是非黑即白的选择,而是一个权衡。
我个人建议:如果你不是重度依赖网页视频会议,直接禁掉。禁掉之后,你的浏览器会安静很多。那些偷偷在后台建立连接的脚本,那些用来做指纹识别的隐藏请求,统统失效。你会发现某些网站加载变慢了——因为它们原本在偷偷用你的带宽做 P2P 加速。这算是个意外收获。
不过也别高兴太早。禁用 WebRTC 不等于完全匿名。你的 IP 还是会通过其他方式泄露——DNS 请求、HTTP 头、甚至字体加载。但至少,你堵住了一个最大的漏洞。这就像你关上了家里的大门,虽然窗户还开着,但至少贼不会从正门大摇大摆走进来了。
最后说句实在话:如果你真的在乎隐私,别只依赖浏览器设置。换个思路——用容器隔离,或者直接开一个独立的浏览器实例专门处理视频通话。日常浏览用禁用了 WebRTC 的那个。麻烦是麻烦点,但比起 IP 泄露带来的麻烦,这点麻烦算不了什么。