Clash 规则配置指南
Clash 使用 JSON 格式来定义规则,每个规则由 condition 和 action 组成。condition 是触发规则的条件,action 是执行的操作。
基本规则格式
{
"name": "规则名称",
"condition": {
"key": "值",
"match": "规则类型"
},
"action": {
"type": "操作类型",
"value": "具体值"
}
}
name:规则的名称,用于标识规则。condition:规则的条件,例如匹配域名、IP地址等。action:规则的操作,例如重定向、过滤、阻止等。
常见规则配置示例
(1) 限制访问某个网站
阻止用户访问某个域名或网站。
{
"name": "阻止访问 Google",
"condition": {
"domain": "google.com"
},
"action": {
"type": "block",
"value": null
}
}
type:block表示阻止。value:null表示完全阻止访问。
(2) 重定向到指定网站
将访问某个域名的流量重定向到另一个网站。
{
"name": "重定向到 X.Y",
"condition": {
"domain": "example.com"
},
"action": {
"type": "redirect",
"value": "http://x.y"
}
}
type:redirect表示重定向。value: 指定的 URL 或域名。
(3) 限制访问特定路径
限制访问某个网站的特定路径。
{
"name": "限制访问 GitHub 的仓库",
"condition": {
"domain": "github.com",
"path": "/user/repos"
},
"action": {
"type": "block",
"value": null
}
}
path: 规则匹配路径。condition: 可以组合多个条件(如域名和路径)。
(4) 限制访问特定 IP
阻止访问某个 IP 地址。
{
"name": "阻止访问 127...1",
"condition": {
"ip": "127...1"
},
"action": {
"type": "block",
"value": null
}
}
(5) 重定向到 HTTPS
将 HTTP 流量重定向到 HTTPS。
{
"name": "强制 HTTPS",
"condition": {
"domain": "example.com"
},
"action": {
"type": "redirect",
"value": "https://example.com"
}
}
(6) 限制访问社交媒体
在工作时间限制访问社交媒体网站。
{
"name": "限制访问社交媒体",
"condition": {
"domain": [
"facebook.com",
"twitter.com",
"instagram.com"
]
},
"action": {
"type": "block",
"value": null
}
}
domain: 可以是单个域名或多个域名的数组。type:block表示阻止。
(7) DNS 重定向
将域名解析重定向到指定的 DNS 服务器。
{
"name": "DNS 重定向",
"condition": {
"domain": "example.com"
},
"action": {
"type": "dns",
"value": "http://your-dns-server.com"
}
}
type:dns表示 DNS 重定向。value: 指定的 DNS 服务器地址。
高级规则配置
(1) 使用正则表达式
Clash 支持在条件中使用正则表达式(Regex)。
{
"name": "匹配带有特定关键词的域名",
"condition": {
"domain": {
"pattern": "^www\\.(.*\\.com|\\.org)$"
}
},
"action": {
"type": "block",
"value": null
}
}
pattern: 正则表达式,用于匹配域名。- *`^www.(..(com|org))$
**: 匹配以 "www." 开头,后面跟任意域名的.com或.org`。
(2) 阻止访问特定文件扩展名
限制访问特定文件扩展名的资源。
{
"name": "阻止访问 PDF 文件",
"condition": {
"path": {
"pattern": ".*\\.pdf"
}
},
"action": {
"type": "block",
"value": null
}
}
pattern: 正则表达式,匹配文件路径。- *`.\.pdf
**: 匹配任何格式为.pdf` 的文件。
(3) 限制访问特定时间段
限制访问某个域名的流量在特定时间段内。
{
"name": "限制访问 GitHub 在工作时间",
"condition": {
"domain": "github.com",
"time": {
"start": "09:00",
"end": "18:00"
}
},
"action": {
"type": "block",
"value": null
}
}
time: 时间范围,支持小时和分钟的格式。
Clash 的高级功能
(1) 组合规则
Clash 支持将多个规则组合在一起,条件和动作为组合规则。
{
"name": "组合规则",
"condition": [
{
"domain": "example.com"
},
{
"ip": "192.168.1.1"
}
],
"action": {
"type": "block",
"value": null
}
}
condition: 可以是单个条件或多个条件的数组。action: 统一的操作。
(2) DNS_over_traffic
Clash 提供 DNS_over_traffic 功能,可以将 DNS 请求重定向到指定的服务器。
{
"name": "DNS 重定向",
"condition": {
"domain": "example.com"
},
"action": {
"type": "dns",
"value": "http://your-dns-server.com"
}
}
(3) 过滤有害网站
Clash 提供默认的有害网站过滤规则,可以通过配置来扩展。
{
"name": "过滤有害网站",
"condition": {
"domain": [
"malicious-site.com",
"phishing-site.net"
]
},
"action": {
"type": "block",
"value": null
}
}
注意事项
value: 需要确保值正确无误,尤其是 URL 和 IP 地址。case-insensitive: Clash 的默认设置中,域名匹配是区分大小写的。安全性: 确保你了解你在做什么,避免误封锁重要的网站或资源。组合规则: 通过组合多个条件,可以实现更复杂的网络管理。
Clash 是一个强大的网络代理工具,通过灵活的规则配置,可以实现多种网络管理场景,从简单的域名和 IP 匹配,到复杂的正则表达式和时间控制,Clash 都能满足你的需求,通过合理配置,可以为用户或团队提供一个更安全、更高效的网络环境。




