自用 · 路由配置 · 远程覆写脚本
远程覆写地址 · YAML 说明 · JavaScript 说明 · dns-host背景说明 · 规则集重合 · 更新需知 · 致谢 · Star History · 免责声明
默认远程覆写脚本地址(代码块右上角可直接复制):
https://raw.githubusercontent.com/XVSVTsama/XVSVT-Clash-Config/refs/heads/main/script_override.js
mihomo.yaml 是本仓库的基准配置模板,同时也是覆写脚本合并时使用的内嵌模板:一份不含任何节点的完整配置骨架,不可直接使用它。
| 策略组名称 | 默认行为 / 触发条件 | 注意事项 |
|---|---|---|
| 🌍 PROXY | 未命中的所有默认海外流量 | 可选手动、自动或负载均衡 |
| 🔄 负载均衡 | 采用 sticky-sessions (粘性会话) 策略 |
保证同一域名短时间内 IP 不变 |
| 👉 手动切换 | 手动选择特定节点 | YAML 与 JS 均使用 include-all,纳入顶层节点与 provider 节点 |
| ♻️ 自动选择 | url-test 自动测试并选择延迟最低的节点 |
容差设置为 50ms;节点由原生 include 字段引入 |
| 🍎 海外苹果 | 未被前置直连规则匹配的 Apple 域名/IP | 固定策略项与动态节点并存;echs_direct 等通用直连规则优先 |
| 💠 海外微软 | 未被前置直连规则匹配的 Microsoft 域名/IP | 固定策略项与动态节点并存;echs_direct 等通用直连规则优先 |
| 🎮 Steam平台(非下载/CDN) | Steam 域名/IP 规则 | default-selected: DIRECT;命中前置直连规则的国内游戏/下载会提前直连 |
| 📲 Telegram | 匹配进程名、Telegram 域名与 CIDR 规则集 | 节点由 YAML/JS 的原生 include 字段引入 |
| 🎮 Games-Global | 国际服游戏流量 | default-selected: 🎮 Steam平台(非下载/CDN),保留嵌套组并动态引入节点 |
filter 匹配住宅/美国系命名节点,排除香港/新加坡节点 |
🚨 节点命名不符将导致此策略组为空! | |
| 🤖 AI大模型 | filter 匹配住宅/美国系命名节点,排除香港/新加坡节点 |
🚨 节点命名不符将导致此策略组为空! |
| 🎵 TikTok | filter 匹配住宅/美国系命名节点,排除香港/新加坡节点 |
🚨 节点命名不符将导致此策略组为空! |
| FCM | Google FCM 相关域名(rules 中 googlefcm 规则集的目标组) |
静态 YAML 依次提供 👉 手动切换、DIRECT;使用 JS 后由 FCM直连 控制,默认仅 DIRECT |
注:不使用覆写脚本直接运行 YAML 时,需自行提供节点或有效订阅 provider。YAML 与脚本的常规动态节点组均通过 Mihomo 原生
include-all纳入顶层proxies与proxy-providers节点,带filter的组对两者继续筛选;🌍 PROXY、FCM 不直接使用该字段。🍎 海外苹果 / 💠 海外微软 / 🎮 Steam平台(非下载/CDN)/ 🎮 Games-Global 保留固定策略项。脚本的 TGDC 实验地区组例外:仅依据顶层节点筛选,地区无候选时显式列出合格保底节点。
本配置按个人使用习惯定制,并非开箱即用的通用模板,尤其是对于直接导入 YAML 的使用形式。使用前请完成以下必要设置;如不熟悉 Mihomo、TUN、DNS 或策略组过滤规则,请先了解相关机制再使用。
- 直接使用 YAML (
mihomo.yaml):不使用 JavaScript 覆写脚本时,将proxy-providers.subscription.url的占位地址在本地替换为自己的 Clash/Mihomo 订阅链接;include-all策略组会自动纳入 provider 节点。也可删除不用的示例 provider,将proxies: ~替换为自己的节点列表。模板不会自动读取客户端中的其他订阅,请勿把真实订阅链接或凭据提交到公开仓库。 - 节点过滤规则 (Filter):配置默认使用长正则匹配住宅/美国系命名节点(住宅/家宽/家庭宽带/residential/home broadband/🇺🇸/美国/美國/U.S. 等多种命名变体),并排除香港/新加坡相关节点(🇭🇰/香港/Hong Kong/HK/🇸🇬/新加坡/Singapore/SG)。如果订阅节点名称不符合这些条件,可根据实际情况调整相关策略组的
filter正则。 - 按需删减规则:如果你不需要屏蔽番茄小说海外版的广告,建议删除
sub-rules中fanqie相关的规则,以节省性能。
覆写脚本把订阅配置与本仓库维护的内嵌模板合并成最终配置:模板中已写好的字段(dns、rules、rule-providers、sniffer、tun、proxy-groups 分组结构等)以模板为准,节点与订阅自带 proxy-providers 来自订阅。脚本地址见页首 远程覆写脚本地址,在 Bettbox / FlClash 系客户端中给订阅挂上即可。
合并产物:
- 节点与代理组:订阅里的真实节点填入顶层
proxies;常规动态节点组通过 Mihomo 原生include-all引入顶层节点与 provider 节点,带filter的组继续由 Mihomo 筛选。固定策略项保留在各组的proxies列表中。 - 订阅自带
proxy-providers:原样保留;使用include-all的代理组会原生纳入这些 provider。脚本生成的 TGDC 实验地区组仍使用include-all-proxies或显式保底列表,不纳入 provider 运行时节点。 - DNS:动态合并出
dns.proxy-server-nameserver-policy(模板不预置该键,以脚本计算结果为准),细节见下方流程图。 - 开关声明:脚本首行的
Compatible_With_Bettbox兼容声明必须置顶——Bettbox 只在脚本开头识别该声明,删除或下移会导致"自定义规则开关"入口不显示;声明中的policyGroupOptions列出归入图形化开关分类的 12 个策略组,ruleOptionsEnable则是实际生效的开关表,键名需与声明保持一致。
脚本开头的 Compatible_With_Bettbox 声明用 policyGroupOptions 划定了"策略组开关"分类:只列进去的组出现在该分类下,没列进去的组不受它控制,改由脚本的 ruleOptionsEnable 决定存在形态(两者都在脚本顶部可查)。
列入 policyGroupOptions 的策略组(12 个)
| 策略组名称 | Bettbox 开关 | 默认 |
|---|---|---|
| 🌍 PROXY | 🌍 PROXY |
开启 |
| 🔄 负载均衡 | 🔄 负载均衡 |
开启 |
| 👉 手动切换 | 👉 手动切换 |
开启 |
| ♻️ 自动选择 | ♻️ 自动选择 |
开启 |
| 📲 Telegram | 📲 Telegram |
开启 |
| 🎮 Games-Global | 🎮 Games-Global |
开启 |
| 🍎 海外苹果 | 🍎 海外苹果 |
开启 |
| 💠 海外微软 | 💠 海外微软 |
开启 |
| 🎮 Steam平台(非下载/CDN) | 🎮 Steam平台(非下载/CDN) |
开启 |
✖️ Twitter |
开启 | |
| 🤖 AI大模型 | 🤖 AI大模型 |
开启 |
| 🎵 TikTok | 🎵 TikTok |
开启 |
这 12 个开关默认全部开启,关闭即移除该组,并清理其他组与 rules 中的引用(🌍 PROXY 关闭时其余引用回退到 DIRECT;TGDC 开启时 📲 Telegram 开关同时管 📲 Telegram(兜底))。
未列入 policyGroupOptions 的组
| 策略组名称 | 由哪个开关决定 | 默认 | 说明 |
|---|---|---|---|
| FCM | FCM直连 |
开启 | 开关不移除本组,只改写组内节点:开启=DIRECT;关闭且 👉 手动切换 已禁用时回退到全局兜底。脚本内嵌模板把本组标记为隐藏组(hidden) |
| 📲 Telegram(兜底) | TGDC实验分流 |
关闭 | 该开关开启时由 📲 Telegram 更名而来,承接 Telegram 进程、域名与 CIDR 规则 |
| 📲 Telegram-DC1-DC3-Miami | TGDC实验分流 |
关闭 | 开关开启时按 Telegram DC IP 规则优先命中美国/迈阿密节点;地区无候选时列出全部合格节点供手动选择 |
| 📲 Telegram-DC2-DC4-Amsterdam | TGDC实验分流 |
关闭 | 同上,对应荷兰/阿姆斯特丹节点 |
| 📲 Telegram-DC5-SG | TGDC实验分流 |
关闭 | 同上,DC5 同时匹配新加坡与香港节点 |
| 国内入口解析 | 入口解析 |
关闭 | 开关开启时统一注入维护区所有运营商的入口节点并建立该组,由用户手动选择入口;每个运营商支持多个节点,排列顺序不代表优先级 |
同样不在 policyGroupOptions、也不对应任何策略组的开关(4 个)
| 开关 | 默认 | 作用 |
|---|---|---|
强制证书验证 |
关闭 | 开启时统一把订阅节点的 skip-cert-verify 置为 false;关闭时不干预订阅节点原有设置 |
启用 Reality 增强 |
开启 | 为带非空 public-key / short-id 的 Reality 节点启用 X25519MLKEM768 后量子密钥协商 |
IPv6优先 |
关闭 | 改写顶层节点 ip-version:ipv6 保持不变,ipv6-prefer 改为 ipv6,其余设为 ipv6-prefer;不处理 provider 运行时节点 |
代理节点 DNS 使用 TCP |
关闭 | 为代理节点解析 DNS 中未标协议的地址启用 TCP;显式协议不变,失败时不回退 UDP |
关于客户端:这套图形化开关由 Bettbox 原生支持——脚本开头的
Compatible_With_Bettbox声明就是给 Bettbox 识别用的。换到其他客户端分两种情况:
- 支持 JS 覆写脚本、但没有开关面板的客户端(例如 FlClash):需要自行打开
script_override.js,把ruleOptionsEnable里对应开关的值改成true或false,保存后重新加载订阅即可生效;- 不支持 JS 覆写脚本的客户端:没有这个入口,只能改用
mihomo.yaml模板自行维护策略组。
本小节不属于 YAML 或脚本单方面的说明:本仓库引用的规则集来自多个上游,彼此存在规则集与规则集之间的覆盖重合。下面按重合的集合分组,全部用韦恩图说明。
1. 国内直连的三个来源
venn-beta
set E["echs_direct(echs-top 直连域名集)"]
set C["cn(DustinWin 国内域名集)"]
set A["applications(Loyalsoldier 国内应用域名集)"]
union E,C
union E,A
union C,A
union E,C,A
三者交集与两两交集是同一批国内直连域名,在 rules 的直连段依次命中、统一走 DIRECT。
2. 直连规则集与海外组规则集
venn-beta
set E["echs_direct"]
set P["apple(bett-rules)"]
set M["microsoft(bett-rules)"]
union E,P
union E,M
apple / microsoft 的国内部分落在 echs_direct 里,rules 把 echs_direct 排在海外组之前,重合部分先走 DIRECT;games 与 echs_direct 同理。
3. 出海域名集的多个来源
venn-beta
set X["proxy(DustinWin 代理域名集)"]
set G["gfw(GFW 域名集)"]
set O["google(Loyalsoldier Google 域名集)"]
union X,G
union X,O
union G,O
三者覆盖的都是"需要走代理的域名",在 rules 中同指 🌍 PROXY。
4. Twitter 的三套规则集
venn-beta
set D["twitter-x-domain(MetaCubeX)"]
set I["twitter-x-ip(MetaCubeX)"]
set B["twitter-x-blackmatrix7-No_Resolve"]
union D,B
union I,B
blackmatrix7 的 No_Resolve 集同时包含域名与 IP,与 MetaCubeX 的两套各自重合。
5. 两套 AI 规则集
venn-beta
set A1["ai-1(DustinWin ai.mrs)"]
set A2["ai-2(MetaCubeX category-ai-!cn)"]
union A1,A2
两套来源不同却覆盖同类站点,在 rules 中同指 🤖 AI大模型。
以上重合关系按各规则集的覆盖范围与来源判断(依据取自
mihomo.yaml的rules:引用与注释)。
更新提醒(8 条)
适用范围:JS/YAML
接管虚拟网卡中的 DNS 请求,让域名解析按配置统一处理。
适用范围:JS/YAML
支持使用订阅中的节点,减少手动维护节点列表的需要;直接使用 YAML 时,需先填入自己的订阅。
适用范围:JS/YAML
国际游戏流量默认直连;需要代理时,请手动切换。
适用范围:JS/YAML
Apple、Microsoft 等服务中符合直连条件的流量优先直连,其余流量仍可单独选择线路。
适用范围:JS/YAML
Twitter、AI 和 TikTok 仅使用名称符合住宅、美国等条件且不含香港、新加坡标记的节点;没有匹配节点时,需调整节点选择条件。
适用范围:JS/YAML
调整虚拟网卡的网络处理方式,更新后请留意设备上的连接兼容性。
适用范围:JS/YAML
Claude 等 AI 服务可使用 AI 专用线路,便于与其他流量分开选择节点。
适用范围:JS
支持节点域名的自定义映射与私有 DNS,方便使用自建解析服务。
本项目建立在开源内核、客户端、规则集与图标资源之上。以下列出本项目使用或参考的相关项目;引用或参考不代表这些项目与本仓库存在合作或背书关系。具体资源请以各上游项目的说明和许可为准。
- MetaCubeX/meta-rules-dat
- DustinWin/ruleset_geodata
- echs-top/proxy
- appshubcc/bett-rules
- reddishJade/private_proxy
- Accademia/Additional_Rule_For_Clash
- Loyalsoldier/clash-rules
- blackmatrix7/ios_rule_script
- Koolson/Qure 与 MiToverG422/Qure
- DustinWin/ruleset_geodata
- AIsouler/MyClash
- Clash Verge
- 荷兰国旗图标由本项目自行绘制,并托管于
assets/icons/self-Netherlands.png。
图标资源统一托管在 assets/icons/ 并通过 jsDelivr 引用。
以上参考均用于学习与对照,具体实现以本仓库代码为准。
- 本仓库的YAML模板与JS脚本设计并非完美,或可能有代码质量问题,也不一定适合所有环境,尤其是 DNS 与路由规则。
- 使用者应自行评估使用、修改或传播本仓库内容所涉及的风险,并遵守所在地区适用的法律法规。因使用本仓库内容产生的后果,由使用者自行承担。