本教程旨在帮助大家快速建立属于自己使用习惯的Clash自定义分流规则和策略组,配合Github库或VPS,以及托管转换配置文件,实现在线维护更新。从此不再因为订阅链接在套用第三方已有分流规则策略组更新后,个人修改的分流规则策略组被覆盖。
Windows 10 专业版 1904;
Clash for Windows v 0.19.12
Clash.Net v1.5
1. 简介
Clash for Windows(CFW)应该是目前Windows和macOS上最好用的基于规则的跨平台代理工具软件,允许用户可视化操作和支持主流SS/V2ray/Trojan多协议。Clash.Net在此基础上对UI进行了美化,也推荐使用。
已经上手Clash的用户大都是在用ACL4SSR或其他大佬的维护的分流策略,他们的规则策略其实已经能满足绝大部分用户的使用场景,但是还有一小撮用户(比如我)由于工作或者个人使用习惯的差异,有些分流没有包含这些差异在内,这时统一使用Final(漏网之鱼)来回切换就比较麻烦,因此这种情况下,制作属于自己的分流规则策略组还是很有必要的。
将折腾过后得出的方法分享给大家,少走点弯路。这里特别感谢Kris Heri大佬中途的提点。本教程理论上适用于所有Clash内核的代理工具,如Clash X Pro,Clash for Android(CFA)以及路由器版的OpenClash,由于缺少设备,欢迎成功的小伙伴在评论区留言 💬
👇🏼 教程整体逻辑 👇🏼
→ 制作线上分流规则和策略组文件
→ 转码托管机场订阅和分流策略组文件地址
→ 将转码后的分流策略组文件地址正确放入订阅转换API链接中
→ 导入最终配置文件链接到CFW
2. 制作线上分流规则和策略组
这一步是为了创建符合你使用习惯的分流规则 .list
和策略组 .ini
文件。原则上只要有一个可以线上读写维护的库就可以,这里推荐Github库和VPS,本文仅以Github版教程抛砖引玉,VPS版就是现在本地写好再传到服务器就好了。
一般情况下,并不是所有分流规则完全都要自己写,大部分可以使用大佬维护的分流规则,然后写自己需要的分流规则,最后整理出自用分流策略组文件。
2.1 分流规则库推荐
Raw
,然后完整拷贝浏览器 raw.githubusercontent
开头的链接地址。
ACL4SSR的库:https://github.com/ACL4SSR/ACL4SSR/tree/master/Clash
blackmatrix7的库:https://github.com/blackmatrix7/ios_rule_script/tree/master/rule/Clash
神机规则库:https://github.com/DivineEngine/Profiles/tree/master/Clash/RuleSet
- 分流规则参考使用
.list
后缀文件。 - 如果参考的分流规则是
.yaml
后缀文件,建议先只选取部分需要的规则,然后复制转移或fork
该规则到个人Github库中,把-
字段用全部替换的方式删掉,再重命名为.list
后缀文件。
2.2 制作自用分流规则
.list
结尾。
;
和 #
都是常用的注释符号,表示该行代码不会生效,常用于代码前的分类和备注。
👉 常用规则写法参考:
# 表示包含xxx.com域名后缀下的所有网站链接
DOMAIN-SUFFIX,xxx.com
# 表示包含这个xxxx域名关键词的所有网站链接
DOMAIN-KEYWORD,xxxx
👉 以PayPal分流规则为例:
# PayPal
DOMAIN-SUFFIX,paypal.com
DOMAIN-SUFFIX,paypal.me
DOMAIN-SUFFIX,paypalobjects.com
DOMAIN-KEYWORD,paypal
👇 更多写法可以参考 👇
https://docs.cfw.lbyczf.com/contents/ui/profiles/rules.html
2.3 制作分流策略组
.ini
结尾。
.ini
配置文件中:ruleset
指的是配配置中包含的分流规则,custom_proxy_group
指的是最终在Clash中呈现的分流策略组及其排序。
ruleset
排序原则:重要直连分流规则 > 去广告规则 > 小分流 > 国内外大分流 > 补充规则。
策略组的排序非常重要,因为分流策略组的匹配是按照至上而下收录,匹配到了就停止不再往下,比如YouTube规则要放在国外媒体前面,而完整的国外媒体规则包含了YouTube, Netflix, Pornhub等等,所以分流规则较大要放在YouTube小分流规则后面。
👉 分流策略组模板参考:
ACL4SSR的配置文件:https://raw.githubusercontent.com/ACL4SSR/ACL4SSR/master/Clash/config/ACL4SSR_Online_Full.ini
👉 分流策略组文件说明:
- 一般情况下,只需要对
ruleset
和custom_proxy_group
进行修改即可,其他地方不懂就不改。 ruleset
和custom_proxy_group
中分流规则和策略组自定义命名要完全对应,但是可以几个同命名而不同地址的.list
分流规则对应一个策略组。
📌 举个例子:我创建3条ruleset
分流规则并链接到Github的地址,且全部都命名全球直连
,那在custom_proxy_group
中命名为全球直连
策略组会全部应用上面三条分流规则。
👉 Ruleset说明:
逗号前的红框位置为该分流规则的命名,逗号后为该分流规则.list
后缀的地址链接,如果规则同名最终会共同叠加生效。
👉 Custom_proxy_group说明:
这个分组为在CFW图形界面最终呈现的策略组排序。Select
后面有多少 []XXXX
代表该策略组有多少种规则可以选,可以自定义,一般用 上飘点
分隔,最后一项后不需要加 上飘点
。
# 以下代码是CFW默认自带的,不用特意再写,结合上图,按需设置策略组的选项
→ DIRECT: 直连
→ REJECT: 该规则下不走网络活动,常用于广告拦截
→ .*: 表示加入你订阅中所有节点
→ url-test: 表示有该代码下的节点会自动测速
# 自动归类节点 - 以图片中香港节点策略组为例
→ (港|HK|Hong Kong)
代表具有"港","HK","HongKong"关键词的节点会归类到香港节点这个策略组中,
测速以 http://www.gstatic.com/generate_204`300,,50为准。
2.4 提交上传配置文件
在GitHub上面几步改好的
.list
和 .ini
文件,要点 Commit Change
提交,再去拷贝 Raw
文件链接。
3. 转码托管 - 机场订阅和策略组
这里只要用到两种链接,一种是你的机场订阅链接(们),另一种则是你先前编辑好 .ini
分流策略组配置的链接。
机场推荐:Nirvana萌喵加速机场; Miaona!中转机场
3.1 转码托管机场链接
这一步是利用开源订阅转换API转码你的机场订阅链接,如果有网易云解锁节点链接也可以加入一并转换。
一般情况下,这些订阅转换API转码不会保存你的节点信息。通俗来说,只是把你的字符转换成另外一种计算机语言,并套进对应的代理工具软件配置参数的链接中,不放心且有能力的也可以自己搭建API。
🔗 订阅转换托管API推荐
👉 转换托管步骤
- 输入的订阅/节点链接,选择生成类型,这里我们默认选
Clash
(也有叫Clash新参数的) - 点生成订阅链接,获得转码后的链接地址,下面是按照图内的地址转码后得到的结果:
# 温馨提示:往右拖动还有内容
# 该配置文件地址还没有嵌入策略组地址信息
# 这里以我截图乱填的3个订阅地址为例
https://api.dler.io/sub?target=clash&url=api.dingyue1.com%2F1234567%7Capi.dingyue2.com%2F1234567%7Capi.wangiyihun.com%2Fblabla
# 预留一下策略组配置文件地址位置,在上面链接的基础上加上下面这串代码
&insert=false&config=peizhiwenjian&emoji=true&list=false&udp=false&tfo=false&scv=false&fdn=false&sort=false
# 如果订阅支持udp, tfo就把这两项后面的false改成true,默认为false,加完后完整链接为
https://api.dler.io/sub?target=clash&url=api.dingyue1.com%2F1234567%7Capi.dingyue2.com%2F1234567%7Capi.wangiyihun.com%2Fblabla&insert=false&config=peizhiwenjian&emoji=true&list=false&udp=false&tfo=false&scv=false&fdn=false&sort=false
3.2 转码分流策略组
先前我们已经编辑好我们自定义的 .ini 后缀的分流策略组配置文件,在Github上,我们要拷贝这个文件的 Raw
地址。
👉 转换策略组步骤
- 在https://www.urlencoder.org/ 上转码,按照下图步骤。
- 把转码后链接地址粘贴在下方链接中
peizhiwenjian
处即可成功获得最终的配置文件。
# 温馨提示:往右拖动还有内容
# &insert 前为先前通过`api.dler.io`转换后的订阅地址
# peizhiwenjian 替换成你转码后配置文件地址,一定是.ini结尾的
https://sub.dler.io/sub?target=clash&url=api.dingyue1.com%2F1234567%7Capi.dingyue2.com%2F1234567%7Capi.wangiyihun.com%2Fblabla&insert=false&config=peizhiwenjian&emoji=true&list=false&udp=false&tfo=false&scv=false&fdn=false&sort=false
4. 导入配置文件地址到Clash
按照图示导入最终的配置文件到 CFW
或 Clash.Net
,完结撒花!
- API有可能会被墙,建议在编辑自用分流规则时加入你使用的订阅转换API域名。
- 每次Github的配置文件修改后,由于缓存的原因,CFW建议过一两分钟再点更新配置文件。
使用托管API得到的链接,更新时会偶尔套用失效,应该是服务器问题,等待一两分钟再次更新就好了。
29 comments
感谢分享
如果订阅地址自带了ACL4SSR的分流规则,还可以转码托管吗,因为我要加自己的ini,这样会不会重复了影响速度?
根据测试不会重复,你只要嵌入了你自己写的ini,原本订阅带的分流规则不会带入。
多谢分享
请问如何把规则策略组托管到自己的vps上, github链接容易被墙,可否出一期教程,万分感谢
你ini的文件完全可以放在你的Vps,但是分流策略,除了你自建的,其他的还是用github现成的吧,更新频率高,而且github链接可以找那种CDN之后的地址。
到最后几步看不懂了,比如点生成订阅链接,获得转码后的链接地址,下面是按照图内的地址转码后得到的结果:把转码后链接地址粘贴在下方链接中 peizhiwenjian 处即可成功获得最终的配置文件。大佬可以再解释一下吗
已经很直白了。
1.你的订阅地址,去转码的网站转一次。
2.在你转码后的订阅地址后面加上&insert=false&config=peizhiwenjian&emoji=true&list=false&udp=false&tfo=false&scv=false&fdn=false&sort=false
3.转码你写好的在线ini文件。
4.把转码后的ini文件地址替换在"步骤2"的peizhiwenjian的位置。
再看不懂我没办法了_(:з」∠)_
到最后几步看不懂了,大佬可以再解释一下吗?
配置在路由器的的clash怎么配置啊??现在是gfwlist+路由器内部分流,试过在配置字段里面linkedin,没用,好像必须全局模式,感觉是判断IP地址有关
openclash配置应该是没问题通用的,你可以看看先前评论里头,之前有读者能选到自定义配置,一般先全局更新成自己的自定义规则文件再调回规则分流就正常使用了。
站长,我在写一篇关于clash使用相关的文字发现了您这篇关于自定义规则的文章。我大概率是自己留在印象笔记中不会发在什么平台上。但以防万一我要问您一下,介意我转载你的内容吗?
帮得上忙就转吧,能给个外链更好哈哈~
https://v2rayse.com/clash-template/这是我发现的自定义clash规则的一个网站。可以保存自己修改的模板。站长可以看看.按照网站主说自定义的模板是缓存在自己的浏览器缓存中。有好处有坏处吧。
怎么保存下来慢慢研究一下。我主要看流媒体,软路由,openwrt物理机,3865U。比如看奈飞需要新加坡节点,YouTube香港节点,hbo go台湾节点,hbo max美国节点,hulu美国节点,迪士尼+新加坡节点。今天看奈飞是香港节点,明天想看hbo go需要台湾节点。我现在是进路由器后台更改节点为台湾。感觉麻烦。
如果按分组改设置分流策略完全能实现你对分类的需求,但是同一个策略组每天用的地区节点都不一样的话,你还不如手动。
为啥呢?我主要是用appleTV盒子在电视看流媒体,用的是机场,比如今晚上看奈飞(香港节点),过一会儿想看hbo(美国节点),直接用盒子遥控器点对应的App(奈飞或者hbo)就可以了。不用进入路由器后台手工改动节点。
解决了困惑我好几个小时的问题,可以顺利配置更细化的流媒体分流了!
帮上忙就好,还担心写复杂了🤪
非常感谢大佬!谢谢您!
大佬,很受用,但是我自己搭建的后端,可以直接吧ini的配置连接放进去吗亲,再求大佬出一篇如何用vercel搭建订阅转换
深深受教!
请教,在Openclash里面只有ACL4SSR或其他大佬的默认模板,找不到可以修改的订阅转换模板,是否putty进去修改?
找到方法了,原来在配置最下面有一个“自定义模板”,然后指向github的模板即可OωO
棒,正想回复你说我这边还没换有openclash的路由器,找到就好,你的留言给后来参考吧(`・ω・´)ゞ
进阶版:用WinSCP进入软路由usr/share/openclash/res目录, 在sub_ini.list里面可以自己编辑,增删自己需要的规则模板。
请问如何自动配置节点里面的hosts?比如我的节点是Vmess节点,里面的ws-headers是a.com,但我想在更新配置文件的时候把ws-headers自动改成b.com,需要如何操作
抱歉,没研究到那么深入哈,你可以进Clash群去问问群里的大佬,应该能找到答案~
感谢大佬!