Clash for Windows 文档
大约 6 分钟Clash for Windows 文档Clash for Windows 文档
Clash for Windows 文档
自定义 Parser 规则,实现自动分流
parsers: # array
- reg: ^.*$
# - reg: ^.*$ 匹配所有订阅,或 - url: https://example.com/profile.yaml 指定订阅
# 下面是删除服务商自带的策略组和规则
code: |
module.exports.parse = (raw, { yaml }) => {
const rawObj = yaml.parse(raw)
const groups = []
const rules = []
return yaml.stringify({ ...rawObj, 'proxy-groups': groups, rules })
}
# 建立自己的配置
yaml:
prepend-proxy-groups: # 建立策略组
- name: 🥷 Proxy
type: select
url: http://www.google.com/generate_204
interval: 300
proxies:
- 🔗 Url-Test
- ⚖️ Load-Balance
- 🔀 Fallback
- ✅ Select
- DIRECT
- 🇭🇰 香港
- 🇹🇼 台湾
- 🇯🇵 日本
- 🇸🇬 新加坡
- 🇰🇷 韩国
- 🇺🇸 美国
- 🏴☠️ 其他
- name: ✅ Select
type: select
proxies:
- 🔗 Url-Test
- ⚖️ Load-Balance
- 🔀 Fallback
- ⏳ YouTube-Url-Test
- DIRECT
- 🇭🇰 香港
- 🇹🇼 台湾
- 🇯🇵 日本
- 🇸🇬 新加坡
- 🇰🇷 韩国
- 🇺🇸 美国
- 🏴☠️ 其他
# url-test 为选择延迟最低的服务器
- name: 🔗 Url-Test
type: url-test
url: http://www.google.com/generate_204
interval: 120
lazy: true
tolerance: 100
# load-balance 则是我们的负载均衡所需要的配置
- name: ⚖️ Load-Balance
type: load-balance
url: http://www.gstatic.com/generate_204
interval: 600
# fallback 为选择到第一个可用的服务器
- name: 🔀 Fallback
type: fallback
url: http://www.gstatic.com/generate_204
interval: 60
lazy: true
tolerance: 30
- name: ▶️ YouTube
type: select
proxies:
- 🔗 Url-Test
- ⚖️ Load-Balance
- 🔀 Fallback
- ⏳ YouTube-Url-Test
- ✅ Select
- DIRECT
- 🇭🇰 香港
- 🇹🇼 台湾
- 🇯🇵 日本
- 🇸🇬 新加坡
- 🇰🇷 韩国
- 🇺🇸 美国
- 🏴☠️ 其他
- name: ⏳ YouTube-Url-Test
type: url-test
url: https://www.youtube.com/
interval: 120
lazy: true
tolerance: 100
proxies:
- REJECT
- DIRECT
- name: 📺 Netflix
type: select
proxies:
- 🔗 Url-Test
- ⚖️ Load-Balance
- 🔀 Fallback
- ✅ Select
- DIRECT
- 🇭🇰 香港
- 🇹🇼 台湾
- 🇯🇵 日本
- 🇸🇬 新加坡
- 🇰🇷 韩国
- 🇺🇸 美国
- 🏴☠️ 其他
- name: ⚛️ OpenAI
type: select
proxies:
# - 🔗 Url-Test
# - ⚖️ Load-Balance
# - 🔀 Fallback
# - ✅ Select
- DIRECT
# - 🇭🇰 香港
# - 🇹🇼 台湾
- 🇯🇵 日本
- 🇸🇬 新加坡
- 🇰🇷 韩国
- 🇺🇸 美国
# - 🏴☠️ 其他
- name: 🔍 Bing
type: select
proxies:
- 🔗 Url-Test
- ⚖️ Load-Balance
- 🔀 Fallback
- ✅ Select
- DIRECT
- 🇭🇰 香港
- 🇹🇼 台湾
- 🇯🇵 日本
- 🇸🇬 新加坡
- 🇰🇷 韩国
- 🇺🇸 美国
- 🏴☠️ 其他
- name: 🚅 Google
type: select
proxies:
- 🔗 Url-Test
- ⚖️ Load-Balance
- 🔀 Fallback
- ✅ Select
- DIRECT
- 🇭🇰 香港
- 🇹🇼 台湾
- 🇯🇵 日本
- 🇸🇬 新加坡
- 🇰🇷 韩国
- 🇺🇸 美国
- 🏴☠️ 其他
- name: 🛀 Bilibiliintl
type: select
proxies:
- 🔗 Url-Test
- ⚖️ Load-Balance
- 🔀 Fallback
- ✅ Select
- DIRECT
- 🇭🇰 香港
- 🇹🇼 台湾
- 🇯🇵 日本
- 🇸🇬 新加坡
- 🇰🇷 韩国
- 🇺🇸 美国
- 🏴☠️ 其他
- name: 🦤 Twitter
type: select
proxies:
- 🔗 Url-Test
- ⚖️ Load-Balance
- 🔀 Fallback
- ✅ Select
- DIRECT
- 🇭🇰 香港
- 🇹🇼 台湾
- 🇯🇵 日本
- 🇸🇬 新加坡
- 🇰🇷 韩国
- 🇺🇸 美国
- 🏴☠️ 其他
- name: 🚦 AD
type: select
proxies:
- REJECT
- DIRECT
- 🥷 Proxy
- name: 🇭🇰 香港
type: select
url: http://www.google.com/generate_204
interval: 300
# - name: 🇭🇰 香港
# type: url-test
# url: http://www.google.com/generate_204
# interval: 300
- name: 🇹🇼 台湾
type: url-test
url: http://www.google.com/generate_204
interval: 300
- name: 🇯🇵 日本
type: url-test
url: http://www.google.com/generate_204
interval: 300
- name: 🇸🇬 新加坡
type: url-test
url: http://www.google.com/generate_204
interval: 300
- name: 🇰🇷 韩国
type: url-test
url: http://www.google.com/generate_204
interval: 300
- name: 🇺🇸 美国
type: url-test
url: http://www.google.com/generate_204
interval: 300
- name: 🏴☠️ 其他
type: url-test
url: http://www.google.com/generate_204
interval: 300
# 策略组示例
# - name: 分组名
# type: select # 手动选点
# url-test # 自动选择延迟最低的节点
# fallback # 节点故障时自动切换下一个
# laod-balance # 均衡使用分组内的节点
# url: http://www.gstatic.com/generate_204 # 测试地址 非select类型分组必要
# interval: 300 # 自动测试间隔时间,单位秒 非select类型分组必要
# tolerance: 50 # 允许的偏差,节点之间延迟差小于该值不切换 非必要
# proxies:
# - 节点名称或其他分组套娃
commands:
- proxy-groups.(🔗 Url-Test).proxies=[]proxyNames
- proxy-groups.(⚖️ Load-Balance).proxies=[]proxyNames
- proxy-groups.(🔀 Fallback).proxies=[]proxyNames
- proxy-groups.(⏳ YouTube-Url-Test).proxies=[]proxyNames
- proxy-groups.(🇭🇰 香港).proxies=[]proxyNames|港|香港|🇭🇰|HK|Hong Kong # 向指定策略组添加订阅中的节点名,可使用正则过滤
- proxy-groups.(🇹🇼 台湾).proxies=[]proxyNames|台|台湾|新北|彰化|TW|Taiwan
- proxy-groups.(🇯🇵 日本).proxies=[]proxyNames|日|日本|🇯🇵|川日|东京|大阪|泉日|埼玉|沪日|深日|[^-]日|JP|Japan
- proxy-groups.(🇰🇷 韩国).proxies=[]proxyNames|韩|韓|韩国|🇰🇷|KR|Korea|KOR|首尔
- proxy-groups.(🇸🇬 新加坡).proxies=[]proxyNames|新加坡|🇸🇬|坡|狮城|SG|Singapore
- proxy-groups.(🇺🇸 美国).proxies=[]proxyNames|美|美国|🇺🇸|波特兰|达拉斯|俄勒冈|凤凰城|费利蒙|硅谷|拉斯维加斯|洛杉矶|圣何塞|圣克拉拉|西雅图|芝加哥|US|United States
- proxy-groups.(🏴☠️ 其他).proxies=[]proxyNames|^[^香日台新韩美]*$ # 这个可以自定义,这个正则的意思是排除节点名字有“香日台新韩美”的节点。
- mixed-port=7890
# 为各个策略组添加一个DIRECT,避免机场节点无法匹配上面的正则筛选而导致配置出错。应该有其他办法避免,但是我不会。
- proxy-groups.(🇭🇰 香港).proxies.0+REJECT
- proxy-groups.(🇹🇼 台湾).proxies.0+REJECT
- proxy-groups.(🇯🇵 日本).proxies.0+REJECT
- proxy-groups.(🇰🇷 韩国).proxies.0+REJECT
- proxy-groups.(🇸🇬 新加坡).proxies.0+REJECT
- proxy-groups.(🇺🇸 美国).proxies.0+REJECT
- proxy-groups.(🏴☠️ 其他).proxies.0+REJECT
# - proxy-groups.节点名字.proxies.0+DIRECT # 向指定分组第一个位置添加一个 DIRECT 节点名
# 一些可能用到的正则过滤节点示例,使分组更细致
# []proxyNames|a # 包含a
# []proxyNames|^(.*)(a|b)+(.*)$ # 包含a或b
# []proxyNames|^(?=.*a)(?=.*b).*$ # 包含a和b
# []proxyNames|^((?!b).)*a((?!b).)*$ # 包含a且不包含b
# []proxyNames|^((?!b|c).)*a((?!b|c).)*$ # 包含a且不包含b或c
# 更多正则教程,请看这里:https://deerchao.cn/tutorials/regex/regex.htm#top
# 添加规则
# DOMAIN-SUFFIX: 域名后缀匹配
# DOMAIN: 域名匹配
# DOMAIN-KEYWORD: 域名关键字匹配
# IP-CIDR: IP段匹配
# SRC-IP-CIDR: 源IP段匹配
# GEOIP: GEOIP数据库(国家代码)匹配
# DST-PORT: 目标端口匹配
# SRC-PORT: 源端口匹配
# PROCESS-NAME: 源进程名匹配
# RULE-SET: Rule Provider规则匹配
# MATCH: 全匹配
prepend-rules: # 规则由上往下遍历,如上面规则已经命中,则不再往下处理
- RULE-SET,openai,⚛️ OpenAI
- DOMAIN-SUFFIX,jdev.tw,🥷 Proxy
- DOMAIN-SUFFIX,omnivore.app,🥷 Proxy
- DOMAIN,clash.razord.top,DIRECT
- DOMAIN,yacd.haishan.me,DIRECT
- DOMAIN-SUFFIX,keil.com,🥷 Proxy
- GEOIP,,DIRECT
- GEOIP,CN,DIRECT
- RULE-SET,direct,DIRECT
- RULE-SET,youtube,▶️ YouTube
- RULE-SET,netflix,📺 Netflix
- RULE-SET,bing,🔍 Bing
- RULE-SET,bilibiliintl,🛀 Bilibiliintl
- RULE-SET,applications,DIRECT
- RULE-SET,private,DIRECT
- RULE-SET,reject,🚦 AD
- RULE-SET,icloud,DIRECT #
- RULE-SET,apple,🥷 Proxy # 这三个为国内可直连地址,如果希望走代理改为🥷 Proxy
- RULE-SET,google,🚅 Google #
- RULE-SET,googledrive,🚅 Google #
- RULE-SET,googlesearch,🚅 Google #
- RULE-SET,tld-not-cn,🥷 Proxy
- RULE-SET,gfw,🥷 Proxy
- RULE-SET,greatfire,🥷 Proxy
- RULE-SET,telegramcidr,🥷 Proxy
- RULE-SET,github,🥷 Proxy
- RULE-SET,proxy,🥷 Proxy
- RULE-SET,lancidr,DIRECT
- RULE-SET,cncidr,DIRECT
- MATCH,✅ Select # ⭐️⭐️规则之外的,在这里来修改是白名单模式还是黑名单模式,具体在“✅ Select”选择代理或直连。
# - RULE-SET,twitter,🦤 Twitter
# 添加规则集
mix-rule-providers:
reject: # 广告域名列表
type: http
behavior: domain
url: "https://cdn.jsdelivr.net/gh/Loyalsoldier/clash-rules@release/reject.txt"
path: ./ruleset/reject.yaml
interval: 86400
icloud: # iCloud 域名列表
type: http
behavior: domain
url: "https://cdn.jsdelivr.net/gh/Loyalsoldier/clash-rules@release/icloud.txt"
path: ./ruleset/icloud.yaml
interval: 86400
apple: # Apple 在中国大陆可直连的域名列表
type: http
behavior: domain
url: "https://cdn.jsdelivr.net/gh/Loyalsoldier/clash-rules@release/apple.txt"
path: ./ruleset/apple.yaml
interval: 86400
google: # Google 在中国大陆可直连的域名列表
type: http
behavior: classical
url: "https://cdn.jsdelivr.net/gh/blackmatrix7/ios_rule_script@master/rule/Clash/Google/Google.yaml"
path: ./ruleset/google.yaml
interval: 86400
googledrive: #
type: http
behavior: classical
url: "https://cdn.jsdelivr.net/gh/blackmatrix7/ios_rule_script@master/rule/Clash/GoogleDrive/GoogleDrive.yaml"
path: ./ruleset/googledrive.yaml
interval: 86400
googlesearch: #
type: http
behavior: classical
url: "https://cdn.jsdelivr.net/gh/blackmatrix7/ios_rule_script@master/rule/Clash/GoogleSearch/GoogleSearch.yaml"
path: ./ruleset/googlesearch.yaml
interval: 86400
direct: # 直连域名列表
type: http
behavior: domain
url: "https://cdn.jsdelivr.net/gh/Loyalsoldier/clash-rules@release/direct.txt"
path: ./ruleset/direct.yaml
interval: 86400
private: # 私有网络专用域名列表
type: http
behavior: domain
url: "https://cdn.jsdelivr.net/gh/Loyalsoldier/clash-rules@release/private.txt"
path: ./ruleset/private.yaml
interval: 86400
gfw: # GFWList 域名列表
type: http
behavior: domain
url: "https://cdn.jsdelivr.net/gh/Loyalsoldier/clash-rules@release/gfw.txt"
path: ./ruleset/gfw.yaml
interval: 86400
greatfire: # GreatFire 域名列表
type: http
behavior: domain
url: "https://cdn.jsdelivr.net/gh/Loyalsoldier/clash-rules@release/greatfire.txt"
path: ./ruleset/greatfire.yaml
interval: 86400
tld-not-cn: # 非中国大陆使用的顶级域名列表
type: http
behavior: domain
url: "https://cdn.jsdelivr.net/gh/Loyalsoldier/clash-rules@release/tld-not-cn.txt"
path: ./ruleset/tld-not-cn.yaml
interval: 86400
telegramcidr: # Telegram 使用的 IP 地址列表
type: http
behavior: ipcidr
url: "https://cdn.jsdelivr.net/gh/Loyalsoldier/clash-rules@release/telegramcidr.txt"
path: ./ruleset/telegramcidr.yaml
interval: 86400
cncidr: # 中国大陆 IP 地址列表
type: http
behavior: ipcidr
url: "https://cdn.jsdelivr.net/gh/Loyalsoldier/clash-rules@release/cncidr.txt"
path: ./ruleset/cncidr.yaml
interval: 86400
lancidr: # 局域网 IP 及保留 IP 地址列表
type: http
behavior: ipcidr
url: "https://cdn.jsdelivr.net/gh/Loyalsoldier/clash-rules@release/lancidr.txt"
path: ./ruleset/lancidr.yaml
interval: 86400
applications: # 需要直连的常见软件列表
type: http
behavior: classical
url: "https://cdn.jsdelivr.net/gh/Loyalsoldier/clash-rules@release/applications.txt"
path: ./ruleset/applications.yaml
interval: 86400
netflix: # 奈飞的分流规则
type: http
behavior: classical
url: "https://raw.githubusercontent.com/blackmatrix7/ios_rule_script/release/rule/Clash/Netflix/Netflix.yaml"
path: ./ruleset/netflix.yaml
interval: 86400
bing: # Bing的分流规则
type: http
behavior: classical
url: "https://cdn.jsdelivr.net/gh/blackmatrix7/ios_rule_script@master/rule/Clash/Bing/Bing.yaml"
path: ./ruleset/bing.yaml
interval: 86400
openai: # OpenAI的分流规则
type: http
behavior: classical
url: "https://cdn.jsdelivr.net/gh/blackmatrix7/ios_rule_script@master/rule/Clash/OpenAI/OpenAI.yaml"
path: ./ruleset/openai.yaml
interval: 86400
youtube: # YouTube的分流规则
type: http
behavior: classical
url: "https://cdn.jsdelivr.net/gh/blackmatrix7/ios_rule_script@master/rule/Clash/YouTube/YouTube.yaml"
path: ./ruleset/youtube.yaml
interval: 86400
bilibiliintl: # BiliBiliIntl的分流规则
type: http
behavior: classical
url: "https://cdn.jsdelivr.net/gh/blackmatrix7/ios_rule_script@master/rule/Clash/BiliBiliIntl/BiliBiliIntl.yaml"
path: ./ruleset/bilibiliintl.yaml
interval: 86400
# twitter: # twitter的分流规则
# type: http
# behavior: classical
# url: "https://cdn.jsdelivr.net/gh/blackmatrix7/ios_rule_script@master/rule/Clash/Twitter/Twitter.yaml"
# path: ./ruleset/twitter.yaml
# interval: 86400
github: # github的分流规则
type: http
behavior: classical
url: "https://cdn.jsdelivr.net/gh/blackmatrix7/ios_rule_script@master/rule/Clash/GitHub/GitHub.yaml"
path: ./ruleset/github.yaml
interval: 86400
proxy: # 代理域名列表
type: http
behavior: domain
url: "https://cdn.jsdelivr.net/gh/Loyalsoldier/clash-rules@release/proxy.txt"
path: ./ruleset/proxy.yaml
interval: 86400
提示
此文档只是记录CFW的使用方法,和软件本身无任何关系。