经常看到有朋友苦恼clash的订阅规则问题。由于机场的订阅规则并不能完全满足自己的要求,因此自己通常会修改配置文件加上自己的规则。然而当使用机场订阅配置时clash如何设置订阅,自动更新之后会覆盖掉自己配置的规则,又需要重新更改,非常麻烦。今天又看到有朋友在吐槽:
clash 我一直有个痛点,机场的一键订阅都是直接下载一个配置文件,然后我自己又会定义一套规则,我想在自己定义的规则里引用机场配置文件的 proxy ,这样就能既保持机场 proxy 配置自动更新,又能符合自己的需求。 但是 clash 好像用不了多个配置文件,也就不能在一个配置文件里引用另一个配置文件的 proxy 了,不知道有没有解决方案。
实际上clash在Premium版本中已经提供了proxy-providers的功能,能够完美的解决这个问题。
proxy-providers是提取指定URL或者指定文件中的proxies字段中的所有内容,即指提取订阅节点的信息,到当前文件中供我们使用。一下内容翻译自官方文档
proxy-providers为用户提供动态加载代理服务器列表的能力,而不是将它们硬编码到配置文件中。目前有两个来源的proxy-providers加载服务器列表:
http:冲突在启动时从指定的URL加载服务器列表。如果设置了interval选项,则冲突定期从远程拉取服务器列表。
运行状况检查可用于这两种模式,其工作方式与代理组中的fallback完全相同部落冲突clash圣诞挑战怎么打2023。服务器列表文件的配置格式也与主配置文件完全相同:
经过上面两个步骤之后,我们就可以在自己定义的配置文件中使用机场提供的节点了,规则完全由我们自己来制定。每次更新只会获取到节点信息,不会覆盖我们本地写的规则。
类似的,也有rule-providers的功能。从指定url处获取别人提供的规则,而不用自己来制定。
fake-ip 就是clash如何设置订阅,,发起连接时,你的 DNS 请求会被 clash 截获然后给你返回个假的 ip ,clash 会在内部记录这个 ip 和请求域名的对应关系。然后应用向这个假的 ip 发送请求的时候,请求会被 clash 截获clash 街舞,clash 通过反查表得到请求域名,然后(如果判定要走代理)把域名封装到某种其他协议然后往代理服务器发送,由代理服务器解析 DNS 。可以一定程度上避免 DNS 污染的影响。