diff --git a/.github/workflows/ci.yaml b/.github/workflows/ci.yaml index 8874759f..c05b1131 100644 --- a/.github/workflows/ci.yaml +++ b/.github/workflows/ci.yaml @@ -16,7 +16,7 @@ jobs: - name: Checkout uses: actions/checkout@v4 - name: Setup uv - uses: astral-sh/setup-uv@v3 + uses: astral-sh/setup-uv@v4 - name: Install sing-box run: bash <(curl -fsSL https://sing-box.app/deb-install.sh) env: diff --git a/.github/workflows/docs.yaml b/.github/workflows/docs.yaml index c56e1f7c..7d21c475 100644 --- a/.github/workflows/docs.yaml +++ b/.github/workflows/docs.yaml @@ -17,7 +17,7 @@ jobs: with: fetch-depth: 0 - name: Setup uv - uses: astral-sh/setup-uv@v3 + uses: astral-sh/setup-uv@v4 - name: Install Dependencies run: uv sync --all-extras - name: Build Documentation diff --git a/docs/README.md b/docs/README.md index 5b539ccb..47716d3f 100644 --- a/docs/README.md +++ b/docs/README.md @@ -7,40 +7,40 @@ [![Read the Docs](https://img.shields.io/readthedocs/route-rules)](https://route-rules.readthedocs.io) | Name | GitHub | Cloudflare | -| -------------------- | --------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------- | +|----------------------|-----------------------------------------------------------------------------------------------|---------------------------------------------------------------------------------| | 🛑 RuleSet: ADs | [rule-set/ads.srs](https://github.com/liblaf/route-rules/raw/sing/rule-set/ads.srs) | [rule-set/ads.srs](https://api.liblaf.me/rules/sing/rule-set/ads.srs) | | 🔒 RuleSet: Private | [rule-set/private.srs](https://github.com/liblaf/route-rules/raw/sing/rule-set/private.srs) | [rule-set/private.srs](https://api.liblaf.me/rules/sing/rule-set/private.srs) | -| 🇨🇳 RuleSet: CN | [rule-set/cn.srs](https://github.com/liblaf/route-rules/raw/sing/rule-set/cn.srs) | [rule-set/cn.srs](https://api.liblaf.me/rules/sing/rule-set/cn.srs) | +| 🇨🇳 RuleSet: CN | [rule-set/cn.srs](https://github.com/liblaf/route-rules/raw/sing/rule-set/cn.srs) | [rule-set/cn.srs](https://api.liblaf.me/rules/sing/rule-set/cn.srs) | | ✈️ RuleSet: Proxy | [rule-set/proxy.srs](https://github.com/liblaf/route-rules/raw/sing/rule-set/proxy.srs) | [rule-set/proxy.srs](https://api.liblaf.me/rules/sing/rule-set/proxy.srs) | | 🤖 RuleSet: AI | [rule-set/ai.srs](https://github.com/liblaf/route-rules/raw/sing/rule-set/ai.srs) | [rule-set/ai.srs](https://api.liblaf.me/rules/sing/rule-set/ai.srs) | | ☁️ RuleSet: Download | [rule-set/download.srs](https://github.com/liblaf/route-rules/raw/sing/rule-set/download.srs) | [rule-set/download.srs](https://api.liblaf.me/rules/sing/rule-set/download.srs) | | 🍟 RuleSet: Emby | [rule-set/emby.srs](https://github.com/liblaf/route-rules/raw/sing/rule-set/emby.srs) | [rule-set/emby.srs](https://api.liblaf.me/rules/sing/rule-set/emby.srs) | | 📺 RuleSet: Media | [rule-set/media.srs](https://github.com/liblaf/route-rules/raw/sing/rule-set/media.srs) | [rule-set/media.srs](https://api.liblaf.me/rules/sing/rule-set/media.srs) | -| 🇨🇳 GeoIP: CN | [geoip/cn.srs](https://github.com/liblaf/route-rules/raw/sing/geoip/cn.srs) | [geoip/cn.srs](https://api.liblaf.me/rules/sing/geoip/cn.srs) | +| 🇨🇳 GeoIP: CN | [geoip/cn.srs](https://github.com/liblaf/route-rules/raw/sing/geoip/cn.srs) | [geoip/cn.srs](https://api.liblaf.me/rules/sing/geoip/cn.srs) | | 🛑 GeoSite: ADs | [geosite/ads.srs](https://github.com/liblaf/route-rules/raw/sing/geosite/ads.srs) | [geosite/ads.srs](https://api.liblaf.me/rules/sing/geosite/ads.srs) | | 🔒 GeoSite: Private | [geosite/private.srs](https://github.com/liblaf/route-rules/raw/sing/geosite/private.srs) | [geosite/private.srs](https://api.liblaf.me/rules/sing/geosite/private.srs) | -| 🇨🇳 GeoSite: CN | [geosite/cn.srs](https://github.com/liblaf/route-rules/raw/sing/geosite/cn.srs) | [geosite/cn.srs](https://api.liblaf.me/rules/sing/geosite/cn.srs) | +| 🇨🇳 GeoSite: CN | [geosite/cn.srs](https://github.com/liblaf/route-rules/raw/sing/geosite/cn.srs) | [geosite/cn.srs](https://api.liblaf.me/rules/sing/geosite/cn.srs) | | ✈️ GeoSite: Proxy | [geosite/proxy.srs](https://github.com/liblaf/route-rules/raw/sing/geosite/proxy.srs) | [geosite/proxy.srs](https://api.liblaf.me/rules/sing/geosite/proxy.srs) | -- [statistics](https://liblaf.github.io/route-rules/stats/) -- `GeoSite: *` does not contain `IP-CIDR` rules, useful for DNS Rule. -- `GeoIP: *` does not contain `DOMAIN*` rules, useful for DNS Rule. +- [statistics](https://liblaf.github.io/route-rules/stats/) +- `GeoSite: *` does not contain `IP-CIDR` rules, useful for DNS Rule. +- `GeoIP: *` does not contain `DOMAIN*` rules, useful for DNS Rule. ## Optimization [optimization results](https://liblaf.github.io/route-rules/stats/) -- remove duplicate rules -- remove unresolvable domains -- merge `DOMAIN` with `DOMAIN-SUFFIX` -- merge between `DOMAIN-SUFFIX` -- merge `DOMAIN` with `DOMAIN-KEYWORD` -- merge `DOMAIN-SUFFIX` with `DOMAIN-KEYWORD` -- merge `IP-CIDR` +- remove duplicate rules +- remove unresolvable domains +- merge `DOMAIN` with `DOMAIN-SUFFIX` +- merge between `DOMAIN-SUFFIX` +- merge `DOMAIN` with `DOMAIN-KEYWORD` +- merge `DOMAIN-SUFFIX` with `DOMAIN-KEYWORD` +- merge `IP-CIDR` ## Acknowledgement -- [blackmatrix7/ios_rule_script](https://github.com/blackmatrix7/ios_rule_script) -- [DustinWin/ruleset_geodata](https://github.com/DustinWin/ruleset_geodata) -- [MetaCubeX/meta-rules-dat](https://github.com/MetaCubeX/meta-rules-dat) -- [NotSFC/rulelist](https://github.com/NotSFC/rulelist) +- [blackmatrix7/ios_rule_script](https://github.com/blackmatrix7/ios_rule_script) +- [DustinWin/ruleset_geodata](https://github.com/DustinWin/ruleset_geodata) +- [MetaCubeX/meta-rules-dat](https://github.com/MetaCubeX/meta-rules-dat) +- [NotSFC/rulelist](https://github.com/NotSFC/rulelist) diff --git a/docs/SUMMARY.md b/docs/SUMMARY.md index 65782922..ce62c387 100644 --- a/docs/SUMMARY.md +++ b/docs/SUMMARY.md @@ -1,5 +1,5 @@ -- [Home](README.md) -- [Config](config.md) -- [Sources](sources.md) -- [Statistics](stats.md) -- [API Reference](api/) +- [Home](README.md) +- [Config](config.md) +- [Sources](sources.md) +- [Statistics](stats.md) +- [API Reference](api/) diff --git a/docs/sources.md b/docs/sources.md index 9a07d8b9..a933b81b 100644 --- a/docs/sources.md +++ b/docs/sources.md @@ -6,101 +6,101 @@ ## 🛑 ADs -- include: - - [blackmatrix7/Advertising.list](https://github.com/blackmatrix7/ios_rule_script/tree/master/rule/Clash/Advertising) - - [DustinWin/geosite-all.db](https://github.com/DustinWin/ruleset_geodata): `ads` - - [MetaCubeX/geosite.db](https://github.com/MetaCubeX/meta-rules-dat): `*-ads` | `*-ads-all` | `*@ads` +- include: + - [blackmatrix7/Advertising.list](https://github.com/blackmatrix7/ios_rule_script/tree/master/rule/Clash/Advertising) + - [DustinWin/geosite-all.db](https://github.com/DustinWin/ruleset_geodata): `ads` + - [MetaCubeX/geosite.db](https://github.com/MetaCubeX/meta-rules-dat): `*-ads` | `*-ads-all` | `*@ads` ## 🔒 Private -- include: - - [blackmatrix7/Lan.list](https://github.com/blackmatrix7/ios_rule_script/tree/master/rule/Clash/Lan) - - [blackmatrix7/NTPService.list](https://github.com/blackmatrix7/ios_rule_script/tree/master/rule/Clash/NTPService) - - [DustinWin/geoip-all.db](https://github.com/DustinWin/ruleset_geodata): `private` - - [DustinWin/geosite-all.db](https://github.com/DustinWin/ruleset_geodata): `private` - - [MetaCubeX/geoip.db](https://github.com/MetaCubeX/meta-rules-dat): `private` - - [MetaCubeX/geosite.db](https://github.com/MetaCubeX/meta-rules-dat): `category-ntp*`, `private` -- exclude: - - [🛑 ADs](#ads) +- include: + - [blackmatrix7/Lan.list](https://github.com/blackmatrix7/ios_rule_script/tree/master/rule/Clash/Lan) + - [blackmatrix7/NTPService.list](https://github.com/blackmatrix7/ios_rule_script/tree/master/rule/Clash/NTPService) + - [DustinWin/geoip-all.db](https://github.com/DustinWin/ruleset_geodata): `private` + - [DustinWin/geosite-all.db](https://github.com/DustinWin/ruleset_geodata): `private` + - [MetaCubeX/geoip.db](https://github.com/MetaCubeX/meta-rules-dat): `private` + - [MetaCubeX/geosite.db](https://github.com/MetaCubeX/meta-rules-dat): `category-ntp*`, `private` +- exclude: + - [🛑 ADs](#ads) ## 🇨🇳 CN -- include: - - [blackmatrix7/ChinaMax.list](https://github.com/blackmatrix7/ios_rule_script/tree/master/rule/Clash/ChinaMax) - - [blackmatrix7/Direct.list](https://github.com/blackmatrix7/ios_rule_script/tree/master/rule/Clash/Direct) - - [DustinWin/geoip-all.db](https://github.com/DustinWin/ruleset_geodata): `cn` - - [DustinWin/geosite-all.db](https://github.com/DustinWin/ruleset_geodata): `cn` - - [liblaf/cn.json](https://github.com/liblaf/route-rules/blob/main/custom/cn.json) - - [MetaCubeX/geoip.db](https://github.com/MetaCubeX/meta-rules-dat): `cn` - - [MetaCubeX/geosite.db](https://github.com/MetaCubeX/meta-rules-dat): `*-cn` | `*@cn` | `cn` -- exclude: - - [🛑 ADs](#ads) - - [🔒 Private](#private) +- include: + - [blackmatrix7/ChinaMax.list](https://github.com/blackmatrix7/ios_rule_script/tree/master/rule/Clash/ChinaMax) + - [blackmatrix7/Direct.list](https://github.com/blackmatrix7/ios_rule_script/tree/master/rule/Clash/Direct) + - [DustinWin/geoip-all.db](https://github.com/DustinWin/ruleset_geodata): `cn` + - [DustinWin/geosite-all.db](https://github.com/DustinWin/ruleset_geodata): `cn` + - [liblaf/cn.json](https://github.com/liblaf/route-rules/blob/main/custom/cn.json) + - [MetaCubeX/geoip.db](https://github.com/MetaCubeX/meta-rules-dat): `cn` + - [MetaCubeX/geosite.db](https://github.com/MetaCubeX/meta-rules-dat): `*-cn` | `*@cn` | `cn` +- exclude: + - [🛑 ADs](#ads) + - [🔒 Private](#private) ## ✈️ Proxy -- include: - - [blackmatrix7/Global.list](https://github.com/blackmatrix7/ios_rule_script/tree/master/rule/Clash/Global) - - [DustinWin/geosite-all.db](https://github.com/DustinWin/ruleset_geodata): `proxy` - - [MetaCubeX/geosite.db](https://github.com/MetaCubeX/meta-rules-dat): `*!cn*` -- exclude: - - [🇨🇳 CN](#cn) - - [🛑 ADs](#ads) - - [🔒 Private](#private) +- include: + - [blackmatrix7/Global.list](https://github.com/blackmatrix7/ios_rule_script/tree/master/rule/Clash/Global) + - [DustinWin/geosite-all.db](https://github.com/DustinWin/ruleset_geodata): `proxy` + - [MetaCubeX/geosite.db](https://github.com/MetaCubeX/meta-rules-dat): `*!cn*` +- exclude: + - [🇨🇳 CN](#cn) + - [🛑 ADs](#ads) + - [🔒 Private](#private) ## 🤖 AI -- include: - - [blackmatrix7/Claude.list](https://github.com/blackmatrix7/ios_rule_script/tree/master/rule/Clash/Claude) - - [blackmatrix7/Copilot.list](https://github.com/blackmatrix7/ios_rule_script/tree/master/rule/Clash/Copilot) - - [blackmatrix7/Gemini.list](https://github.com/blackmatrix7/ios_rule_script/tree/master/rule/Clash/Gemini) - - [blackmatrix7/OpenAI.list](https://github.com/blackmatrix7/ios_rule_script/tree/master/rule/Clash/OpenAI) - - [DustinWin/geosite-all.db](https://github.com/DustinWin/ruleset_geodata): `ai` - - [MetaCubeX/geosite.db](https://github.com/MetaCubeX/meta-rules-dat): `openai` -- exclude: - - [🇨🇳 CN](#cn) - - [🛑 ADs](#ads) - - [🔒 Private](#private) +- include: + - [blackmatrix7/Claude.list](https://github.com/blackmatrix7/ios_rule_script/tree/master/rule/Clash/Claude) + - [blackmatrix7/Copilot.list](https://github.com/blackmatrix7/ios_rule_script/tree/master/rule/Clash/Copilot) + - [blackmatrix7/Gemini.list](https://github.com/blackmatrix7/ios_rule_script/tree/master/rule/Clash/Gemini) + - [blackmatrix7/OpenAI.list](https://github.com/blackmatrix7/ios_rule_script/tree/master/rule/Clash/OpenAI) + - [DustinWin/geosite-all.db](https://github.com/DustinWin/ruleset_geodata): `ai` + - [MetaCubeX/geosite.db](https://github.com/MetaCubeX/meta-rules-dat): `openai` +- exclude: + - [🇨🇳 CN](#cn) + - [🛑 ADs](#ads) + - [🔒 Private](#private) ## ☁️ Download 🔴 latency insensitive, 🟢 high bandwidth -- include: - - [blackmatrix7/Download.list](https://github.com/blackmatrix7/ios_rule_script/tree/master/rule/Clash/Download) - - [blackmatrix7/OneDrive.list](https://github.com/blackmatrix7/ios_rule_script/tree/master/rule/Clash/OneDrive) - - [MetaCubeX/geosite.db](https://github.com/MetaCubeX/meta-rules-dat): `onedrive` -- exclude: - - [🇨🇳 CN](#cn) - - [🛑 ADs](#ads) - - [🔒 Private](#private) +- include: + - [blackmatrix7/Download.list](https://github.com/blackmatrix7/ios_rule_script/tree/master/rule/Clash/Download) + - [blackmatrix7/OneDrive.list](https://github.com/blackmatrix7/ios_rule_script/tree/master/rule/Clash/OneDrive) + - [MetaCubeX/geosite.db](https://github.com/MetaCubeX/meta-rules-dat): `onedrive` +- exclude: + - [🇨🇳 CN](#cn) + - [🛑 ADs](#ads) + - [🔒 Private](#private) ## 🍟 Emby -- include: - - [NotSFC/Emby.json](https://github.com/NotSFC/rulelist/blob/main/sing-box/Emby/Emby.json) -- exclude: - - [🇨🇳 CN](#cn) - - [🛑 ADs](#ads) - - [🔒 Private](#private) +- include: + - [NotSFC/Emby.json](https://github.com/NotSFC/rulelist/blob/main/sing-box/Emby/Emby.json) +- exclude: + - [🇨🇳 CN](#cn) + - [🛑 ADs](#ads) + - [🔒 Private](#private) ## 📺 Media 🟢 low latency, 🟢 high bandwidth -- include: - - [blackmatrix7/GlobalMedia.list](https://github.com/blackmatrix7/ios_rule_script/tree/master/rule/Clash/GlobalMedia) - - [DustinWin/geosite-all.db](https://github.com/DustinWin/ruleset_geodata): `youtube` - - [MetaCubeX/geosite-lite.db](https://github.com/MetaCubeX/meta-rules-dat): `proxymedia`, `youtube` - - [MetaCubeX/geosite.db](https://github.com/MetaCubeX/meta-rules-dat): `youtube` -- exclude: - - [🇨🇳 CN](#cn) - - [🛑 ADs](#ads) - - [🔒 Private](#private) +- include: + - [blackmatrix7/GlobalMedia.list](https://github.com/blackmatrix7/ios_rule_script/tree/master/rule/Clash/GlobalMedia) + - [DustinWin/geosite-all.db](https://github.com/DustinWin/ruleset_geodata): `youtube` + - [MetaCubeX/geosite-lite.db](https://github.com/MetaCubeX/meta-rules-dat): `proxymedia`, `youtube` + - [MetaCubeX/geosite.db](https://github.com/MetaCubeX/meta-rules-dat): `youtube` +- exclude: + - [🇨🇳 CN](#cn) + - [🛑 ADs](#ads) + - [🔒 Private](#private) ## Acknowledgement -- [blackmatrix7/ios_rule_script](https://github.com/blackmatrix7/ios_rule_script) -- [DustinWin/ruleset_geodata](https://github.com/DustinWin/ruleset_geodata) -- [MetaCubeX/meta-rules-dat](https://github.com/MetaCubeX/meta-rules-dat) -- [NotSFC/rulelist](https://github.com/NotSFC/rulelist) +- [blackmatrix7/ios_rule_script](https://github.com/blackmatrix7/ios_rule_script) +- [DustinWin/ruleset_geodata](https://github.com/DustinWin/ruleset_geodata) +- [MetaCubeX/meta-rules-dat](https://github.com/MetaCubeX/meta-rules-dat) +- [NotSFC/rulelist](https://github.com/NotSFC/rulelist)