设为首页|收藏本站|
开启左侧

[问答] 简单自定义订阅的Clash配置文件

[复制链接]
98975 0
高敏658 发表于 2022-11-15 22:07:22 | 只看该作者 打印 上一主题 下一主题
 
本文以Clash for Windows(下文简称CFW)v0.20.6 作为演示,存在时效性,仅供参考。
有时候订阅下来的配置文件并不满足每个人的个性化需求,比如多样化的分流,节点分类等。
那么如何让配置文件符合自己的使用习惯,就需要给它动动手。

简单自定义订阅的Clash配置文件 第1张图片

图一

图一的配置文件如下(无关信息已用*代替):
port: 7890
socks-port: 7891
redir-port: 7892
allow-lan: false
mode: rule
log-level: silent
external-controller: '0.0.0.0:9090'
secret: ''
# 以上参数(包括但不限于)为clash运行设置,非必要默认即可
# 一些配置会有dns组,位置不定,非必要默认即可
proxies: # 节点组,这部分由机场负责,非必要默认即可
  - name: '   台湾 A01V' # 决定CFW里节点的名称
    type: vmess # 决定节点的类型
    *
  - name: '   日本 A01V'
    type: vmess
    *
  - name: '   狮城 A01V'
    type: vmess
    *
  - name: '   美国 A01V'
    type: vmess
    *
  - name: '   香港 A01V'
    type: vmess
    *
proxy-groups: # 策略组
  - name: '  节点选择' # 决定策略组的名称
    type: select # 决定策略组的工作方式
    proxies: # 这里可以加入节点,也可以加入别的策略组
      - '   台湾 A01V' # 加入的节点只用取其name
      - '   日本 A01V'
      - '   狮城 A01V'
      - '   美国 A01V'
      - '   香港 A01V'
  - name: '  全球直连'
    type: select
    proxies:
      - DIRECT
      # DIRECT(直连)和REJECT(阻止)都是clash内定、钦点的节点,命名节点/策略组时避免与其冲突
      - '  节点选择' # 加入的策略组也只用取name
  - name: '  漏网之鱼'
    type: select
    proxies:
      - '  节点选择'
      - DIRECT

rules: # 规则组,所有经由clash的流量都会先在此匹配、分流
  - DOMAIN-SUFFIX,1password.com,  节点选择
  # 格式: - 规则类型,分流目标,应该被分到的节点/策略组
  # 节点/策略组 必 须 一一对应,否则clash内核不能启动
  - DOMAIN-SUFFIX,adguard.org,  节点选择
  # ...省略若干行...
  - GEOIP,CN,  全球直连
  - MATCH,  漏网之鱼 # NATCH位于规则的最后一个作为兜底,兜住前面都没匹配上的流量

# 极少数后面会有rule-providers组照葫芦画瓢,我们就可以随意更改做出自己的定制版。编辑时一定要注意英文符号【,】【.】【-】、空格、缩进的使用和逻辑匹配。
以某18年上市的著名视频平台(题外话:这篇文章在那里发不出去)的番剧出差为例,在原配置文件的基础上简单实操一下:
配置文件处右键打开编辑,用CFW内置的编辑器打开配置文件

简单自定义订阅的Clash配置文件 第2张图片
加在proxy-groups下作为选择器,位置随意
- name: 破站
  type: select
  proxies:
    - DIRECT # 在本地看
    - '   台湾 A01V' # 游过海峡去看查询到破站常用网址,加在rules下作为匹配规则,注意后面匹配节点/策略组
- DOMAIN,0gr4uqmtt8y41hcjsgrzdrc31.ourdvsss.com,破站
- DOMAIN,0gr4uqmtt8y41hcjsgrzdrc3s.ourdvsss.com,破站
- DOMAIN,0gr4uqmtt8y41hcjsgrzdrc3z.ourdvsss.com,破站
- DOMAIN,0gr4uqmtt8y41hcjsgrzdrctt.ourdvsss.com,破站
- DOMAIN,0gr4uqmtt8y41hcjsgrzdrctu.ourdvsss.com,破站
- DOMAIN,0gr4uqmtt8y41hcjz8yzdnc31.ourdvsss.com,破站
- DOMAIN,0gr4uqmtt8y41hcjz8yzdnc3t.ourdvsss.com,破站
- DOMAIN,0gr4uqmtt8y41hcjzgazdrpba.ourdvsss.com,破站
- DOMAIN,0gr4uqmtt8y41hcjzgazdrpbz.ourdvsss.com,破站
- DOMAIN,0gr4uqmtt8y41hcjzgazdrpjt.ourdvsss.com,破站
- DOMAIN,112-81-125-43.dhost.00cdn.com,破站
- DOMAIN,113-219-145-1.ksyungslb.com,破站
- DOMAIN,114-236-92-129.ksyungslb.com,破站
- DOMAIN,180-101-74-1.ksyungslb.com,破站
- DOMAIN,1geadrmttge3nhcjwgazdope.ourdvsss.com,破站
- DOMAIN,1geadrmttge3nhcjwgwzdqqe.ourdvsss.com,破站
- DOMAIN,1gr3uomttgr31hcjo8yzdnco.ourdvsss.com,破站
- DOMAIN,1gr3uomttgr31hcjo8yzdnpy.ourdvsss.com,破站
- DOMAIN,1gr3uomttgr31hcjtgezdkcy.ourdvsss.com,破站
- DOMAIN,1gr4uqmtt8y41hcjigazdqca.ourdvsss.com,破站
- DOMAIN,1gr4uqmtt8y41hcjigazdqce.ourdvsss.com,破站
- DOMAIN,1gr4uqmtt8y41hcjigazdqco.ourdvsss.com,破站
- DOMAIN,1gr4uqmtt8y41hcjigazdqpo.ourdvsss.com,破站
- DOMAIN,1gr4uqmtt8y41hcjzgwzdkqe.ourdvsss.com,破站
- DOMAIN,1gr5dgmttgha1hcj38yzdcca.ourdvsss.com,破站
- DOMAIN,1gr5dgmttgha1hcj38yzdcco.ourdvsss.com,破站
- DOMAIN,1gr5dgmttgha1hcj38yzdkca.ourdvsss.com,破站
- DOMAIN,1gr5dgmttgha1hcj38yzdkco.ourdvsss.com,破站
- DOMAIN,1gr5dgmttgha1hcj38yzdkpe.ourdvsss.com,破站
- DOMAIN,1gr5dgmttgha1hcj38yzdkpy.ourdvsss.com,破站
- DOMAIN,1gr5dgmttgha1hcj38yzdkqy.ourdvsss.com,破站
- DOMAIN,1gr5dgmttgha1hcj3gczdcpa.ourdvsss.com,破站
- DOMAIN,1gr5dgmttgha1hcj3gczdcpe.ourdvsss.com,破站
- DOMAIN,1gr5dgmttgha1hcj3gczdcpo.ourdvsss.com,破站
- DOMAIN,1gr5dgmttgha1hcj3gczdcqy.ourdvsss.com,破站
- DOMAIN,1gr5dgmttgha1hcttgrzdnpo.ourdvsss.com,破站
- DOMAIN,1graukmttga4nhcjtgozdgce.ourdvsss.com,破站
- DOMAIN,218-91-225-1.ksyungslb.com,破站
- DOMAIN,219-155-150-1.ksyungslb.com,破站
- DOMAIN,222-188-6-1.ksyungslb.com,破站
- DOMAIN,36-104-134-1.ksyungslb.com,破站
- DOMAIN,36-25-252-1.ksyungslb.com,破站
- DOMAIN,3ge3drmttga5nhcbqge3ur.ourdvsss.com,破站
- DOMAIN,3geauymtsgrzdnqbofa5do.ourdvsss.com,破站
- DOMAIN,3geauymtsgrzdnqbofa5dy.ourdvsss.com,破站
- DOMAIN,3geauymtsgrzdrcbzfahue.ourdvsss.com,破站
- DOMAIN,3geauymtsgrzdrcbzfahuk.ourdvsss.com,破站
- DOMAIN,4go41hcjtgazdoctqge4o.ourdvsss.com,破站
- DOMAIN,p-bstarstatic.akamaized.net,破站
- DOMAIN,p.bstarstatic.com,破站
- DOMAIN,upos-bstar-mirrorakam.akamaized.net,破站
- DOMAIN,upos-bstar1-mirrorakam.akamaized.net,破站
- DOMAIN-SUFFIX,acg.tv,破站
- DOMAIN-SUFFIX,acgvideo.com,破站
- DOMAIN-SUFFIX,animetamashi.cn,破站
- DOMAIN-SUFFIX,animetamashi.com,破站
- DOMAIN-SUFFIX,anitama.cn,破站
- DOMAIN-SUFFIX,anitama.net,破站
- DOMAIN-SUFFIX,b23.tv,破站
- DOMAIN-SUFFIX,baka.im,破站
- DOMAIN-SUFFIX,bigfun.cn,破站
- DOMAIN-SUFFIX,bigfunapp.cn,破站
- DOMAIN-SUFFIX,bili22.cn,破站
- DOMAIN-SUFFIX,bili2233.cn,破站
- DOMAIN-SUFFIX,bili23.cn,破站
- DOMAIN-SUFFIX,bili33.cn,破站
- DOMAIN-SUFFIX,biliapi.com,破站
- DOMAIN-SUFFIX,biliapi.net,破站
- DOMAIN-SUFFIX,bilibili.cc,破站
- DOMAIN-SUFFIX,bilibili.cn,破站
- DOMAIN-SUFFIX,bilibili.co,破站
- DOMAIN-SUFFIX,bilibili.com,破站
- DOMAIN-SUFFIX,bilibili.net,破站
- DOMAIN-SUFFIX,bilibili.tv,破站
- DOMAIN-SUFFIX,bilibiligame.cn,破站
- DOMAIN-SUFFIX,bilibiligame.co,破站
- DOMAIN-SUFFIX,bilibiligame.net,破站
- DOMAIN-SUFFIX,bilibilipay.cn,破站
- DOMAIN-SUFFIX,bilibilipay.com,破站
- DOMAIN-SUFFIX,bilicdn1.com,破站
- DOMAIN-SUFFIX,bilicdn2.com,破站
- DOMAIN-SUFFIX,bilicdn3.com,破站
- DOMAIN-SUFFIX,bilicdn4.com,破站
- DOMAIN-SUFFIX,bilicdn5.com,破站
- DOMAIN-SUFFIX,biligame.cn,破站
- DOMAIN-SUFFIX,biligame.co,破站
- DOMAIN-SUFFIX,biligame.com,破站
- DOMAIN-SUFFIX,biligame.net,破站
- DOMAIN-SUFFIX,biligo.com,破站
- DOMAIN-SUFFIX,biliimg.com,破站
- DOMAIN-SUFFIX,biliintl.com,破站
- DOMAIN-SUFFIX,biliplus.com,破站
- DOMAIN-SUFFIX,bilivideo.cn,破站
- DOMAIN-SUFFIX,bilivideo.com,破站
- DOMAIN-SUFFIX,bilivideo.net,破站
- DOMAIN-SUFFIX,corari.com,破站
- DOMAIN-SUFFIX,dyhgames.com,破站
- DOMAIN-SUFFIX,hdslb.com,破站
- DOMAIN-SUFFIX,hdslb.com.w.kunlunhuf.com,破站
- DOMAIN-SUFFIX,hdslb.com.w.kunlunpi.com,破站
- DOMAIN-SUFFIX,hdslb.net,破站
- DOMAIN-SUFFIX,hdslb.org,破站
- DOMAIN-SUFFIX,im9.com,破站
- DOMAIN-SUFFIX,maoercdn.com,破站
- DOMAIN-SUFFIX,mcbbs.net,破站
- DOMAIN-SUFFIX,mincdn.com,破站
- DOMAIN-SUFFIX,sharejoytech.com,破站
- DOMAIN-SUFFIX,smtcdns.net,破站
- DOMAIN-SUFFIX,upos-hz-mirrorakam.akamaized.net,破站
- DOMAIN-SUFFIX,uposdash-302-bilivideo.yfcdn.net,破站
- DOMAIN-SUFFIX,yo9.com,破站
- IP-CIDR,106.75.74.76/32,破站
- IP-CIDR,111.206.25.147/32,破站
- IP-CIDR,119.3.238.64/32,破站
- IP-CIDR,120.92.108.182/32,破站
- IP-CIDR,120.92.113.99/32,破站
- IP-CIDR,120.92.153.217/32,破站
- IP-CIDR,134.175.207.130/32,破站
- IP-CIDR,203.107.1.0/24,破站
- PROCESS-NAME,com.bilibili.app.blue,破站
- PROCESS-NAME,com.bilibili.app.in,破站
- PROCESS-NAME,com.bilibili.comic,破站
- PROCESS-NAME,com.bilibili.comic.intl,破站
- PROCESS-NAME,tv.danmaku.bili,破站
- PROCESS-NAME,tv.danmaku.bilibilihd,破站保存,再切回去就能看到破站的策略组了。
游到对岸的嗶哩嗶哩,就能間諜家家酒了。

简单自定义订阅的Clash配置文件 第3张图片
对于想要进行更大规模的改动或者经常通过订阅更新配置文件的用户,CFW提供了一个一劳永逸的工具:Parser,预处理(根据CFW官方文档[1],0.11.10版本以上支持)。后者可以在每次更新时通过命令修改配置文件。Parser的开启位置和检查是否生效可以在这篇里找到答案
下面介绍Parser更进阶的用法,让各位可以将自己的配置文件改的更顺手。
稍微总结了前人的经验[2][3][4][5],为方便讲解将不同部分拆开来。按实际变量和需要填写,无脑复制是没用的。
一般parser开头都是这样
parsers: # array
  - reg: ^.*$ # 匹配所有订阅
  - url: https://subscribe.link/yourprofile.yaml # 指定订阅
  - url: https://subscribe.link/ # 匹配该网址下所有订阅不想用配置文件自带的策略组和规则的,可以用这段代码清除(code命令可以指定运行一段代码)
code: |
  module.exports.parse = (raw, { yaml }) => {
    const rawObj = yaml.parse(raw)
    const groups = []
    const rules = []
    return yaml.stringify({ ...rawObj, 'proxy-groups': groups, rules })
  }建立yaml配置文件,若没有该命令,下面对配置文件的操作命令会因无操作对象而失效[6]
yaml:建立策略组[7]
prepend-proxy-groups: # 在proxy-groups前加入策略组
append-proxy-groups: # 在proxy-groups后加入策略组
# 下面的编写方式就和配置文件里的proxy-groups一样了,如何分流任君发挥
# 示例
  - name: 【策略组名】
    type: select # 手动选择
          url-test # 每隔【测试间隔】对【指定url】测试,若当前节点延迟与组内节点最低的延迟相差超过【延迟容差】,则切换到延迟最低的
          fallback # 节点不可用时自动切换下一个
          load-balance # 均衡使用节点
    url: 【指定url】 # 对除了select类型的分组是必要项,默认为http://www.gstatic.com/generate_204
    interval: 【测试间隔】 # 对除了select类型的分组是必要项,单位秒
    tolerance: 【延迟容差】 # 非必须项,单位毫秒
    proxies: # proxies至少得有一个节点/策略组,不然会出错。可以和其他策略组套娃
      - 【节点名】
      - 【策略组名】将订阅中的节点按照一定规则添加到指定策略组中 Commands是什么
commands:
  - proxy-groups.【策略组名】.proxies=[]proxyNames # 后面嘛都不加即为添加所有节点
  # 过滤节点名称的正则表达式
  []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
  # 总结的常用地区节点正则表达式,参考自ACL4SSR的Full MultiMode。可以发现,依然是遵循着上面的规则编写
  []proxyNames|^(.*)(港|HK|Hong Kong)+(.*)$
  []proxyNames|^(.*)(新加坡|坡|狮城|SG|Singapore)+(.*)$
  []proxyNames|^(.*)(台|新北|彰化|TW|Taiwan)+(.*)$
  []proxyNames|^(.*)(日本|川日|东京|大阪|泉日|埼玉|沪日|深日|日|JP|Japan)+(.*)$
  []proxyNames|^(.*)(美|波特兰|达拉斯|俄勒冈|凤凰城|费利蒙|硅谷|拉斯维加斯|洛杉矶|圣何塞|圣克拉拉|西雅图|芝加哥|US|United States)+(.*)$
  []proxyNames|^(.*)(KR|Korea|KOR|首尔|韩|韓)+(.*)$给配置文件添加规则[8]
prepend-rules: # 在rules组前添加规则
append-rules: # 在rules组后添加规则
  # clash由上而下遍历规则,按先匹配到的决定分流
  - DOMAIN,origin-a.akamaihd.net,【节点名】/【策略组名】 # DOMAIN:域名匹配。与DOMAIN-SUFFIX的区别是它只匹配origin-a.akamaihd.net,不会将akamaihd.net一起匹配
  - DOMAIN-SUFFIX,origin.com,【节点名】/【策略组名】 # DOMAIN:域名匹配。与DOMAIN的区别是会匹配origin.com下的所有域名
  - RULE-SET,【规则集名】,【节点名】/【策略组名】 # RULE-SET:Rule Provider 规则匹配。下面部分会讲到
  - GEOIP,CN,【节点名】/【策略组名】,no-resolve # GEOIP:GEOIP 数据库(国家代码)匹配。该例下为匹配.cn结尾的域名。no-resolve表示不解析DNS,是可选项
  - MATCH,【节点名】/【策略组名】 # MATCH:全匹配。放在最后,作为兜底
  # 其他的匹配规则
    DOMAIN-KEYWORD:域名关键字匹配
    IP-CIDR:IP 段匹配
    SRC-IP-CIDR:源 IP 段匹配
    DST-PORT:目标端口匹配
    SRC-PORT:源端口匹配
    PROCESS-NAME:源进程名匹配 # 多用于匹配BT软件进程(例:bitcomet_x64.exe),防止BT使用飞机流量。使用PROCESS-NAME需要 Clash for Windows v0.11.5 及以上版本;规则需要匹配完整的进程名(包括可执行文件后缀)方可生效;该规则不适用于 TAP 流量。添加规则集[9]。网上的规则集[10][11]通常由大佬们维护、更新,总集的、分类的任君挑选。规则集/RULE-SET只有Clash Premium内核支持,CFW是Clash Premium内核。
mix-rule-providers: # 合并至rule-providers
  【规则集名】: # 与上方rules中rule-set里一一对应
    type: http # 通过【规则集网址】下载类型
        file # 本地文件类型
    behavior: domain
              classical
              ipcidr
              # 目前只见过这些类型,一般会随规则集提供填写类型
    url: "【规则集网址】" # 下载规则集网址,当type=http时必须
    path: ./ruleset/ruleset.yaml # 保存下载/本地文件的路径及文件名
    interval: 86400 # 更新规则集间隔,当type=http时必须,单位秒
其实还有个proxy-providers,像rule-providers一样可以从URL或本地更新节点,不过有点跑题了,而且若是使用的URL订阅无法访问(机场常事)clash就无法启动,坑多实用性不大,在此不提。

编写时一定要注意英文符号【,】【.】【-】、空格、缩进的使用和逻辑匹配,这些问题造成了大多数出错。
按照自己喜好写完后保存,更新配置文件就可以看到成果了。
Q&A
Q:Clash在哪下载?要不要钱?有没有中文版?有没有病毒?违法吗?
A:1.参考的第一个链接里就有;2.苹果平台不清楚,其他的没见过收费的;3.中文包https://github.com/BoyceLig/Clash_Chinese_Patch。说实话,用久了什么语言都无所谓了,图标一看就懂;4.截至发文,Clash和CFW作为GitHub上star相加超过70k的项目,未见有人报毒。怕就别用,用就别怕;5.你说的对,赶紧自首。
Q:为什么左下角一直是已连接/Connected,不能断开省流量吗?
A:该项显示的是clash面板连接到clash内核的状态。其实规则写好了不该浪费的流量就不会浪费。
Q:URL订阅在哪?
A:找机场买或者白嫖咯。(会自己搭的应该不会问这个)
Q:有无机场推荐?
A:不对任何机场做推荐。没有哪一家敢保证自己绝对稳定在线率永远100%、大陆每个地区访问速度拉满,而且作为竞争激烈的灰黑色产业,每年新开的和跑路的大小机场比比皆是,碰上跑路的就自认倒霉。个人经验,尽可能月付+后备几个机场,基本不慌。
参考


  • ^https://docs.cfw.lbyczf.com/contents/parser.html#%E7%89%88%E6%9C%AC%E8%A6%81%E6%B1%82
  • ^https://github.com/Loyalsoldier/clash-rules/issues/27
  • ^https://github.com/Loyalsoldier/clash-rules/issues/97
  • ^https://www.920.im/clash-rule-providers-configuration/
  • ^https://vlike.work/tech/how-to-clash.html
  • ^https://docs.cfw.lbyczf.com/contents/actions.html#%E5%B7%A5%E5%85%B7%E7%B1%BB%E5%AF%B9%E8%B1%A1-%E6%96%B9%E6%B3%95
  • ^https://lancellc.gitbook.io/clash/clash-config-file/proxy-groups
  • ^https://lancellc.gitbook.io/clash/clash-config-file/rules
  • ^https://lancellc.gitbook.io/clash/clash-config-file/rule-provider
  • ^https://github.com/blackmatrix7/ios_rule_script
  • ^https://github.com/Loyalsoldier/clash-rules/



上一篇:如何看待美国机密报告称「阿联酋一直在操纵美国政治」?这 ...
下一篇:川普 将要发表“美国历史上最重要的讲话”
@



1.西兔生活网 CTLIVES 内容全部来自网络;
2.版权归原网站或原作者所有;
3.内容与本站立场无关;
4.若涉及侵权或有疑义,请点击“举报”按钮,其他联系方式或无法及时处理。
 
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

排行榜
活跃网友
返回顶部快速回复上一主题下一主题返回列表APP下载手机访问
Copyright © 2016-2028 CTLIVES.COM All Rights Reserved.  西兔生活网  小黑屋| GMT+8, 2024-5-6 18:26