Skip to content

Latest commit

 

History

135 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

AirRules

这个仓库用于维护自己的 Clash 及分流规则文件,当前核心配置放在 clash/config/ 下,包含基础线路分组与规则集。

当前配置结构

  • clash/config/base-clash-ruleset.yaml
    • 代理集配置(proxy-providers
    • 代理组策略(proxy-groups
    • 规则集定义(rule-providers
    • 路由规则(rules
  • clash/ruleset/ 存放自定义覆盖规则;当前 Clash 模板的通用规则源使用 ACL4SSR Clash/Providers

关键策略说明

人工智能分组(🤖 人工智能)优先策略

🤖 人工智能 已设置为优先走 美国节点

  • 🇺🇸 美国节点type: url-test
    • 入口探测:https://www.gstatic.com/generate_204
    • 覆盖范围:通过 filter 匹配美国节点
    • 刷新间隔:interval: 120
  • 🤖 人工智能 的候选顺序为:
    1. 🇺🇸 美国节点
    2. 其它地区分组(香港、日本、韩国、新加坡、台湾、欧洲、土耳其、印度、俄罗斯、其他)
    3. 🚀 节点选择

AI 分组默认使用美国节点的延迟自动选择,其他地区和主节点组保留为手动备选。

AI 规则覆盖范围(补充完善)

自维护的 AI 命中源已在各端统一补齐(clash/ruleset/ai.listsing-box/rules_json/ai.json 同源镜像),覆盖:

  • OpenAI / ChatGPTopenai.comchatgpt.comoaistatic.comoaiusercontent.comauth0.comstripe.comsentry.io 等依赖与风控域名
  • Anthropic / Claudeanthropic.comclaude.aiclaude.comclaudeusercontent.com
  • xAI / Grokgrok.comgrok.x.comx.ai
  • Google AI 全量aistudio.google.comnotebooklm.google.commakersuite.google.comai.google.devdeepmind.googlegenerativelanguage.googleapis.comaiplatform.googleapis.comaida.googleapis.comaisandbox-pa.googleapis.comnotebooklm-pa.googleapis.com
  • 其他主流国外 AI 平台perplexity.aimeta.aimistral.aicohere.aiopenrouter.aisora.comcursor.comjetbrains.aikimi.aimoonshot.aigrokipedia.com

HuggingFace(hf.co / hf.space / huggingface.co)不走 🤖 人工智能 分组,始终走 🪜 代理域名:模型/权重下载流量大,避免打满 AI 组的美区自动优选。已在各端 AI 命中源中显式排除(Clash 经由 proxy.list、sing-box 经由路由内联 HF 规则置于 AI 规则之前)。

Google Antigravity / Cloud Code 地区风控daily-cloudcode-pa.sandbox.googleapis.comsandbox.googleapis.comcloudcode-pa.googleapis.com 必须先于 UnBan、GoogleCN 等直连规则命中 AI 组,避免 API 以本地出口访问触发服务端地区限制(与 OAuth gstatic.com/recaptcha.net 同理)。

  • Clash:内联进 rules 且置于 RULE-SET,myai 之前
  • sing-box:通过本地 myairules_srs/ai.srs)在第三方 DustinWin ai 规则之前命中
  • Loon / Surfboard:内联规则置于第三方 AI 规则源之前

其他分组

  • 基础区域组仍使用 url-test,用于自动测试响应延迟与可用性。
  • 关键用途规则:
    • 🚀 节点选择 作为总入口
    • 🐟 漏网之鱼 兜底全部流量
    • 📲 电报消息 / 🎮 游戏服务 / 🍎 苹果服务 / 🪟 微软服务 / 🇬 谷歌服务 按用途分流
    • 规则源使用 ACL4SSR 的 LocalAreaNetwork / UnBan / BanAD / BanProgramAD / ProxyGFWlist / ChinaDomain / ChinaIp 以及常用服务规则集
    • clash/ruleset/ignore.listclash/ruleset/proxy.list 作为自定义直连/代理覆盖规则,优先级高于 ACL4SSR 通用代理规则

使用方式(简要)

  • 每次修改 clash/config/base-clash-ruleset.yaml 后,确保 Clash 重新加载配置。
  • 更新订阅或远程规则前可先检查 rule-providers 链接是否可达。
  • 对于远程规则文件变化,确认 path 目录(如 ./rule_provider/./proxy_provider/)存在对应文件或能被规则源自动更新。

兼容建议

  • fallback 组与 url-test 可共存:上层 select 组(如 🤖 人工智能)决定优先级,底层各组决定各自选择逻辑。
  • 建议在高并发环境中降低无效测试比例:保持较小 intervalfallback/url-test 对可用性更敏感的组,避免过度拉低测试效率。

本地记录

本仓库最近的调整重点:

  • 🇺🇸 美国节点 放到 🤖 人工智能 的第一候选
  • 保留原有各国家地区 url-test 组,继续作为稳定备选线路
  • 修复规则模式下 Google 账号登录点击无反应(XTLS/Xray-core#1618):ACL4SSR UnBan(直连)含 ssl.gstatic.com/www.gstatic.com 等,且 google-cn(直连)含 recaptcha.net,均排在 Clash 模板的 google 规则集之前,导致 OAuth 登录页静态资源/验证组件走直连而 accounts.google.com 走代理,出口 IP 不一致被 Google 风控拦截(全局模式正常)。已在各端把 gstatic.comrecaptcha.net 强制走代理(Clash 内联到 🇬 谷歌服务并置于 UnBan 之前,Surfboard/Loon/sing-box 走各自代理列表),保证与 accounts.google.com 同出口。url-test 探测不受影响(健康检查直接走被测节点、不经过路由规则)
  • 新增 PT / tracker 直连规则:采用 blackmatrix7/ios_rule_script PrivateTracker(当前 248 条),覆盖常见 PT 站点和 tracker / announce 域名;Clash、Loon、Surfboard 直接引用上游规则,sing-box 使用同源已编译快照,均在通用分流规则之前匹配为直连,避免 Fake-IP、代理及代理 DNS 影响私有站汇报和 IPv6 announce
  • 统一补全并镜像国外 AI 命中源(clash/ruleset/ai.listsing-box/rules_json/ai.json):新增 Claude/Anthropic、Google AI 全量(AI Studio/NotebookLM/MakerSuite/DeepMind/generativelanguage/aiplatform/aida/aisandbox-pa/notebooklm-pa)以及 openrouter/perplexity/meta.ai/mistral/cohere/cursor/jetbrains/kimi/moonshot/grokipedia 等国外平台;sing-box 本地 myairules_srs/ai.srs)已接入路由并在第三方 DustinWin ai 规则之前命中(原先 rules_json/openai.json 已编译但未接线的孤儿文件删除)
  • Google Antigravity / Cloud Code 地区风控:daily-cloudcode-pa.sandbox.googleapis.comsandbox.googleapis.comcloudcode-pa.googleapis.comaiplatform.googleapis.com 等必须在 UnBan / GoogleCN 等直连规则之前命中 AI 组,避免 API 以本地出口触发服务端地区限制;Clash 内联前置、sing-box 走本地 myai 前置、Loon/Surfboard 内联前置
  • HuggingFace(hf.co/hf.space/huggingface.co)固定走 🪜 代理域名 不进 🤖 人工智能 分组:模型/权重下载流量大,已在所有 AI 命中源显式排除(Clash 经 proxy.list、sing-box 经路由内联 HF 规则置于 AI 规则之前),避免打满美区自动优选
  • CI 校验新增 AI 路由约束:clash/ruleset/ai.listsing-box/rules_json/ai.json 不得包含 HF 域名、proxy.list 必须含 HF、sing-box myai 路由必须先于第三方 ai 规则

Sub-Store 使用说明(base/AB/AC/ABC)

base-clash-ruleset.yaml2-subscription-clash-rule-set.yaml(AB)、2-subscription-ac-clash-rule-set.yaml(AC)和 3-subscription-clash-rule-set.yaml(ABC)可以直接作为 Sub-Store 远程文件托管使用,建议按文件分别建立订阅。若你只做规则定制,这些文件本身更推荐只维护 proxy-groupsrules,把机场订阅链接留空,避免暴露个人链接。

1. 新增远程文件

在 Sub-Store 中按以下方式新增文件:

  • 文件选择 > 创建文件
  • 类型:文件
  • 来源:远程
  • 地址:粘贴以下对应 URL
    • base: https://raw.githubusercontent.com/Pililink/AirRules/refs/heads/main/clash/config/base-clash-ruleset.yaml
    • 2-subscription(AB): https://raw.githubusercontent.com/Pililink/AirRules/refs/heads/main/clash/config/2-subscription-clash-rule-set.yaml
    • 2-subscription(AC): https://raw.githubusercontent.com/Pililink/AirRules/refs/heads/main/clash/config/2-subscription-ac-clash-rule-set.yaml
    • 3-subscription(ABC): https://raw.githubusercontent.com/Pililink/AirRules/refs/heads/main/clash/config/3-subscription-clash-rule-set.yaml

2. 编辑文件脚本(动态填充订阅地址)

在 Sub-Store 中创建所需的机场订阅或组合订阅后,复制它们面向 Clash/Mihomo 的完整下载地址。脚本不再接收订阅名称,也不再使用 base 拼接地址,而是把完整 HTTP(S) URL 原样写入 proxy-providers

完整地址示例:

  • 普通订阅:https://sub.example.com/token/download/Qcloud?target=ClashMeta
  • 组合订阅:https://sub.example.com/token/download/collection/MyGroup?target=ClashMeta

脚本参数对应关系:

  • a -> A机场
  • b -> B机场
  • c -> C机场
  • sub -> 机场1

完整地址通常包含私密 token,只应保存在私有 Sub-Store 配置中,不要提交到仓库或分享完整的脚本操作 URL。由于脚本参数位于 URL 片段中,请先对每个完整地址执行 encodeURIComponent。例如上面的普通订阅应写成:

https%3A%2F%2Fsub.example.com%2Ftoken%2Fdownload%2FQcloud%3Ftarget%3DClashMeta

文件脚本地址格式:

  • 2-subscription(AB): https://raw.githubusercontent.com/Pililink/AirRules/refs/heads/main/clash/config/sub-store-fill-clash-providers.js#a=<A完整URL编码>&b=<B完整URL编码>#noCache
  • 2-subscription(AC): https://raw.githubusercontent.com/Pililink/AirRules/refs/heads/main/clash/config/sub-store-fill-clash-providers.js#a=<A完整URL编码>&c=<C完整URL编码>#noCache
  • 3-subscription(ABC): https://raw.githubusercontent.com/Pililink/AirRules/refs/heads/main/clash/config/sub-store-fill-clash-providers.js#a=<A完整URL编码>&b=<B完整URL编码>&c=<C完整URL编码>#noCache
  • base: https://raw.githubusercontent.com/Pililink/AirRules/refs/heads/main/clash/config/sub-store-fill-clash-providers.js#sub=<完整URL编码>#noCache

AC 模板中的 C 机场保持手动选择:C全线路自选 直接列出 C 机场节点,并参与主节点、人工智能、Telegram 和网络测试,不做自动优选。

同一个 Sub-Store 文件只保留一个 Clash 模板来源;base2-subscription(AB)、2-subscription-ac(AC)、3-subscription(ABC)需要分别建文件,避免多个完整 YAML 被拼接后产生重复顶层键。

3. 可选:注入 Tailscale 出站

机场订阅填完后,可以再给同一个 Sub-Store 文件追加独立脚本,把 Mihomo type: tailscale 节点写入 proxies,并放到 🏠 家庭网络 第一位。这不是 proxy-providers URL,也不会复用本机官方 Tailscale 客户端。

推荐地址(不带密钥):

https://raw.githubusercontent.com/Pililink/AirRules/refs/heads/main/clash/config/sub-store-add-tailscale-proxy.js#noCache

常用参数:

  • ts_hostname / hostname:Tailnet 设备名,默认 mihomo-home
  • ts_state_dir / state-dir:本机 tsnet 状态目录,默认 ./tailscale
  • ts_dialer_proxy / dialer-proxy:控制面/DERP 出口,默认 DIRECT
  • ts_group / group:挂载的策略组,默认 🏠 家庭网络
  • ts_auth_key / auth-key:可选。仅私有 Sub-Store 使用;不填则首次命中时从 Mihomo 日志打开登录 URL

示例:

https://raw.githubusercontent.com/Pililink/AirRules/refs/heads/main/clash/config/sub-store-add-tailscale-proxy.js#ts_hostname=mihomo-home&ts_dialer_proxy=DIRECT#noCache

模板会优先把 .ts.net MagicDNS 域名交给 🏠 家庭网络;注入 Tailscale 出站后,由内嵌 tsnet 完成域名解析和连接。家中 Mac mini 仍需自行发布并批准子网路由后,Clash 才能访问家庭 LAN。不要把 auth-key 提交到公开仓库。

Sub-Store 使用说明(Loon AC)

Loon AC 配置也可以作为 Sub-Store 远程文件,并通过文件脚本动态填充 A/C 机场地址,避免把真实订阅写入公开模板。

1. 新增远程文件

在 Sub-Store 文件管理中创建一个远程文件,地址填写:

https://raw.githubusercontent.com/Pililink/AirRules/refs/heads/main/loon/config/2-subscription-ac-loon-rule.lcf

2. 添加文件脚本

复制 A/C 订阅面向 Loon 的完整 HTTP(S) 下载地址。脚本不再接收订阅名称,也不再使用 base 拼接地址,而是原样写入 [Remote Proxy]

完整地址示例:

  • 普通订阅:https://sub.example.com/token/download/Qcloud?target=Loon
  • 组合订阅:https://sub.example.com/token/download/collection/MyGroup?target=Loon

参数对应关系:

  • a -> A机场
  • c -> C机场

完整地址通常包含私密 token,只应保存在私有 Sub-Store 配置中。由于脚本参数位于 URL 片段中,请先对每个完整地址执行 encodeURIComponent,再添加文件脚本:

https://raw.githubusercontent.com/Pililink/AirRules/refs/heads/main/loon/config/sub-store-fill-loon-proxies.js#a=<A完整URL编码>&c=<C完整URL编码>#noCache

处理完成后,复制该文件在 Sub-Store 中的下载地址,将它作为 Loon 配置使用。不要把真实机场订阅地址提交到公开仓库。

About

No description, website, or topics provided.

Resources

Stars

1 star

Watchers

1 watching

Forks

Releases

Packages

Used by

Contributors

Languages