feat: switch to local full surge sync and local merge-convert pipeline
This commit is contained in:
@@ -2,8 +2,9 @@
|
||||
|
||||
一个最小可用的规则生成器:
|
||||
|
||||
- 数据源来自 **Gitea** 仓库
|
||||
- 输入按目录分类(默认读取 `rule/Surge/<Name>/<Name>.list`)
|
||||
- 先全量拉取上游 `ios_rule_script` 的 `Surge` 规则到本地缓存
|
||||
- 再在本地做合并去重并转换多渠道
|
||||
- 输入按目录分类(默认读取 `upstream/rule/Surge/<Name>/...`)
|
||||
- 输出仅包含你要的两种格式:
|
||||
- `dist/surge/<Name>.list`
|
||||
- `dist/loon/<Name>.list`
|
||||
@@ -22,7 +23,7 @@
|
||||
|
||||
## 快速开始
|
||||
|
||||
仓库已内置可直接跑的默认配置文件 `config.json`(指向 `yuanzhen869/ios-rule-script-full` 全量源)。
|
||||
仓库已内置可直接跑的默认配置文件 `config.json`(本地源模式,默认读 `upstream/`)。
|
||||
|
||||
1. 复制配置:
|
||||
|
||||
@@ -46,6 +47,12 @@ export GITEA_TOKEN='your-token'
|
||||
如果数据源仓库是公开的(当前默认就是公开源),可以不设置 token。
|
||||
默认配置会生成约 600+ 分类(当前为 667 个可直接生成的分类)。
|
||||
|
||||
3.1 先同步 Surge 全量源到本地缓存:
|
||||
|
||||
```bash
|
||||
bash scripts/sync_surge_full.sh
|
||||
```
|
||||
|
||||
4. 生成全部分类:
|
||||
|
||||
```bash
|
||||
@@ -89,6 +96,16 @@ USER-AGENT,*youtube*
|
||||
|
||||
## 转换规则说明
|
||||
|
||||
### 基础合并策略(Surge)
|
||||
|
||||
每个分类优先按下面三份源文件做合并去重(按顺序):
|
||||
|
||||
1. `<Name>.list`
|
||||
2. `<Name>_Domain.list`
|
||||
3. `<Name>_Resolve.list`
|
||||
|
||||
如果某分类不满足上述结构,会自动回退到 `_All.list` 等可用文件。
|
||||
|
||||
- Surge 输出:保留源规则(去重、清理空白)
|
||||
- Loon 输出:基于 Surge 规则直接输出(同样去重、清理空白)
|
||||
- Clash 输出:
|
||||
@@ -123,6 +140,7 @@ USER-AGENT,*youtube*
|
||||
3. 推送到 `main` 后会自动执行;也可在 Actions 页面手动触发
|
||||
|
||||
当前定时表达式是 `0 3 * * *`(UTC),对应北京时间(UTC+8)每天 `11:00`。
|
||||
工作流会先执行 `scripts/sync_surge_full.sh` 拉取上游 Surge 全量数据,再生成多渠道规则。
|
||||
|
||||
### 发布到独立仓库/分支(已内置)
|
||||
|
||||
|
||||
Reference in New Issue
Block a user