参考文章:Mihomo配置wiki
官方完整配置文件:Github-Mihomo-config.yaml
Clash 是一款功能强大的网络代理工具,支持多种协议(如 Vmess、Trojan、Shadowsocks 等),并能灵活地通过规则实现分流、去广告、区域访问优化等功能。但是大部分人都是直接下载别人配置好的文件,直接使用。但是这样会导致没办法实现自定义配置,或者添加自己的节点节点后没办法使用。有时候是因为默认的配置文件分流规则不满意,也不知道如何进行配置。
这篇文章将带你一步步搞懂 Clash 配置文件,让你彻底掌握如何编写、修改和从零构建属于自己的 Clash 配置。
一、前提准备
本文以mihomo内核进行学习,抛弃传统的clash-gui客户端,能够更深层次的了解配置文件,因此需要去Github下载最新版本的mihomo内核
运行
直接在命令行执行mihomo即可运行,注意先关闭你电脑的clash,或者将clash的默认端口修改为非7890端口,以免引起冲突

启动后会自动监听7890端口,此时将数据发完本地的7890端口是可以正常发送的,在没有任何配置的情况下,会默认全部走直连

下面就可以创建我们的配置文件,让其开启分流模式,使用-f 参数来导入配置文件
二、通用参数
clash的配置文件是使用yaml格式进行配置的,当然也让兼容其他语法,不过为了能够统一语法并且美观,因此自己构建的文件还是推荐使用yaml语法
1、监听端口
port: 7890 # HTTP(S) 代理服务器端口
socks-port: 7891 # SOCKS5 代理端口
mixed-port: 10801 # HTTP(S) 和 SOCKS 代理混合端口
redir-port: 7892 # 透明代理端口,用于 Linux 和 MacOSYAML关于监听端口,没什么问题的话其实只需设置一个mixed-port混合端口就可以的了
2、其他参数
allow-lan: true # 允许局域网连接
mode: rule # 选择代理的模式rule,global,direct
log-level: debug # 日志等级 silent/error/warning/info/debug
ipv6: true # 开启 IPv6 总开关,关闭阻断所有 IPv6 链接和屏蔽 DNS 请求 AAAA 记录
external-controller: :9090 # RESTful API 监听地址
# secret: "123456" # 设置RESTful API监听密码,在请求头加上`Authorization:Bearer ${secret}`YAML3、推荐配置
mixed-port: 7890
allow-lan: true
bind-address: "*"
mode: rule
log-level: info
external-controller: :9090
secret: 123456YAML
三、添加节点
全部节点添加在proxies:列表下,并且每一个代理节点都使用-name分区
一个节点使用一个列表包含其全部信息
proxies:
- name: "direct"
type: direct
udp: true
ip-version: ipv4
interface-name: eth0
routing-mark: 1234YAML这里直接可以参考Mihomo的官方文档
例如ss的:
- name: "ss1"
type: ss
server: server
port: 443
cipher: aes-128-gcm
password: "password"
udp: true
udp-over-tcp: false
udp-over-tcp-version: 2
ip-version: ipv4
plugin: obfs
plugin-opts:
mode: tls
smux:
enabled: falseYAML详细参数解释官方文档说明得很清楚,这里不再叙述了
多个节点:
proxies:
- name: "节点1"
type: ss
server: hk.example.com
port: 443
cipher: aes-128-gcm
password: yourpassword
udp: true
- name: "节点2"
type: vmess
server: server
port: 443
uuid: uuid
alterId: 32
cipher: auto
- name: "节点3"
type: hysteria
server: server.com
port: 443
auth-str: yourpasswordYAML三、策略组
在 Clash 中,流量不会直接进节点,而是先流经“策略组”。每个策略组定义“如何选择节点”或“如何做出决策”。策略组的功能也可以让这些节点进行归类,以便后续进行精准分流,例如全部香港节点放一块,全日本节点放一块或者直接一个大混杂组。和节点组一样,也是使用一个列表表示全部策略组,
proxy-groups:
- name: "代理组1"
type: select
proxies:
- "节点1"
- "节点2"
- "DIRECT"
YAML代理组是支持嵌套的,因此,代理组内的proxies不仅可以直接选择节点,还可以先发往其他代理组再进行二次分流
1、select手动选择
这个策略组是组最常用的,用于手动设置指定节点,通常用于直接选定要代理的节点,默认是选择第一个节点,因此排序的时候推荐将最健壮的节点放置第一位,并其将你的全部需要分类的节点放到proxies:里面。
- name: "香港节点"
type: select
proxies:
- "香港1"
- "香港2"
- "DIRECT"
- name: "日本节点"
type: select
proxies:
- "日本1"
- "日本2"
- "DIRECT"YAML2、url-test自动测速
自动测速通常是搭配自动选择使用的,代理组会通过对指定url进行测速来自动切换选择延迟最低的节点。
interval负责控制测速时间;tolerance用于自动切换时间,如果当前节点和测速后的最佳节点差异不超过50,则不进行节点切换
- name: "自动测速"
type: url-test
url: http://www.gstatic.com/generate_204
interval: 300
tolerance: 50
proxies:
- "节点1"
- "节点2"
- "节点3"YAML3、fallback 故障切换
fallback通常是用于测试可达性,不考虑节点是否好用,自动选择第一个可用的节点,通常是用于大面积节点瘫痪的故障切换,保活用的
- name: "故障切换"
type: fallback
proxies:
- "节点1"
- "节点2"
- "节点3"
url: "https://cp.cloudflare.com/generate_204"
interval: 300YAML4、load-balance负载均衡
负载均通过使用特定的算法进行筛选和调度各个节点,定期对代理进行速度测试进行调度,考虑每一个节点的负载和延迟情况自动分配选择的节点。可以设置散列和轮询两种方案
- name: "负载均衡"
type: load-balance
proxies:
- "节点1"
- "节点2"
- "节点3"
url: "https://cp.cloudflare.com/generate_204"
interval: 300YAML5、relay串联代理
顾名思义,节点会依次从上到下将数据发往对应的节点进行解析,隐蔽性比较高,比较少用
- name: "relay"
type: relay
proxies:
- "节点1"
- "节点2"
- "节点3"YAML常用推荐
这里分享一下我使用的策略组,这样分类主要是为了让后续的分流规则匹配可以精确分流
proxy-groups:
- name: 🚀 节点选择
type: select
proxies:
- 节点1
- 节点2
- 节点3
- ✅ 自动选择
- ⚖️ 负载均衡
- ⭕ 故障切换
- DIRECT
- name: ✅ 自动选择
type: url-test
url: http://www.gstatic.com/generate_204
interval: 300
tolerance: 50
proxies:
- 节点1
- 节点2
- 节点3
- name: "⚖️ 负载均衡"
type: load-balance
strategy: consistent-hashing
url: "https://cp.cloudflare.com/generate_204"
interval: 300
proxies:
- "节点1"
- "节点2"
- "节点3"
- name: ⭕ 故障切换
type: fallback
url: http://www.gstatic.com/generate_204
interval: 300
proxies:
- 节点1
- 节点2
- 节点3
- name: 🎯 全球直连
type: select
proxies:
- DIRECT
- 🚀 节点选择
- ✅ 自动选择
- name: 🧱 一堵高墙
type: select
proxies:
- 🚀 节点选择
- ✅ 自动选择
- 🎯 全球直连
- name: 🍎 苹果同步
type: select
proxies:
- 🚀 节点选择
- ✅ 自动选择
- 🎯 全球直连
- name: 🍎 苹果服务
type: select
proxies:
- 🚀 节点选择
- ✅ 自动选择
- 🎯 全球直连
- name: 🌏 境外服务
type: select
proxies:
- 🚀 节点选择
- ✅ 自动选择
- 🎯 全球直连
- name: 🏠 内网服务
type: select
proxies:
- 🎯 全球直连
- 🚀 节点选择
- ✅ 自动选择
- name: 🇨🇳 国内直连
type: select
proxies:
- 🎯 全球直连
- 🚀 节点选择
- ✅ 自动选择
- name: 📱 常用软件
type: select
proxies:
- 🎯 全球直连
- 🚀 节点选择
- ✅ 自动选择
- name: 📲 电报消息
type: select
proxies:
- 🚀 节点选择
- ✅ 自动选择
- 🎯 全球直连
- name: 🧿 谷歌服务
type: select
proxies:
- 🚀 节点选择
- ✅ 自动选择
- 🎯 全球直连
- name: 🐟 漏网之鱼
type: select
proxies:
- 🚀 节点选择
- ✅ 自动选择
- 🎯 全球直连YAML接下来是对每一个策略组配置的分流规则了
四、匹配规则
在我们clash的代理进行访问的时候会先通过匹配规则来匹配特定的域名、IP来让其发往特定的策略组,策略组再选择发往指定的节点,从而达到分流的目的
使用rules:列表来分流,一行一个匹配规则,自上往下进行匹配,最顶部的优先级最高,当遇到第一个符合条件的规则就会停止匹配,因此需要将自定义规则或者优先级高的规则放到最前面
匹配规则基本格式
每一条匹配规则都包含这三个部分:类型,匹配内容,策略组
- 类型:表示如何进行匹配,例如使用域名、ip、规则集匹配模式
- 匹配内容:表示应该匹配哪些部分内容,例如特定ip、ip集、域名、泛域名,域名关键字等
- 策略组:表示已匹配到的规则应该发往哪一个规则集
rules:
- RULE-SET,rule1,REJECT
- IP-ASN,1,PROXY
- DOMAIN-REGEX,^abc,DIRECT
- DOMAIN-SUFFIX,baidu.com,DIRECT
- DOMAIN-KEYWORD,google,ss1
- DOMAIN-WILDCARD,test.*.mihomo.com,ss1
- IP-CIDR,1.1.1.1/32,ss1
- IP-CIDR6,2409::/64,DIRECTYAML1、DOMAIN / DOMAIN-SUFFIX / DOMAIN-KEYWORD
通过域名来匹配,当匹配到指定域名/域名前缀/关键词的时候进入该规则
用得最多的就应该是DOMAIN-SUFFIX了,指定特定域名的全部子域名
# a.com全部走直连,不包含*.a.com
- DOMAIN,a.com,DIRECT
# *.baidu.com全部走直连
- DOMAIN-SUFFIX,baidu.com,DIRECT
# *.*.baidu.com全部走直连
- DOMAIN-SUFFIX,baidu.com,DIRECT
# *.google.com全部走代理
- DOMAIN-SUFFIX,google.com,PROXY
# 域名包含speedtest则走直连
- DOMAIN-KEYWORD,speedtest,DIRECT
YAML2、DOMAIN-REGEX/DOMAIN-WILDCARD
这两个因为匹配效率和性能比较低,因此比较少用,但也说一下吧,
- DOMAIN-REGEX:使用正则匹配来匹配域名,
- DOMAIN-WILDCARD:通配符域名匹配,和DOMAIN-SUFFIX类似,但是更加精确匹配,只能使用一个通配符进行匹配
# 以abc开头的域名走直连
- DOMAIN-REGEX,^abc,DIRECT
# 匹配全部符合test.*.baidu.com的域名
- DOMAIN-WILDCARD,test.*.baidu.com,DIRECTYAML3、IP-CIDR/IP-CIDR6/IP-ASN
前面的都是使用域名匹配规则,但是对于直接使用ip进行访问的情况下还是需要ip的规则来进行匹配的,ip的匹配规则就比较简单了,直接使用CIDR的IP规则进行匹配就可以了。
对于IP-ASN,这个是使用ASN(自治系统编号)来进行匹配,这个比较少用,通常是直接引用外部ASN,很少自己添加
# 匹配1.1.1.1走代理
- IP-CIDR,1.1.1.1/32,PROXY
# 匹配114.114.114.114走直连
- IP-CIDR,114.114.114.114/32,DIRECT
# 匹配192.168.1.0/24回家
- IP-CIDR,192.168.1.0/24,HOME
# 中国电信下的的IP走直连
- IP-ASN,4837,DIRECT
# 中国电联通下的的IP走直连
- IP-ASN,4134,DIRECT
# Cloudflare下的IP走代理
- IP-ASN,45102,PROXYYAML4、RULE-SET
规则集可以让我们引用远程规则集,在更新的时候会同步下载到本地,这样的好处就是可以让我们的配置文件更加简洁,并且可以使用一些经常更新的好用的规则集,达到精确匹配
使用规则集之前需要先创建rule-providers规则提供商列表
#远程规则集提供商
rule-providers:
#规则集名字direct
direct:
type: http
#规则集类型:域名
behavior: domain
url: "https://jsd.admincdn.com/gh/Loyalsoldier/clash-rules@release/direct.txt"
path: ./ruleset/direct.yaml
#更新时间
interval: 86400YAML# 匹配到规则集cn内的ip
- RULE-SET,direct,DIRECTYAML5、MATCH漏网之鱼
MATCH规则比较特殊,它只能放在全部规则列表的最后一个,用于全部规则都没有匹配到最终流入到MATCH的兜底规则,只有两项:MATCH,规则集
通常MATCH的规则集就设置成两种形式:一种是直连,另一种是代理
# 未匹配到的流量走直连
- MATCH,DIRECT
# 未匹配到的流量走代理
- MATCH,你的策略代理组YAML完成以上这些配置其实就可以基本实现的分流和转发了,接下来的内容就要算是高级功能了
五、DNS加密与分流
一个好的DNS分流配置可以保证我们访问的域名不被泄露,特别是过GWF的时候不被发现需要访问的网站,并且实现国内外分流查询解析dns,实现最优dns查询
1、基本部分
dns:
enable: true # 使用dns内建服务,关闭则使用系统默认dns查询,不推荐,下列配置则会失效
prefer-h3: true # 开启DoH 支持 HTTP/3,将并发尝试
ipv6: true # 允许返回ipv6的dns记录
# 默认dns解析,通常用于下载/更新配置时候使用,只支持纯ip或者dot-ip
default-nameserver:
- 223.5.5.5
- 119.29.29.29
- tls://223.5.5.5:853YAML2、国内主dns查询
nameserver为主dns,用于后续分流的国内的dns解析,支持ip、dot、doh
nameserver:
- 223.5.5.5
- 119.29.29.29
- 114.114.114.114
- tls://223.5.5.5:853
- https://doh.pub/dns-query
- https://dns.alidns.com/dns-query#h3=true #强制 HTTP/3请求,若不支持则无法使用
YAML3、国外DNS请求
当主dns查询结果不为cn的时候使用fallback进行查询,通常用于访问国外域名的时候使用,推荐使用Doh进行查询,防止被DNS污染
fallback:
- https://dns.google/dns-query
- https://cloudflare-dns.com/dns-queryYAML4、fallback-filter
用处理于dns既不在主dns匹配又不属于国内外ip的情况
fallback-filter:
geoip: true # 配置是否使用 geoip
geoip-code: CN # 当 nameserver 域名的 IP 查询 geoip 库为 CN 时,不使用 fallback 中的 DNS 查询结果
ipcidr: #特殊类别地址(私有地址)不使用fallback解析
- 192.168.0.0/16
domain: # 指定域名优先使用fallback解析dns
- "+.google.com" # "+.google.com"代表google.com域名及其全部子域名
YAML5、fake-ip
fake-ip可以让dns请求返回一个伪装的ip地址,主要是用于clash的透明代理模式tun使用。关于tun模式下一章会说明
enhanced-mode: fake-ip # or redir-host
fake-ip-range: 198.18.0.1/16 # fake-ip 池设置
# 配置不使用 fake-ip 的域名
fake-ip-filter:
- '*.lan'
- localhost.ptlogin2.qq.com
- rule-set:fakeip-filter
- geosite:fakeip-filter
# 配置fake-ip-filter的匹配模式,默认为blacklist,即如果匹配成功不返回fake-ip
fake-ip-filter-mode: blacklist #可设置为whitelist,即只有匹配成功才返回fake-ipYAML通用配置
dns:
enable: true
prefer-h3: true
ipv6: true
default-nameserver:
- 223.5.5.5
- 119.29.29.29
- 114.114.114.114
nameserver:
- 223.5.5.5
- 119.29.29.29
- 114.114.114.114
-
fallback:
- https://dot.pub/dns-query
- https://dns.google/dns-query
- https://cloudflare-dns.com/dns-query
fallback-filter:
geoip: true
geoip-code: CN
ipcidr:
- 0.0.0.0/8
- 10.0.0.0/8
- 127.0.0.0/8
- 169.254.0.0/16
- 172.16.0.0/12
- 192.168.0.0/16
- 224.0.0.0/4
- 240.0.0.0/4
domain:
- "+.google.com"
- "+.youtube.com"
- "+.facebook.com"
- "+.twitter.com"
- "+.telegram.org"
- "+.reddit.com"
- "+.spotify.com"
- "+.openai.com"
- "+.github.com"
- "+.cloudflare.com"
enhanced-mode: fake-ip
fake-ip-range: 198.18.0.1/16
fake-ip-filter:
[
"*.n.n.srv.nintendo.net",
+.stun.playstation.net,
xbox.*.*.microsoft.com,
"*.msftncsi.com",
"*.msftconnecttest.com",
WORKGROUP,
"*.lan",
"*.local",
"*.router",
"*.localdomain",
"*.home.arpa",
"*.belkin",
"*.tplinklogin.net",
"*.tenda",
stun.*.*,
stun.*.*.*,
+.stun.*.*,
+.stun.*.*.*,
+.stun.*.*.*.*,
+.stun.*.*.*.*.*,
time.windows.com,
time.nist.gov,
time.apple.com,
time.asia.apple.com,
"*.ntp.org.cn",
"*.openwrt.pool.ntp.org",
time1.cloud.tencent.com,
time.ustc.edu.cn,
pool.ntp.org,
ntp.ubuntu.com,
"*.*.xboxlive.com",
speedtest.cros.wr.pvp.net,
]YAML六、TUN模式
TUN模式clash会在系统创建一个虚拟网卡(TUN 设备),所有流量先走这个网卡,然后交给 clash 处理,相当于透明代理模式。好处是可以不需要手动设置代理,并且可以让整个电脑的流量都经过clash;坏处是因为TUN模式本身的问题,其建立的虚拟网卡设备是在应用层的,没办法像wireguard等真正的VPN那样,在网络层接管流量,因此会导致ping的结果不准确
tun:
enable: true #开启/关闭TUN模式
stack: system
dns-hijack:
- any:53 #劫持本地dns
auto-route: true #自动路由
auto-detect-interface: true #自动识别出口网卡
device-name: mihomo #TUN模式网卡名称YAML关于enhanced-mode增强模式的选择,fake-ip和redir-host的区别:
fake-ip
fake-ip会劫持dns请求,并且返回一个虚假ip,并在clash内部建立对应的ip映射关系,通过calsh再像外查询真实的dns,这样做的好处就是可以让全部TUN接管的DNS请求都可以被匹配,最大化捕获dns查询;但是缺点就是使用nslookup等功能进行dns查询的时候没办法得知实际的dns记录,并且有一些应用如果检测到fake-ip会触发安全检测
redir-host
redir-host就和传统的路由dns请求差不多了,TUN的请求发完clash,clash在转发到上级dns查询,并在本地缓存一份,这样的好处就是软件兼容性好,但是并且不会返回虚假IP,但是透明代理场景下有可能匹配不到域名,并且无法精确控制规则走向
因此使用TUN模式下一般都是使用fake-ip模式比较多
推荐配置
tun:
enable: true
stack: system
dns-hijack:
- any:53
auto-route: true
auto-detect-interface: true
device-name: mihomoYAML七、最后结合
通过上面不同章节对clash的配置进行拆解,相信你已经掌握了如何编写自己的clash.yaml文件了,那么我也发一下我使用的clash.yaml文件
mixed-port: 7890
allow-lan: true
bind-address: "*"
mode: rule
log-level: info
external-controller: :9090
secret: 123456
dns:
enable: true
prefer-h3: true
ipv6: true
default-nameserver:
- 223.5.5.5
- 119.29.29.29
- 114.114.114.114
nameserver:
- 223.5.5.5
- 119.29.29.29
- 114.114.114.114
- https://doh.pub/dns-query
- https://dns.alidns.com/dns-query
fallback:
- https://dns.google/dns-query
- https://cloudflare-dns.com/dns-query
fallback-filter:
geoip: true
geoip-code: CN
ipcidr:
- 0.0.0.0/8
- 10.0.0.0/8
- 127.0.0.0/8
- 169.254.0.0/16
- 172.16.0.0/12
- 192.168.0.0/16
- 224.0.0.0/4
- 240.0.0.0/4
domain:
- "+.google.com"
- "+.youtube.com"
- "+.facebook.com"
- "+.twitter.com"
- "+.telegram.org"
- "+.reddit.com"
- "+.spotify.com"
- "+.openai.com"
- "+.github.com"
- "+.cloudflare.com"
fake-ip-filter:
[
"*.n.n.srv.nintendo.net",
+.stun.playstation.net,
xbox.*.*.microsoft.com,
"*.msftncsi.com",
"*.msftconnecttest.com",
WORKGROUP,
"*.lan",
"*.local",
"*.router",
"*.localdomain",
"*.home.arpa",
"*.belkin",
"*.tplinklogin.net",
"*.tenda",
stun.*.*,
stun.*.*.*,
+.stun.*.*,
+.stun.*.*.*,
+.stun.*.*.*.*,
+.stun.*.*.*.*.*,
time.windows.com,
time.nist.gov,
time.apple.com,
time.asia.apple.com,
"*.ntp.org.cn",
"*.openwrt.pool.ntp.org",
time1.cloud.tencent.com,
time.ustc.edu.cn,
pool.ntp.org,
ntp.ubuntu.com,
"*.*.xboxlive.com",
speedtest.cros.wr.pvp.net,
]
#节点添加
proxies:
- name: "节点1"
type: hysteria2
server: server.com
port: 443
ports: 443-8443
password: yourpassword
up: "30 Mbps"
down: "200 Mbps"
sni: server.com
skip-cert-verify: false
alpn:
- h3
- name: "节点2"
type: hysteria2
server: server.com
port: 443
ports: 443-8443
password: yourpassword
up: "30 Mbps"
down: "200 Mbps"
sni: server.com
skip-cert-verify: false
alpn:
- h3
- name: "节点3"
type: hysteria2
server: server.com
port: 443
ports: 443-8443
password: yourpassword
up: "30 Mbps"
down: "200 Mbps"
sni: server.com
skip-cert-verify: false
alpn:
- h3
proxy-groups:
- name: 🚀 节点选择
type: select
proxies:
- 节点1
- 节点2
- 节点3
- ✅ 自动选择
- ⚖️ 负载均衡
- ⭕ 故障切换
- DIRECT
- name: ✅ 自动选择
type: url-test
url: http://www.gstatic.com/generate_204
interval: 300
tolerance: 50
proxies:
- 节点1
- 节点2
- 节点3
- name: "⚖️ 负载均衡"
type: load-balance
strategy: consistent-hashing
url: "https://cp.cloudflare.com/generate_204"
interval: 300
proxies:
- "节点1"
- "节点2"
- "节点3"
- name: ⭕ 故障切换
type: fallback
url: http://www.gstatic.com/generate_204
interval: 300
proxies:
- 节点1
- 节点2
- 节点3
- name: 🎯 全球直连
type: select
proxies:
- DIRECT
- 🚀 节点选择
- ✅ 自动选择
- name: 🧱 一堵高墙
type: select
proxies:
- 🚀 节点选择
- ✅ 自动选择
- 🎯 全球直连
- name: 🍎 苹果同步
type: select
proxies:
- 🚀 节点选择
- ✅ 自动选择
- 🎯 全球直连
- name: 🍎 苹果服务
type: select
proxies:
- 🚀 节点选择
- ✅ 自动选择
- 🎯 全球直连
- name: 🌏 境外服务
type: select
proxies:
- 🚀 节点选择
- ✅ 自动选择
- 🎯 全球直连
- name: 🏠 内网服务
type: select
proxies:
- 🎯 全球直连
- 🚀 节点选择
- ✅ 自动选择
- name: 🇨🇳 国内直连
type: select
proxies:
- 🎯 全球直连
- 🚀 节点选择
- ✅ 自动选择
- name: 📱 常用软件
type: select
proxies:
- 🎯 全球直连
- 🚀 节点选择
- ✅ 自动选择
- name: 📲 电报消息
type: select
proxies:
- 🚀 节点选择
- ✅ 自动选择
- 🎯 全球直连
- name: 🧿 谷歌服务
type: select
proxies:
- 🚀 节点选择
- ✅ 自动选择
- 🎯 全球直连
- name: 🐟 漏网之鱼
type: select
proxies:
- 🚀 节点选择
- ✅ 自动选择
- 🎯 全球直连
rule-providers:
icloud:
type: http
behavior: domain
url: "https://jsd.admincdn.com/gh/Loyalsoldier/clash-rules@release/icloud.txt"
path: ./ruleset/icloud.yaml
interval: 86400
apple:
type: http
behavior: domain
url: "https://jsd.admincdn.com/gh/Loyalsoldier/clash-rules@release/apple.txt"
path: ./ruleset/apple.yaml
interval: 86400
google:
type: http
behavior: domain
url: "https://jsd.admincdn.com/gh/Loyalsoldier/clash-rules@release/google.txt"
path: ./ruleset/google.yaml
interval: 86400
proxy:
type: http
behavior: domain
url: "https://jsd.admincdn.com/gh/Loyalsoldier/clash-rules@release/proxy.txt"
path: ./ruleset/proxy.yaml
interval: 86400
direct:
type: http
behavior: domain
url: "https://jsd.admincdn.com/gh/Loyalsoldier/clash-rules@release/direct.txt"
path: ./ruleset/direct.yaml
interval: 86400
private:
type: http
behavior: domain
url: "https://jsd.admincdn.com/gh/Loyalsoldier/clash-rules@release/private.txt"
path: ./ruleset/private.yaml
interval: 86400
gfw:
type: http
behavior: domain
url: "https://jsd.admincdn.com/gh/Loyalsoldier/clash-rules@release/gfw.txt"
path: ./ruleset/gfw.yaml
interval: 86400
tld-not-cn:
type: http
behavior: domain
url: "https://jsd.admincdn.com/gh/Loyalsoldier/clash-rules@release/tld-not-cn.txt"
path: ./ruleset/tld-not-cn.yaml
interval: 86400
telegramcidr:
type: http
behavior: ipcidr
url: "https://jsd.admincdn.com/gh/Loyalsoldier/clash-rules@release/telegramcidr.txt"
path: ./ruleset/telegramcidr.yaml
interval: 86400
cncidr:
type: http
behavior: ipcidr
url: "https://jsd.admincdn.com/gh/Loyalsoldier/clash-rules@release/cncidr.txt"
path: ./ruleset/cncidr.yaml
interval: 86400
lancidr:
type: http
behavior: ipcidr
url: "https://jsd.admincdn.com/gh/Loyalsoldier/clash-rules@release/lancidr.txt"
path: ./ruleset/lancidr.yaml
interval: 86400
applications:
type: http
behavior: classical
url: "https://jsd.admincdn.com/gh/Loyalsoldier/clash-rules@release/applications.txt"
path: ./ruleset/applications.yaml
interval: 86400
rules:
# 普通规则
- RULE-SET,private,🏠 内网服务
- RULE-SET,applications,📱 常用软件
- RULE-SET,direct,🇨🇳 国内直连
- RULE-SET,gfw,🧱 一堵高墙
- RULE-SET,icloud,🍎 苹果同步
- RULE-SET,apple,🍎 苹果服务
- RULE-SET,google,🧿 谷歌服务
- RULE-SET,proxy,🌏 境外服务
# IP 地址规则
- RULE-SET,telegramcidr,📲 电报消息
- RULE-SET,lancidr,🏠 内网服务
- RULE-SET,cncidr,🇨🇳 国内直连
- GEOIP,LAN,🏠 内网服务
- GEOIP,CN,🇨🇳 国内直连
# 兜底规则
- MATCH,🐟 漏网之鱼YAML将配置里面的节点和将策略组修改成你自己的节点即可直接套用
这里我使用的规则集全部都是在线规则集,这有利于每次更新都是使用最新的规则
八、Clash回家
我们可以在clash的配置文件添加上我们家里的clash节点,从而实现远程“回家”,直接添加一个节点、策略组和规则就可以实现了
mixed-port: 7890
allow-lan: true
bind-address: "*"
mode: rule
log-level: info
external-controller: :9090
secret: 123456
dns:
enable: true
prefer-h3: true
ipv6: true
default-nameserver:
- 223.5.5.5
- 119.29.29.29
- 114.114.114.114
nameserver:
- 223.5.5.5
- 119.29.29.29
- 114.114.114.114
- https://doh.pub/dns-query
- https://dns.alidns.com/dns-query
fallback:
- https://dns.google/dns-query
- https://cloudflare-dns.com/dns-query
fallback-filter:
geoip: true
geoip-code: CN
ipcidr:
- 0.0.0.0/8
- 10.0.0.0/8
- 127.0.0.0/8
- 169.254.0.0/16
- 172.16.0.0/12
- 192.168.0.0/16
- 224.0.0.0/4
- 240.0.0.0/4
domain:
- "+.google.com"
- "+.youtube.com"
- "+.facebook.com"
- "+.twitter.com"
- "+.telegram.org"
- "+.reddit.com"
- "+.spotify.com"
- "+.openai.com"
- "+.github.com"
- "+.cloudflare.com"
fake-ip-filter:
[
"*.n.n.srv.nintendo.net",
+.stun.playstation.net,
xbox.*.*.microsoft.com,
"*.msftncsi.com",
"*.msftconnecttest.com",
WORKGROUP,
"*.lan",
"*.local",
"*.router",
"*.localdomain",
"*.home.arpa",
"*.belkin",
"*.tplinklogin.net",
"*.tenda",
stun.*.*,
stun.*.*.*,
+.stun.*.*,
+.stun.*.*.*,
+.stun.*.*.*.*,
+.stun.*.*.*.*.*,
time.windows.com,
time.nist.gov,
time.apple.com,
time.asia.apple.com,
"*.ntp.org.cn",
"*.openwrt.pool.ntp.org",
time1.cloud.tencent.com,
time.ustc.edu.cn,
pool.ntp.org,
ntp.ubuntu.com,
"*.*.xboxlive.com",
speedtest.cros.wr.pvp.net,
]
tun:
enable: true
stack: system
dns-hijack:
- any:53
auto-route: true
auto-detect-interface: true
device-name: mihomo
#节点添加
proxies:
- name: 节点1
type: hysteria2
server: server.com
port: 443
ports: 443-8443
password: yourpassword
up: 30 Mbps
down: 200 Mbps
sni: server.com
skip-cert-verify: false
alpn:
- h3
- name: 节点2
type: hysteria2
server: server.com
port: 443
ports: 443-8443
password: yourpassword
up: 30 Mbps
down: 200 Mbps
sni: server.com
skip-cert-verify: false
alpn:
- h3
- name: 节点3
type: hysteria2
server: server.com
port: 443
ports: 443-8443
password: yourpassword
up: 30 Mbps
down: 200 Mbps
sni: server.com
skip-cert-verify: false
alpn:
- h3
- name: 回家节点
type: hysteria2
server: server.com
port: 443
ports: 443-8443
password: yourpassword
up: 30 Mbps
down: 200 Mbps
sni: server.com
skip-cert-verify: false
alpn:
- h3
proxy-groups:
- name: 🚀 节点选择
type: select
proxies:
- 节点1
- 节点2
- 节点3
- ✅ 自动选择
- ⚖️ 负载均衡
- ⭕ 故障切换
- DIRECT
- name: ✅ 自动选择
type: url-test
url: http://www.gstatic.com/generate_204
interval: 300
tolerance: 50
proxies:
- 节点1
- 节点2
- 节点3
- name: ⚖️ 负载均衡
type: load-balance
strategy: consistent-hashing
url: https://cp.cloudflare.com/generate_204
interval: 300
proxies:
- 节点1
- 节点2
- 节点3
- name: 🏡 回家选择
type: load-balance
strategy: consistent-hashing
url: http://localhost/test # 注意修改测速url为内网可达url
interval: 300
proxies:
- 回家节点
- name: ⭕ 故障切换
type: fallback
url: http://www.gstatic.com/generate_204
interval: 300
proxies:
- 节点1
- 节点2
- 节点3
- name: 🎯 全球直连
type: select
proxies:
- DIRECT
- 🚀 节点选择
- ✅ 自动选择
- name: 🧱 一堵高墙
type: select
proxies:
- 🚀 节点选择
- ✅ 自动选择
- 🎯 全球直连
- name: 🍎 苹果同步
type: select
proxies:
- 🚀 节点选择
- ✅ 自动选择
- 🎯 全球直连
- name: 🍎 苹果服务
type: select
proxies:
- 🚀 节点选择
- ✅ 自动选择
- 🎯 全球直连
- name: 🌏 境外服务
type: select
proxies:
- 🚀 节点选择
- ✅ 自动选择
- 🎯 全球直连
- name: 🏠 内网服务
type: select
proxies:
- 🎯 全球直连
- 🚀 节点选择
- ✅ 自动选择
- name: 🇨🇳 国内直连
type: select
proxies:
- 🎯 全球直连
- 🚀 节点选择
- ✅ 自动选择
- name: 📱 常用软件
type: select
proxies:
- 🎯 全球直连
- 🚀 节点选择
- ✅ 自动选择
- name: 📲 电报消息
type: select
proxies:
- 🚀 节点选择
- ✅ 自动选择
- 🎯 全球直连
- name: 🧿 谷歌服务
type: select
proxies:
- 🚀 节点选择
- ✅ 自动选择
- 🎯 全球直连
- name: 🐟 漏网之鱼
type: select
proxies:
- 🚀 节点选择
- ✅ 自动选择
- 🎯 全球直连
rule-providers:
icloud:
type: http
behavior: domain
url: "https://jsd.admincdn.com/gh/Loyalsoldier/clash-rules@release/icloud.txt"
path: ./ruleset/icloud.yaml
interval: 86400
apple:
type: http
behavior: domain
url: "https://jsd.admincdn.com/gh/Loyalsoldier/clash-rules@release/apple.txt"
path: ./ruleset/apple.yaml
interval: 86400
google:
type: http
behavior: domain
url: "https://jsd.admincdn.com/gh/Loyalsoldier/clash-rules@release/google.txt"
path: ./ruleset/google.yaml
interval: 86400
proxy:
type: http
behavior: domain
url: "https://jsd.admincdn.com/gh/Loyalsoldier/clash-rules@release/proxy.txt"
path: ./ruleset/proxy.yaml
interval: 86400
direct:
type: http
behavior: domain
url: "https://jsd.admincdn.com/gh/Loyalsoldier/clash-rules@release/direct.txt"
path: ./ruleset/direct.yaml
interval: 86400
private:
type: http
behavior: domain
url: "https://jsd.admincdn.com/gh/Loyalsoldier/clash-rules@release/private.txt"
path: ./ruleset/private.yaml
interval: 86400
gfw:
type: http
behavior: domain
url: "https://jsd.admincdn.com/gh/Loyalsoldier/clash-rules@release/gfw.txt"
path: ./ruleset/gfw.yaml
interval: 86400
tld-not-cn:
type: http
behavior: domain
url: "https://jsd.admincdn.com/gh/Loyalsoldier/clash-rules@release/tld-not-cn.txt"
path: ./ruleset/tld-not-cn.yaml
interval: 86400
telegramcidr:
type: http
behavior: ipcidr
url: "https://jsd.admincdn.com/gh/Loyalsoldier/clash-rules@release/telegramcidr.txt"
path: ./ruleset/telegramcidr.yaml
interval: 86400
cncidr:
type: http
behavior: ipcidr
url: "https://jsd.admincdn.com/gh/Loyalsoldier/clash-rules@release/cncidr.txt"
path: ./ruleset/cncidr.yaml
interval: 86400
lancidr:
type: http
behavior: ipcidr
url: "https://jsd.admincdn.com/gh/Loyalsoldier/clash-rules@release/lancidr.txt"
path: ./ruleset/lancidr.yaml
interval: 86400
applications:
type: http
behavior: classical
url: "https://jsd.admincdn.com/gh/Loyalsoldier/clash-rules@release/applications.txt"
path: ./ruleset/applications.yaml
interval: 86400
rules:
# 回家规则
- IP-CIDR,192.168.1.0/24,🏡 回家选择,no-resolve
# 普通规则
- RULE-SET,private,🏠 内网服务
- RULE-SET,applications,📱 常用软件
- RULE-SET,direct,🇨🇳 国内直连
- RULE-SET,gfw,🧱 一堵高墙
- RULE-SET,icloud,🍎 苹果同步
- RULE-SET,apple,🍎 苹果服务
- RULE-SET,google,🧿 谷歌服务
- RULE-SET,proxy,🌏 境外服务
# IP 地址规则
- RULE-SET,telegramcidr,📲 电报消息
- RULE-SET,lancidr,🏠 内网服务
- RULE-SET,cncidr,🇨🇳 国内直连
- GEOIP,LAN,🏠 内网服务
- GEOIP,CN,🇨🇳 国内直连
# 兜底规则
- MATCH,🐟 漏网之鱼YAML📌 本文由 FishBoss_Tca 原创,转载请注明作者和原文链接。
原文链接:https://www.ytca.top/guidance/2657/










