平时用 Surge 的朋友应该都遇到过这些问题:
规则源越来越多,顺序不好整理;
模块散落在不同地方,更新起来很麻烦;
Mac 、iPhone 、iPad 各有一份配置,改一个地方还得惦记另外几份;
规则一旦选择内联,生成的配置文件很快就会变得又大又难维护。
所以我 vibe 了一个 macOS 原生工具——Surge Shallow。
它不是代理客户端,也不会替代 Surge 。简单来说,它更像是一个 Surge 配置管理台:把平时需要手动维护的规则源、Proxy 、Proxy Group 、平台差异和模块集中到一个地方,检查通过后再生成可以直接交给 Surge 使用的配置文件。
目前主要支持这些功能:
- 集中管理多个规则源,可以调整顺序、策略和适用平台;
- Surge Ruleset 默认以
RULE-SET URL 的方式保留,不下载、不展开、不合并去重,生成的 Profile 会小很多;
- 如果遇到 Clash Payload 、纯域名列表或者需要转换格式的来源,也可以单独切换成下载并内联合并;
- 可以导入已有的 Surge
.conf / .dconf,先查看迁移结果,确认后再应用;
- 原生管理 Proxy 和 Proxy Group ,不用一直手写配置;
- macOS 与 iOS/iPadOS 的公共配置可以复用,只需要单独维护平台差异;
- 支持 Surge 、Loon 、Quantumult X 的模块来源,并转换成 Surge 可以使用的模块;
- 模块参数、脚本、策略、MITM 和自定义规则都可以在界面里调整;
- 生成结果会先做检查,通过之后再写入 Surge 的 iCloud 目录;
- Mac 、iPhone 和 iPad 可以继续通过 Surge 自己的 iCloud 配置同步使用。
我自己比较在意的一点,是它不会为了“方便管理”把所有远端 Ruleset 都塞进最终配置。
现在新增规则源时,默认就是“外部 Ruleset 引用”。最终 Profile 只保存一条类似下面这样的配置:
RULE-SET,https://example.com/rules.list,PROXY
规则正文仍然由 Surge 加载,这样配置文件不会因为规则越来越多而不断膨胀。只有确实需要转换、内联或者内容级去重时,才需要主动切换到内联合并模式。
界面使用 SwiftUI 编写,是一个真正的 macOS 原生应用。规则、模块、Profile 和设置共用同一套导航与应用状态,不是简单把另一个项目的页面嵌进来。
目前最新版本是 Surge Shallow 2.0.0,适用于 macOS 26 。
项目已经开源,感兴趣的话可以下载试试,也欢迎提交 Issue 、建议或者 PR:
GitHub:
https://github.com/funnythingfunnylove/Surge-Shallow
最新版下载:
https://github.com/funnythingfunnylove/Surge-Shallow/releases/tag/v2.0.0
如果你平时也在手动维护一大堆 Surge 规则、模块和多端配置,希望 Surge Shallow 能帮你少复制几次配置、少检查几个文件,把时间留给真正需要折腾的东西。另外感谢 EEliberto/SurgeRelay-macOS ,提供了模块管理的思路 借鉴了一下