1
tediorelee 2023-08-28 16:34:52 +08:00
感觉弄复杂了,surge 的那个关联配置感觉不太好用,还是用工具+自己维护的模板文件生成最终的 conf 配置最好
|
2
zhaidoudou123 2023-08-28 16:35:57 +08:00
用 substore 把机场的 Proxy 列表弄出来用,规则手动复制到自己的规则里
|
3
flyingpigpig OP @zhaidoudou123 这样一定可行,但是还能有机场代理服务器自动更新的效果吗?
如果机场更新一次,就要手动更新下配置文件,好像太累了… |
4
zhaidoudou123 2023-08-28 16:41:28 +08:00
@flyingpigpig #3
sub-store 会自动更新机场配置的 |
5
SimonOne 2023-08-28 16:50:18 +08:00
@flyingpigpig #3 节点是平级的,规则有优先级的,所以节点可以轻松转成外挂的塞进来,规则只能自己合并(或者订阅单类规则,自己排优先级,复合规则不可能多个来源自动合并的,哪条规则先哪条规则后呢?)。
|
6
crysislinux 2023-08-28 16:53:46 +08:00
自己 GitHub 搞个仓库用 GitHub actions 合并?
|
7
flyingpigpig OP |
8
flyingpigpig OP @crysislinux 你这是 workaround 的思路啊,我想找 root cause
|
9
lightionight 2023-08-28 17:24:55 +08:00
@tediorelee 赞同, 写个 bash 处理一下应该就行, 定时获取最新服务器,合并自己的配置
|
10
tediorelee 2023-08-28 17:35:14 +08:00
@flyingpigpig 来用 surgio https://surgio.js.org/
|
11
windyskr 2023-08-28 18:05:25 +08:00
我一开始用的是 Surge ,遇到你同样的问题,手动处理了几次发现实在麻烦,然后想找个自动化处理的办法发现也并不简单,果断换 QuanX ,用了两三年一点问题没有。
|
12
flyingpigpig OP @windyskr surge 的那个 snell ,还是有点意思的,部署简单好用
|
13
exch4nge 2023-08-28 20:12:50 +08:00 1
surge ios 有个叫 模块 的功能,新建一个本地模块就能覆盖订阅配置。
|
14
flyingpigpig OP @exch4nge 谢谢提供线索,我看了文档,模块不具备修改/定义 rules 的功能
|
15
minamike 2023-08-28 21:08:30 +08:00 via iPhone
同意楼上 模块的优先级比默认配置高
|
16
minamike 2023-08-28 21:10:52 +08:00 via iPhone
@flyingpigpig #14 模块可以修改 rules 啊 不然那些订阅的去广告、破解订阅的模块是怎么来的
|
17
flyingpigpig OP @minamike 准确滴说,模块功能只能使用内置策略,即 direct ,reject ,不能使用代理策略。来自官方手册。抱歉我还不会截图
|
18
minamike 2023-08-28 21:30:25 +08:00 via iPhone 1
@flyingpigpig #17 这个手册已经过时了 实测可以用各种代理策略
|
19
flyingpigpig OP @minamike 没有文档,也不知道该如何写模块,能进一步提供一些资料和信息吗?谢谢
|
20
minamike 2023-08-28 21:46:05 +08:00 via iPhone
@flyingpigpig #19 和写配置文件的格式一样的 最上面多了文件名和介绍两行而已 新建模块的时候就会出现
|
21
minamike 2023-08-28 21:51:18 +08:00 via iPhone
@flyingpigpig #19 像 general mitm 之类的里面的项如果你不是想覆盖 而是想附加可以用%APPEND% 后面再添加域名
|
22
flyingpigpig OP @minamike 测试了一下模块,可耻的失败了
|
23
Nielsen 2023-08-28 23:39:34 +08:00
直接把 airport.conf 复制一份自己维护算了……
[Proxy]部分 include 原文件,反正机场更新也主要就是修改节点配置。 [Proxy Group]部分如果是写死的节点名称,可以改用正则匹配,如果机场新增了节点也不至于漏掉。 |
24
danshan 2023-08-29 00:10:56 +08:00 via iPhone
用 surgio 自动从机场订阅地址获取节点节点信息,再合并自己的 rule ,生成新的配置,上传到阿里云 oss ,整个过程放到 github 里弄个 private 仓库,用 action 跑,跑挂了出发 telegram 消息或者邮件。我现在就是这么干的
|
26
minamike 2023-08-29 00:29:13 +08:00 via iPhone
@flyingpigpig #22 哪个部分失败了呢
|
27
flyingpigpig OP @minamike
模块测试,iOS 版,测试失败: 模块目标:用 snell 连回家里内网。 操作方法: 1. 在 iOS 版主界面模块 panel ,新增本地模块: 2. 模块内容:(该内容设为 config 格式,验证通过) #!name = test #!desc = test [Proxy] HomeProxy = snell, DDNS 域名, port, psk=random-PSK, obfs=tls [Proxy Group] linkhome = ssid, default = HomeProxy, "A-Ruckus" = DIRECT, "A-Ruckus-5G" = DIRECT [Rule] # Custom IP-CIDR,192.168.2.0/24,linkhome,no-resolve 3. 选中模块让模块生效 验证结果: 1. 浏览器 key in:192.168.2.228:5000 (内网群辉地址) ==>打不开 2. 在 surge 的“最近请求”观察,该请求匹配上 rule:IP-CIDR,192.168.2.0/24,linkhome,no-resolve ,但是无“ linkhone”策略组匹配; 3. 在 surge 主界面查看“策略组” 和“rule”内容,没有找到本模块定义的策略组和 rule 请指教,谢谢 |
28
flyingpigpig OP 继续测试模块:
目标:已知机场提供的托管配置,在 access zlibrary 时走了直连,测试通过模块功能,是否能自定义规则,让 access zlibrary 时走代理 结果:成功!用 surge “最近请求”功能确认在 access zlibrary 时命中了模块自定义的规则。 模块内容: #!name = test #!desc = test [Rule] # Custom DOMAIN-KEYWORD,1lib,PROXY,force-remote-dns DOMAIN-KEYWORD,library,PROXY,force-remote-dns |
29
minamike 2023-08-29 11:14:54 +08:00 via iPhone
@flyingpigpig #27 要不试试引用这个用法呢 https://community.nssurge.com/d/508-surge
|
30
flyingpigpig OP @minamike
1. 从 module 的实验来看,module 能够操控 rule ,但是不能操控 proxy 和 proxy group ; 2. include 模式也是有问题,include 的问题我在主页里已经提过了。 自定义 config 文件里面,rule 里面如果没有 FINAL ,MAC surge 认为不合法,加上 FINAL 倒是合法了,可是两个 config 里有两个 FINAL ,合并后,必然产生阶段。 奇怪的是:iOS 版可以接受无 FINAL 规则的 config 文件 无招了,快要放弃了 |
31
minamike 2023-08-29 12:13:38 +08:00
@flyingpigpig #30
module 的 final 不能覆盖原始的 final 吗 module 的 rule 可以匹配已经存在的 proxy 和 proxy group 吧 可以配合 include 使用吧 |
32
flyingpigpig OP |
33
maemolee 2023-08-29 16:56:32 +08:00
@flyingpigpig #24 佬,解决了的话,麻烦分享一下具体的解决方案,万吨同求啊
|
34
flyingpigpig OP @maemolee
我是很想把来龙去脉,相关知识点讲清楚,可是论坛回帖的形式很难讲清楚 |
35
maemolee 2023-08-30 13:08:50 +08:00
@flyingpigpig #26 您发篇博客也行的😂
|
36
ketor 2023-08-31 20:02:21 +08:00
OP 不考虑一下 subconverter 么,直接解决各种类型客户端的订阅问题了。
我跟楼主一样有用 surge/clash 访问家里服务器的需求,后来直接配置 subconverter ,自己搞好模板之后,就一次性解决了。 iOS 、Android 、Mac 、Windows 所有端都可以用了,而且无缝对接各种机场订阅,无视机场的规则,完全用自己的规则了。 |
37
flyingpigpig OP @ketor 如果机场订阅更新,需要手动用 subconverter 再转换一次吗?
|
38
flyingpigpig OP @ketor 如果 subconverter 是静态的,那跟我手动写 config 没有区别
|
39
ketor 2023-08-31 23:33:41 +08:00
@flyingpigpig 那必须得是能动态的,机场的订阅更新了,你从 subconverter 的订阅同步更新。当你同时有多个机场,还有自建的 ss/v2ray 的时候,当你需要自定义 surge/clash 规则的时候,用 subconverter 就体现出优势了。
搭建好之后,是一个 web server ,生成好一个的 url 之后,就和使用机场订阅一样的。 其实很多机场的订阅看 url 风格就是用 subconverter 实现的。 你需要修改的只是 subconverter 里的 config 模板,然后自建的 ss/v2ray 等 server (可以若干个)、机场的订阅(可以若干个)都在 url 中体现。 Surge 、Clash 、V2Ray 等客户端软件只需订阅自建的 subconverter 就可以了。具体看 subconverter 项目的文档,有中文文档,初次上手略有门槛,但是一次投入,几乎终生受益,非常超值。 |
40
ketor 2023-08-31 23:37:43 +08:00
@flyingpigpig 我也是从手写 config 转到 subconverter 的,迭代 N 次之后实在觉得麻烦,而且我同时有 Surge 和 Clash 的需求,iOS 、Android 、Mac 、Windows 四种终端,还同时用了几个不同的机场。
后来发现华硕路由器的插件 MerlinClash 里带了个 subconverter ,好奇是做什么用的,一研究发现果然早就有人遇到同样的问题了,这都有了成熟的解决方案了,立马学习一下切换过去。 然后清净了,最近一年就只增加了 ChatGPT 的规则,基本 0 成本了。 |