Skip to content

Latest commit

 

History

472 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Laincat Rules

自用规则集仓库,面向 Surge 与 mihomo(原 Clash Meta),两套配置各自独立、互不混用。所有规则集由 CI 每日自动抓取上游、去重、清洗并滚动发布。

目录

目录 面向 说明
Surge/ Surge Mac / iOS / tvOS 规则集、模块、知识库(Surge/Docs/)
Mihomo/ mihomo(原 Clash Meta) 规则集、知识库(Mihomo/Docs/)

两套知识库彼此独立。 Surge 与 mihomo 在规则语法、策略模型、外部集合格式上没有一一对应关系,写在一起只会互相误导,各自看各自的 Docs/。

规则集

AI / Ozon 两个类目提供「主文件 + 补充文件」的结构:主文件是纯域名(走索引,性能最好),补充文件承载关键词、IP 段等无法进索引的规则。

去广告采用 SukkaW/Surge 的分片方案:每个文件对应一种处置策略与一种匹配代价,按需组合。骨架取 SKK 已编译成品(已过它的 trie 去重与白名单回剔),Cats-Team 与 AWAvenue 只补充 SKK 未覆盖的条目。

类目 Surge mihomo
去广告 Advertising.Reject.list(DOMAIN-SET 主库)
Advertising.RejectExtra.list(DOMAIN-SET 补充)
Advertising.Drop.list(REJECT-DROP 遥测层)
Advertising.NonIP.list / Advertising.NoDrop.list(RULE-SET)
Advertising.IP.list(CIDR/ASN,须放最后)
Advertising.Reject.mrs / Advertising.RejectExtra.mrs(domain)
Advertising.Drop.yaml / Advertising.NonIP.yaml / Advertising.NoDrop.yaml / Advertising.IP.yaml(classical)
AI 服务 Surge/Ruleset/AI.list + AI.Extra.list Mihomo/Ruleset/AI.mrs + AI.Extra.yaml
Ozon Surge/Ruleset/Ozon.list + Ozon.Extra.list Mihomo/Ruleset/Ozon.mrs + Ozon.Extra.yaml

数据来源

类目 上游
去广告 SukkaW/Surge 已编译成品(骨架)、Cats-Team AdRules(仅补 SKK 缺失)、AWAvenue(仅补 SKK 缺失)
AI 服务 MetaCubeX(= v2fly category-ai-chat-!cn 展开)、Sukka、Rabbit-Spec、ACL4SSR、iplist AI、Sukka Voice IP
Ozon 本地基线 + iplist Ozon 域名 + RIPEstat ASN(AS44386 / AS207986 宣告前缀)

去广告的白名单以 SukkaW/Surge 为准:直接解析它的 reject-data-source.ts 里的 PREDEFINED_WHITELIST,不维护自己的放行表 —— 上游调整放行范围时自动跟随。 按 SKK 的做法,该白名单只作用于 domainset 分片(non_ip / ip 层保留强制拦截), 另叠加公共后缀清洗(防止整条 TLD 被拦)与 Cats 官方 dns-allowlist 回剔。

下载

所有规则文件都可通过 GitHub Raw 直接引用,release 也提供整包(见下)。

  • 单文件直链(滚动更新,推荐):https://github.com/laincat/Rules/releases/latest/download/<文件名>
    • Advertising.sgmodule(Surge 订阅模块)
    • Advertising.Reject.list / Advertising.RejectExtra.list(DOMAIN-SET)
    • Advertising.Drop.list / Advertising.NonIP.list / Advertising.NoDrop.list / Advertising.IP.list(RULE-SET)
    • Advertising.Reject.mrs / Advertising.RejectExtra.mrs(mihomo domain)
    • Advertising.Drop.yaml / Advertising.NonIP.yaml / Advertising.NoDrop.yaml / Advertising.IP.yaml(mihomo classical)
  • 整包(可选):rulesets.tar.gz(规则集)、modules.tar.gz(Surge 模块)
  • 单文件 Raw 地址(GitHub):https://raw.githubusercontent.com/laincat/Rules/main/<路径>
  • 单文件 Raw 地址(CNB 镜像,国内直连):https://cnb.cool/laincat/Rules/-/raw/main/<路径>
  • 单文件 Release 直链(CNB 镜像,滚动更新,国内直连): https://cnb.cool/laincat/Rules/-/releases/download/latest/<文件名>

发布与更新

  • 每日自动构建:CI 抓上游、重算、去重、清洗,有变化才提交。
  • 滚动 Release:tag 固定为 latest,永远只保留一条;每个规则文件都是独立附件,可直接用 .../releases/latest/download/<文件名> 引用,内容变化才覆盖该附件;整包只作可选补充。发行版说明直接展示每次新版本相对旧版的差异(新增 / 删除条数)。
  • CNB 镜像:同步推送到 cnb.cool/laincat/Rules(纯镜像,历史一致),并把 Release 的单文件附件同步到 CNB Releases(固定 tag latest,国内直连)。注意 CNB 没有 GitHub 的 releases/latest 别名,直链必须写全 tag。

知识库维护

Surge/Docs/ 与 Mihomo/Docs/ 记录上游的版本与配置面状态,靠 tools/docs_watch.py 每日采集(版本号 / build / 提交 / 页面清单 / 内容哈希)保持不腐烂,检测到变化时自动开 issue 提醒——「该怎么改文档」仍由人读发布说明后判断,脚本只回答「上游变了没有」。

本地构建

# 生成全部规则集(可选 --mihomo 指向 mihomo 二进制以编译 .mrs)
python tools/gen_rulesets.py --write [--mihomo ./mihomo]

# 对比差异(对比 HEAD 与当前工作区)
python tools/gen_diff.py --pre HEAD --out diff.json --md DIFF.md

构建先校验下载与域名格式,应用公共后缀和 SukkaW/Surge 的 PREDEFINED_WHITELIST(仅 domainset 分片),再进行包含收敛。 --report validation.json 可保存来源哈希和过滤统计;CI 同时运行离线回归测试。

许可

本仓库当前未附带 LICENSE 文件。规则数据来自多个上游项目,各自遵循其许可证,使用前请查阅对应来源。

About

自用 Rules

Resources

Stars

2 stars

Watchers

1 watching

Forks

Releases

Packages

Used by

Contributors

Languages