通常我们从机场复制的订阅地址,其实是一个yaml格式的节点配置文件,今天带大家了解其中的核心内容。
config.yaml文件的作用
YAML 文件是 Clash 代理服务的配置文件。Clash 是一款开源的、跨平台的代理服务工具,可以在不同的网络环境中实现网络请求的转发和分流。
具体来说,这个 yaml文件的作用主要包括以下几点:
- 为 Clash 代理服务提供基本设置,比如监听的端口、运行模式(如直连、全局代理、规则代理等)、日志级别等。
- 定义了一些特定的域名到 IP 的映射关系,这可以用来绕过 DNS 查询,直接将某些域名解析到指定的 IP。
- 配置 DNS 解析的相关设置,包括是否启用,使用的 DNS 服务器等。
- 定义代理服务器的信息,包括服务器的地址、端口、类型(如 HTTP、SOCKS5、Shadowsocks 等)、加密方式、密码等。
- 定义了一组代理组,每个代理组包含一组代理服务器,可以根据需要选择不同的代理组进行访问。
- 制定了一组代理规则,这些规则基于请求的特征(如域名、IP、地理位置等)来决定该请求应该由哪个代理服务器或代理组处理。
通过这个 config.yaml文件,用户可以灵活地控制 Clash 代理服务的行为,实现对网络访问的细粒度控制。
config.yaml文件代码示例解析
以下是一个简化后的配置,仅保留示例节点,避免难以理解。
port: 7890
socks-port: 7891
allow-lan: false
mode: Rule
log-level: info
external-controller: 127.0.0.1:9090
hosts:
time.facebook.com: 17.253.84.125
time.android.com: 17.253.84.125
dns:
enable: true
use-hosts: true
nameserver:
- 119.29.29.29
- 223.5.5.5
- 223.6.6.6
- tcp://223.5.5.5
- tls://dns.google:853
- tls://8.8.8.8:853
- https://dns.google/dns-query
- https://8.8.8.8/dns-query
- https://8.8.4.4/dns-query
default-nameserver:
- 119.29.29.29
- 223.5.5.5
- tcp://119.29.29.29
- tcp://223.5.5.5
proxies:
- {name: 🇭🇰 香港Z01, server: 000aa.art, port: 19274, type: ss, cipher: aes-256-gcm, password: 33645ec1-7cb9-359a-99a8-b7cef8de4af6, udp: true}
- {name: 🇯🇵 日本Z01 | x0.8, server: 000aa.art, port: 475, type: ss, cipher: aes-256-gcm, password: 33645ec1-7cb9-359a-99a8-b7cef8de4af6, udp: true}
proxy-groups:
- name: 🔰 选择节点
type: select
proxies:
- 🇭🇰 香港Z01
- 🇯🇵 日本Z01 | x0.8
- DIRECT
- name: 🌏 爱奇艺&哔哩哔哩
type: select
proxies:
- DIRECT
- 🇭🇰 香港Z01
- 🇭🇰 香港Z02 | IEPL
- name: 📺 动画疯
type: select
proxies:
- 🔰 选择节点
- 🇯🇵 日本Z01 | x0.8
- DIRECT
- name: 🇨🇳 国内网站
type: select
proxies:
- DIRECT
- 🔰 选择节点
- name: 🛑 拦截广告
type: select
proxies:
- REJECT
- DIRECT
- 🔰 选择节点
- name: 🐟 漏网之鱼
type: select
proxies:
- 🔰 选择节点
- DIRECT
rules:
- DOMAIN,app.biliapi.net,🌏 爱奇艺&哔哩哔哩
- DOMAIN-SUFFIX,iq.com,🌏 爱奇艺&哔哩哔哩
- DOMAIN-SUFFIX,gamer.com.tw,📺 动画疯
- DOMAIN-SUFFIX,exhentai.org,🔰 选择节点
- DOMAIN-SUFFIX,teraboxcdn.com,🔰 选择节点
- IP-CIDR,69.171.235.0/16,🔰 选择节点,no-resolve
- DOMAIN-SUFFIX,mediawiki.org,🔰 选择节点
- DOMAIN,app.adjust.com,🇨🇳 国内网站
- DOMAIN-SUFFIX,googletraveladservices.com,🇨🇳 国内网站
- DOMAIN,dl.google.com,🇨🇳 国内网站
- DOMAIN,mtalk.google.com,🇨🇳 国内网站
- DOMAIN,livew.l.qq.com,🇨🇳 国内网站
- DOMAIN,vd.l.qq.com,🇨🇳 国内网站
- DOMAIN-SUFFIX,mzstatic.com,🇨🇳 国内网站
- IP-CIDR,17.0.0.0/8,🇨🇳 国内网站,no-resolve
- IP-CIDR,205.180.175.0/24,🇨🇳 国内网站,no-resolve
- DOMAIN-KEYWORD,zhenbuka,🇨🇳 国内网站
- DOMAIN-SUFFIX,sda1.dev,🇨🇳 国内网站
- DOMAIN-KEYWORD,ikandy,🇨🇳 国内网站
- DOMAIN-SUFFIX,cn-north-4.myhuaweicloud.com,🇨🇳 国内网站
- DOMAIN-KEYWORD,admarvel,🛑 拦截广告
- DOMAIN-SUFFIX,local,DIRECT
- IP-CIDR,192.168.0.0/16,DIRECT,no-resolve
- IP-CIDR,10.0.0.0/8,DIRECT,no-resolve
- IP-CIDR,172.16.0.0/12,DIRECT,no-resolve
- IP-CIDR,127.0.0.0/8,DIRECT,no-resolve
- IP-CIDR,100.64.0.0/10,DIRECT,no-resolve
- GEOIP,CN,🇨🇳 国内网站
- DOMAIN-KEYWORD,.,🐟 漏网之鱼
- DOMAIN-KEYWORD,q,🐟 漏网之鱼
- DOMAIN-KEYWORD,m,🐟 漏网之鱼
- MATCH,🐟 漏网之鱼
通用部分配置
port: 7890
socks-port: 7891
allow-lan: false
mode: Rule
log-level: info
external-controller: 127.0.0.1:9090
该部分定义了Clash的一些基本设置,例如端口号,日志级别等。
port
和socks-port
是本地http和socks代理端口allow-lan
允许局域网连接mode
定义了代理模式,这里是Rule,即按规则分流,可选Global、Rulelog-level
日志级别external-controller
控制器地址,用于控制Clash的运行,实际是定义clash http API的访问地址
主机设置和DNS设置
hosts:
time.facebook.com: 17.253.84.125
time.android.com: 17.253.84.125
dns:
enable: true
use-hosts: true
nameserver:
- 119.29.29.29
- 223.5.5.5
- 223.6.6.6
- tcp://223.5.5.5
- tls://dns.google:853
- tls://8.8.8.8:853
- https://dns.google/dns-query
- https://8.8.8.8/dns-query
- https://8.8.4.4/dns-query
default-nameserver:
- 119.29.29.29
- 223.5.5.5
- tcp://119.29.29.29
- tcp://223.5.5.5
- 主机设置:在
hosts
下,定义了一些域名到IP的映射。 - DNS设置:在
dns
下,定义了DNS解析的相关设置,包括启用DNS,使用hosts文件,DNS服务器的选择等。
代理设置
proxies:
- {name: 🇭🇰 香港Z01, server: 000aa.art, port: 19274, type: ss, cipher: aes-256-gcm, password: 33645ec1-7cb9-359a-99a8-b7cef8de4af6, udp: true}
- {name: 🇯🇵 日本Z01 | x0.8, server: 000aa.art, port: 475, type: ss, cipher: aes-256-gcm, password: 33645ec1-7cb9-359a-99a8-b7cef8de4af6, udp: true}
在proxies
下,定义了一组代理服务器的相关信息,包括名称,服务器地址,端口,类型,密码等。这部分是机场提供的主要代理服务器信息。
代理组设置
proxy-groups:
- name: 🔰 选择节点
type: select
proxies:
- 🇭🇰 香港Z01
- 🇯🇵 日本Z01 | x0.8
- DIRECT
- name: 🌏 爱奇艺&哔哩哔哩
type: select
proxies:
- DIRECT
- 🇭🇰 香港Z01
- 🇭🇰 香港Z02 | IEPL
- name: 📺 动画疯
type: select
proxies:
- 🔰 选择节点
- 🇯🇵 日本Z01 | x0.8
- DIRECT
- name: 🇨🇳 国内网站
type: select
proxies:
- DIRECT
- 🔰 选择节点
- name: 🛑 拦截广告
type: select
proxies:
- REJECT
- DIRECT
- 🔰 选择节点
- name: 🐟 漏网之鱼
type: select
proxies:
- 🔰 选择节点
- DIRECT
在proxy-groups
下,定义了一组代理组,每个代理组都有一个名称,一个类型,和一组代理服务器。当请求匹配到某个代理组的规则时,会根据代理组的类型选择一个代理服务器进行访问。
规则设置
rules:
- DOMAIN,app.biliapi.net,🌏 爱奇艺&哔哩哔哩
- DOMAIN-SUFFIX,iq.com,🌏 爱奇艺&哔哩哔哩
- DOMAIN-SUFFIX,gamer.com.tw,📺 动画疯
- DOMAIN-SUFFIX,exhentai.org,🔰 选择节点
- DOMAIN-SUFFIX,teraboxcdn.com,🔰 选择节点
- IP-CIDR,69.171.235.0/16,🔰 选择节点,no-resolve
- DOMAIN-SUFFIX,mediawiki.org,🔰 选择节点
- DOMAIN,app.adjust.com,🇨🇳 国内网站
- DOMAIN-SUFFIX,googletraveladservices.com,🇨🇳 国内网站
- DOMAIN,dl.google.com,🇨🇳 国内网站
- DOMAIN,mtalk.google.com,🇨🇳 国内网站
- DOMAIN,livew.l.qq.com,🇨🇳 国内网站
- DOMAIN,vd.l.qq.com,🇨🇳 国内网站
- DOMAIN-SUFFIX,mzstatic.com,🇨🇳 国内网站
- IP-CIDR,17.0.0.0/8,🇨🇳 国内网站,no-resolve
- IP-CIDR,205.180.175.0/24,🇨🇳 国内网站,no-resolve
- DOMAIN-KEYWORD,zhenbuka,🇨🇳 国内网站
- DOMAIN-SUFFIX,sda1.dev,🇨🇳 国内网站
- DOMAIN-KEYWORD,ikandy,🇨🇳 国内网站
- DOMAIN-SUFFIX,cn-north-4.myhuaweicloud.com,🇨🇳 国内网站
- DOMAIN-KEYWORD,admarvel,🛑 拦截广告
- DOMAIN-SUFFIX,local,DIRECT
- IP-CIDR,192.168.0.0/16,DIRECT,no-resolve
- IP-CIDR,10.0.0.0/8,DIRECT,no-resolve
- IP-CIDR,172.16.0.0/12,DIRECT,no-resolve
- IP-CIDR,127.0.0.0/8,DIRECT,no-resolve
- IP-CIDR,100.64.0.0/10,DIRECT,no-resolve
- GEOIP,CN,🇨🇳 国内网站
- DOMAIN-KEYWORD,.,🐟 漏网之鱼
- DOMAIN-KEYWORD,q,🐟 漏网之鱼
- DOMAIN-KEYWORD,m,🐟 漏网之鱼
- MATCH,🐟 漏网之鱼
在rules
下,定义了一组规则,每个规则都有一个类型,一个值,和一个代理组。当请求匹配到某个规则时,会使用规则指定的代理组进行访问。
1.DOMAIN匹配,表示请求的域名规则匹配,下方代码表示如果请求域名是app.biliapi.net,则从“爱奇艺&哔哩哔哩”代理组选择代理服务器
DOMAIN,app.biliapi.net,🌏 爱奇艺&哔哩哔哩
2.DOMAIN-SUFFIX匹配,表示请求的域名后缀规则匹配,下方代码表示如果请求域名后缀是iq.com,则从“爱奇艺&哔哩哔哩”代理组选择代理服务器
DOMAIN-SUFFIX,iq.com,🌏 爱奇艺&哔哩哔哩
3.DOMAIN-KEYWORD匹配,表示请求的域名关键字规则匹配,下方代码表示如果请求域名关键字包含q,则从“漏网之鱼”代理组选择代理服务器。一般是放在整个rules规则最下方。
DOMAIN-KEYWORD,q,🐟 漏网之鱼
4.IP-CIDR匹配,表示通过请求IP地址范围规则匹配,下方代码表示:对于 IP 地址在 172.16.0.0 到 172.31.255.255 范围内的请求,Clash 将直接连接,不会通过任何代理服务器,并且在处理这些请求时,不会进行 DNS 解析。这通常用于处理本地或内网的请求。
IP-CIDR,172.16.0.0/12,DIRECT,no-resolve
5.GEOIP匹配,表示通过IP地区归属规则匹配,下方代码表示:对于所有识别为来自中国的 IP 地址的请求,Clash 将通过 “🇨🇳 国内网站” 代理组进行处理。这可以用来实现对国内和国外网站的不同处理,例如,访问国内网站时直接连接,访问国外网站时通过代理服务器。
GEOIP,CN,🇨🇳 国内网站