返回博客

浏览器代理扩展怎么选:协议、作用范围与自测

浏览器代理扩展最容易踩的坑是作用范围:它只接管浏览器流量,还可能因为规则没匹配上而走直连。文章按用途给扩展分类,列出协议、认证、权限、维护状态等评估维度,并给出查出口 IP 与 WebRTC 泄露的自测步骤。

浏览器代理扩展有个常被忽略的边界:它只接管浏览器发出的请求。系统更新、桌面客户端、其他 App 的流量照样按原路走。先想清楚要代理的到底是什么,再挑工具,能省掉后面很多排查。

先按用途分三类

最常见的需求是单站点切换:让某几个域名走代理,其余照旧直连。这类场景靠规则表控制,扩展的价值在于切换快、能按域名分流。

第二类是全局代理,浏览器里所有流量都从一个出口出去。设置最简单,但代价也直接:出口挂了,浏览器就等于断网,日常使用体验不稳。

第三类和环境绑定,每个浏览器配置文件固定一个出口,配置文件之间互不影响。多账号或者多项目并行时用的是这类思路,扩展在这里更多是补充,出口本身通常在更底层配置。

评估一个扩展看这几项

协议支持排第一。HTTP、HTTPS 代理只处理 TCP,SOCKS5 更通用一些,但对 UDP 的支持取决于实现,很多扩展把 UDP 直接放行或者直接丢掉。这一点后面会讲到,它和 WebRTC 是不是泄露直接相关。

认证方式要看清。用户名密码认证方便,但扩展里保存的凭据是本地明文或者弱加密,电脑被别人用时容易被读到;IP 白名单认证不需要在扩展里存东西,代价是换网络就得重新加白名单。

作用范围是最容易出问题的地方。规则模式下,没匹配到任何规则的域名默认走直连,而你未必知道哪些域名是页面实际在请求的。HTTPS 站点在建立连接后,扩展只能看到域名,看不到具体路径,所以按路径分流的想法基本行不通。

权限范围也要过一眼。一个代理扩展如果同时申请了读取所有网站数据、标签页信息、剪贴板之类的权限,就要问一句这些权限和它宣称的功能有没有关系。浏览器扩展的清单版本升级也在收紧可用接口,一些老扩展因此被迫改架构。

维护活跃度不用看更新日志多不多,看的是有没有人在跟进上游变化。代理类扩展里,Proxy SwitchyOmega 的商店版本已经下架,社区里维护的分支(例如 ZeroOmega 一路)接手了后续适配;FoxyProxy 一类的扩展在多浏览器上都有版本。这些只作中性举例,具体哪个更合适还是取决于上面几项。

它盖不住的那些流量

扩展装好之后,浏览器自己走了代理,但同一台电脑上的其他程序、后台更新服务、以及浏览器内部某些不遵守扩展设置请求路径的流量,可能仍然是本机出口。检查网络一致性的工作不能只盯着扩展面板。要做完整隔离,得在系统代理或者更上层解决。

自测:先查出口,再查泄露

浏览器代理扩展与系统流量的作用范围,以及出口 IP、WebRTC 和 DNS 自测顺序

第一步查出口 IP。打开几个返回来访 IP 和所在地的页面,普通窗口和规则命中的标签页各查一次,看结果是否一致。如果规则里写了代理、查出来还是本机地址,说明规则没生效或者域名没匹配上。多查几个站,能发现只让部分请求走代理的情况。

第二步查 WebRTC。有专门的检测页会列出浏览器拿到的本地候选地址和公网候选地址,如果公网候选里出现的是真实 IP 而不是代理出口,说明 UDP 这条路没走代理,网页脚本仍然能拿到你的实际网络位置。

第三步查 DNS。域名解析的服务器所在地和出口所在地差得太远,某些站点会据此判断环境异常。

最后一步是无痕窗口再测一遍。不少扩展默认不在无痕模式生效,需要在扩展设置里手动允许,忘了这一步会得出完全错误的结论。

测完再决定怎么用

自测结果比扩展的说明更可靠。真实出口、DNS 解析位置、WebRTC 暴露情况这三项对齐以后,再决定是继续用扩展,还是把出口下沉到更底层。多环境并行的场景里,每个环境最好配一套独立的出口,并且固定下来,不要多台机器共用一个出口。