火狐浏览器开启代理后webrtc仍泄露真实ip,因其stun请求绕过代理直连网络栈;可通过browserleaks.com/webrtc检测泄露,推荐禁用media.peerconnection.enabled或配置ice相关参数并重启生效。

火狐浏览器在开启代理后WebRTC依然泄露真实IP,是因为WebRTC的STUN请求默认不走代理通道,而是直接调用操作系统网络栈发起UDP探测,哪怕你已配置了HTTP/HTTPS/SOCKS代理,Firefox也不会强制将WebRTC流量路由过去——这个行为由底层网络协议栈决定,与代理设置完全解耦。
确认Firefox当前是否真的泄露了真实IP
打开Firefox,访问 browserleaks.com/webrtc,保持代理开启状态,观察“WebRTC IP Addresses”区域显示的内容。
如果看到以 192.168.x.x、10.x.x.x 或 172.16.x.x–172.31.x.x 开头的地址,说明本地局域网IP已暴露;若出现非代理IP的公网地址(如 223.104.xxx.xxx),则【真实公网IP已被泄露】。
注意:不要只看“Your Public IP”那一栏,它通常受代理影响而显示代理IP;真正危险的是“WebRTC IP Addresses”下方列出的全部候选IP。
关闭Firefox WebRTC的两种可靠方法
方法一:禁用整个WebRTC功能(推荐给隐私优先用户)
在地址栏输入 about:config → 回车 → 点击“接受风险并继续” → 在搜索框中输入 media.peerconnection.enabled → 双击该项,将其值从 true 改为 false。
这一步会彻底停用WebRTC所有能力,包括视频通话、屏幕共享等。如果你不需要网页实时音视频功能,这是最干净、最不可绕过的方案。
方法二:仅屏蔽WebRTC的IP收集行为(保留基础功能)
仍在 about:config 页面,依次修改以下三项:
① 搜索 media.peerconnection.ice.default_address_only → 双击设为 true;
② 搜索 media.peerconnection.ice.no_host → 双击设为 true;
③ 搜索 network.http.referer.hideOnHttpRedirect → 确保为 true(虽不直接相关,但能减少辅助性IP暴露路径)。
这组设置会让Firefox在ICE协商阶段只返回一个“默认地址”(通常是环回地址127.0.0.1),并主动跳过主机候选地址(host candidate)的上报,从而阻断真实内外网IP的自动广播。
为什么改完设置还要重启浏览器?
Firefox对 media.peerconnection.* 类配置项采用延迟加载机制——WebRTC模块在首次触发时才初始化,配置变更不会热生效。
必须【完全关闭所有Firefox窗口,包括后台进程】,再重新打开,否则旧的WebRTC连接池仍驻留在内存中,检测页面依然能读出历史缓存的IP列表。
验证方式:重启后再次访问 browserleaks.com/webrtc,刷新三次,确认“WebRTC IP Addresses”区域为空白或仅显示 127.0.0.1。











