我 vibe coding 了一个原生的 Surge 配置管理工具:规则、模块和多端 Profile 一起管

lightionight 2026-07-23 11:11 1

平时用 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 ,提供了模块管理的思路 借鉴了一下

最新回复 (0)
    没有回复
* 帖子来源V2EX
返回