surge 如何合并自定义规则到托管配置?

255 天前
 flyingpigpig
需求目标:以机场提供的托管配置为主推,新建一个 a.conf 文件,存储自定义规则,再新建一个 sum.conf ,合并两个配置文件。

[问题 1 描述]
1. airport.conf //机场提供的自托管配置文件,能自动更新,section 齐全,绝大部分情况满足需求。问题是部分目标站点不走代理;
2. a.conf //自定义配置,仅有 [ Rule ] 字段,填写自定义规则,但是规则里面引用了 airport.conf 里面定义的策略组“Proxy”
3. sum.conf //自定义配置,合并 airport.conf 和 a.conf 。 [ Rule ] 字段 include airport.conf 和 a.conf ,其他字段仅 include airport.conf

[问题 1 故障现象]
1. MAC surge 逐步 load conf 文件,load airport.conf ==> 正常,load a.conf ==> 失败,提示 Proxy 未定义
2. iOS 版无此问题

[问题 2 描述]
1. airport.conf //机场提供的自托管配置文件,能自动更新,section 齐全;
2. a.conf //自定义配置,内容为 snell 协议联通内网,单独使用正常。
3. sum.conf //自定义配置,目的是实现直连,代理,联通内网自动化
// [Proxy] ==>用 include 合并机场代理和 snell 服务器
//[Proxy Group] ==>用 include 合并机场策略组和自定义 snell 策略
//[Rule] ==>用 include 合并机场 rule 和自定义 rule

[问题 2 故障现象]
1. airport.conf 和 a.conf 都有 FINAL rule ,合并后其中一个 FINAL 会截断其他规则
2. 尝试去掉 a.conf 里面的 FINAL ,MAC surge 在 load a.conf 时会提示无 FINAL load 失败( iOS 版无 FINAL 也可以 load 成功)
3158 次点击
所在节点    宽带症候群
40 条回复
tediorelee
255 天前
感觉弄复杂了,surge 的那个关联配置感觉不太好用,还是用工具+自己维护的模板文件生成最终的 conf 配置最好
zhaidoudou123
255 天前
用 substore 把机场的 Proxy 列表弄出来用,规则手动复制到自己的规则里
flyingpigpig
255 天前
@zhaidoudou123 这样一定可行,但是还能有机场代理服务器自动更新的效果吗?
如果机场更新一次,就要手动更新下配置文件,好像太累了…
zhaidoudou123
255 天前
@flyingpigpig #3
sub-store 会自动更新机场配置的
SimonOne
255 天前
@flyingpigpig #3 节点是平级的,规则有优先级的,所以节点可以轻松转成外挂的塞进来,规则只能自己合并(或者订阅单类规则,自己排优先级,复合规则不可能多个来源自动合并的,哪条规则先哪条规则后呢?)。
crysislinux
255 天前
自己 GitHub 搞个仓库用 GitHub actions 合并?
flyingpigpig
255 天前
@SimonOne 所以回到原点了,就是利用 surge 的配置合并功能。倒霉的是我现在用起来有问题。

很神奇的是,iOS 版和 Mac 版在这块的行为是不一致的
flyingpigpig
255 天前
@crysislinux 你这是 workaround 的思路啊,我想找 root cause
lightionight
255 天前
@tediorelee 赞同, 写个 bash 处理一下应该就行, 定时获取最新服务器,合并自己的配置
tediorelee
255 天前
windyskr
255 天前
我一开始用的是 Surge ,遇到你同样的问题,手动处理了几次发现实在麻烦,然后想找个自动化处理的办法发现也并不简单,果断换 QuanX ,用了两三年一点问题没有。
flyingpigpig
255 天前
@windyskr surge 的那个 snell ,还是有点意思的,部署简单好用
exch4nge
255 天前
surge ios 有个叫 模块 的功能,新建一个本地模块就能覆盖订阅配置。
flyingpigpig
255 天前
@exch4nge 谢谢提供线索,我看了文档,模块不具备修改/定义 rules 的功能
minamike
255 天前
同意楼上 模块的优先级比默认配置高
minamike
255 天前
@flyingpigpig #14 模块可以修改 rules 啊 不然那些订阅的去广告、破解订阅的模块是怎么来的
flyingpigpig
255 天前
@minamike 准确滴说,模块功能只能使用内置策略,即 direct ,reject ,不能使用代理策略。来自官方手册。抱歉我还不会截图
minamike
255 天前
@flyingpigpig #17 这个手册已经过时了 实测可以用各种代理策略
flyingpigpig
255 天前
@minamike 没有文档,也不知道该如何写模块,能进一步提供一些资料和信息吗?谢谢
minamike
255 天前
@flyingpigpig #19 和写配置文件的格式一样的 最上面多了文件名和介绍两行而已 新建模块的时候就会出现

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/968925

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX