cedar2025 / Xboard

基于V2board二次开发支持新协议新特性的高性能面板
MIT License
1.35k stars 322 forks source link

订阅下发的配置文件如何定制 #156

Open weihu120 opened 1 week ago

weihu120 commented 1 week ago

Please describe in detail the problems or needs you have encountered. 请详细描述你遇到的问题或需求。 我只知道通过订阅链接获取到的配置文件好像是在resources/rules/下面,但是不知道具体如何定制,例如,我在各平台都只使用sing-box作为客户端,而且用xboard也只是为了方便自已,并不是用来开机场,所以想定制一下sing-box的配置文件,比如说把节点名字包含"奈飞“的节点组合成一个selector,并且出站规则里指定奈飞使用这个selector,另外把包含不能国家或地区名字的节点组合到一个urltest里,不知道该如何实现,大佬能不能指点一下,或都有什么地方有比较详细的文档或教程。谢谢

cedar2025 commented 1 week ago

1、 进入resources/rules/文件夹 2、复制一份resources/rules/default.sing-box.json 为resources/rules/custom.sing-box.json 3、修改resources/rules/custom.sing-box.json 即可自定义

weihu120 commented 1 week ago

1、 进入resources/rules/文件夹 2、复制一份resources/rules/default.sing-box.json 为resources/rules/custom.sing-box.json 3、修改resources/rules/custom.sing-box.json 即可自定义

感谢大佬回复,已经找到这个resources/rules/default.sing-box.json,另外找到app/Protocols/SingBox.php。 连蒙带猜的觉得如果不存在custom.sing-box.json就使用default.sing-box.json,存在的话就使用custom开头的那个做了配置文件模版,生成下发配置的时候是根据订阅的权限组里包含的节点来填充所有selector和urltest分组,并且把这些分组和结点一起填充到配置文件的outbounds里面,好像是这两个结合起来修改应该可以达到我的目的。 只是本人对php实在没什么了解,我想做的是把包含特定关键字的节点填充到特定的selector和urltest分组里,而不是所有结点都填进去。 例如:我在custom.sing-box.json里增加一个tag是“奈飞”的urltest类型的outbound,希望下发的配置里能自动把所有名称包含"奈飞“或"Netflix"的节点填进去,但其它不含这两个关键词的节点不要填进去,直觉上应该要修改SingBox.php通过正则匹配来过滤,大佬能否指点一下,给个简单的示例,我试试看能不能举一反三,哪怕硬编码也行,反正是自用,没太多讲究。

cedar2025 commented 1 week ago

是的你的需求需要去修改php部分代码,这边你需要自行去实现了。 你可以使用php相关的函数去过滤出来你需要的节点再下发, 建议你还是自行查阅资料好了。 我能告诉你的是确实修改SingBox.php 就可以实现,其他就需要你自行摸索了

weihu120 commented 1 week ago

是的你的需求需要去修改php部分代码,这边你需要自行去实现了。 你可以使用php相关的函数去过滤出来你需要的节点再下发, 建议你还是自行查阅资料好了。 我能告诉你的是确实修改SingBox.php 就可以实现,其他就需要你自行摸索了

好的,谢谢大佬