Skip to content

MrGeDiao/proxyforge

Repository files navigation

proxyforge

一份 model.json 生成六个客户端的代理配置:OpenClash / Clash / Stash / Surge / Quantumult X / Shadowrocket。

license python clients

English version: README.en.md

这份仓库保留了通用的生成逻辑、规则设计和 OpenClash selector pin 工具,但刻意去掉了这些私有内容:

  • 真实订阅 URL / token
  • 生成后的客户端配置成品
  • 个人路由器地址、控制器地址、固定节点名
  • 私有运维记录和故障排查笔记

适合怎么用

如果你也有一个私有实例仓库,推荐采用双仓模式:

  • private repo:保存真实订阅、你自己的 model/model.jsonopenclash/selector-pins.json、生成产物、个人运维文档
  • public repo:只保存模板、生成器、通用脚本、通用说明

这样公开仓库可以稳定演进,私有仓库继续当你的生产实例。

快速开始

python3 scripts/bootstrap_local.py
python3 scripts/generate.py

首次运行前请先编辑:

  • model/model.json
  • openclash/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 的一些选择是预设的

所以它更像“可复用的公开模板”而不是“完全无观点的通用框架”。

建议的维护方式

  1. 所有通用逻辑先在公开仓库演进。
  2. 私有仓库通过拷贝或 cherry-pick 同步公开仓的脚本和文档改进。
  3. 私有订阅、私有 selector pin、生成产物始终只留在私有仓。
  4. 如果要开源,使用全新历史,不要直接公开当前私有仓的 Git 历史。

About

One model.json, six proxy clients — OpenClash / Clash / Stash / Surge / Quantumult X / Shadowrocket

Topics

Resources

License

Contributing

Stars

Watchers

Forks

Packages

 
 
 

Contributors