一份
model.json生成六个客户端的代理配置:OpenClash / Clash / Stash / Surge / Quantumult X / Shadowrocket。
English version: README.en.md
这份仓库保留了通用的生成逻辑、规则设计和 OpenClash selector pin 工具,但刻意去掉了这些私有内容:
- 真实订阅 URL / token
- 生成后的客户端配置成品
- 个人路由器地址、控制器地址、固定节点名
- 私有运维记录和故障排查笔记
如果你也有一个私有实例仓库,推荐采用双仓模式:
private repo:保存真实订阅、你自己的model/model.json、openclash/selector-pins.json、生成产物、个人运维文档public repo:只保存模板、生成器、通用脚本、通用说明
这样公开仓库可以稳定演进,私有仓库继续当你的生产实例。
python3 scripts/bootstrap_local.py
python3 scripts/generate.py首次运行前请先编辑:
model/model.jsonopenclash/selector-pins.json
它们默认不会被 Git 跟踪。
model/model.template.json 公开模板,复制成 model/model.json 后再填真实值
scripts/generate.py 生成器
scripts/bootstrap_local.py 初始化本地未跟踪配置
openclash/selector-pins.template.json selector pin 示例模板
openclash/apply-selector-pins.sh 本地 replay 脚本
openclash/router-custom/ OpenWrt 侧 hook 示例
clash/ stash/ surge/ quantumult-x/ shadowrocket/
各客户端说明,不提交生成产物
docs/private-repo-split.md 公开仓 / 私有仓拆分建议
这份公开版已经把 provider 名字从代码里抽成模型配置,但它仍然保留了一套偏作者风格的默认规则体系:
- 服务分组集合是预设的
- AI / Telegram / 地区优先级是预设的
- DNS / fake-ip / QUIC 的一些选择是预设的
所以它更像“可复用的公开模板”而不是“完全无观点的通用框架”。
- 所有通用逻辑先在公开仓库演进。
- 私有仓库通过拷贝或 cherry-pick 同步公开仓的脚本和文档改进。
- 私有订阅、私有 selector pin、生成产物始终只留在私有仓。
- 如果要开源,使用全新历史,不要直接公开当前私有仓的 Git 历史。