Clash 怎么只代理浏览器而不影响全局
Clash 之所以默认影响全局,是因为它通过系统级代理规则接管了所有网络请求,包括系统服务、后台应用和非浏览器程序。当你只想让浏览器走代理而其他应用保持原生连接时,这种“全盘覆盖”模式显然不合适。尤其在开发、测试或需要本地访问内网资源的场景中,全局代理会导致部分服务无法正常工作,甚至引发权限异常或连接超时。真正的问题不在于 Clash 本身,而在于如何精确控制其生效范围——只作用于浏览器,而不干扰系统其余网络行为。
要实现这一点,核心思路是:**利用 Clash 的「规则集」与「Bypass」机制,配合浏览器自身的代理设置,构建一个“局部代理”环境**。具体操作如下:
第一步,进入 Clash 配置文件(通常为 `config.yaml`),找到 `proxy-groups` 部分,确保你有一个专门用于浏览器的代理组,例如命名为 `browser-proxy`,并将其类型设为 `select`,内部包含你实际使用的代理节点。同时,在 `proxies` 列表中确认该节点可用且状态正常。
第二步,修改 `rules` 规则段落,加入一条明确的规则: ``` - DOMAIN-SUFFIX,example.com, browser-proxy - DOMAIN-SUFFIX,github.com, browser-proxy - GEOIP,CN, DIRECT - MATCH, DIRECT ``` 这里的关键是用域名或 IP 段来限定哪些流量应走代理。如果你只希望特定网站走代理,就将这些域名写入规则;若想让所有非国内站点走代理,则保留 `DOMAIN-SUFFIX,.com, browser-proxy` 这类泛匹配,但务必搭配 `GEOIP,CN, DIRECT` 来绕过国内流量。
第三步,重点来了:**不要在系统设置中开启全局代理**。而是手动配置浏览器的代理方式。以 Chrome 为例,打开设置 → 高级 → 系统 → 打开“使用代理服务器”,填入 `127.0.0.1` 和 Clash 的本地监听端口(通常是 `7890` 或 `7891`)。这样,只有 Chrome 浏览器会主动向本地代理发送请求,其他程序不受影响。
第四步,验证是否生效。打开浏览器,访问 `https://ipinfo.io/ip`,查看返回的公网 IP。如果显示的是你代理节点所在国家的地址,说明浏览器已走代理。再打开一个非浏览器应用(如微信、钉钉、系统更新),尝试访问同样页面,若返回的是你真实本地公网 IP,说明全局未被污染。
常见误区需警惕: - 误以为关闭系统代理后浏览器仍能自动走代理——不行,必须显式配置浏览器代理。 - 使用某些“一键切换”工具,结果把系统代理也改了,导致全局受影响。 - 在规则中使用 `DOMAIN,*.com` 而非 `DOMAIN-SUFFIX`,造成匹配错误或遗漏。 - 忽略了本地局域网或内网服务的访问需求,比如公司 OA 系统,这类地址不应走代理,否则会因解析失败而无法登录。
此外,简历里的项目数据怎么核实要注意什么,简历技能栏怎么排优先级,这些看似无关的话题,其实与本问题本质相通:**精准控制范围,避免过度影响**。就像你在简历中列出一项“熟练使用 Clash 实现浏览器代理”,若没有实际配置能力支撑,别人一问细节就露馅;而把“网络代理配置”放在技能栏靠前位置,意味着你对这一技术有清晰认知,知道它不是万能开关,而是可精细调控的工具。
最终效果是:你的系统依然能访问本地服务、运行后台程序、接收推送通知,而浏览器中的敏感操作、跨境访问、隐私浏览等行为,全部由代理链路保障。这并非理想化方案,而是现实工作中最实用的平衡点。