MetaCubeX / metacubexd

Mihomo Dashboard, The Official One, XD
MIT License
1.76k stars 272 forks source link

建议增加一种节点排序(节点组固定排前面 + 其他节点按设置排序) #1120

Open Icemans007 opened 1 month ago

Icemans007 commented 1 month ago

建议将 selecter urlTest ... 这些节点组按原配置文件排序排前头,其他机场节点按其他设定排序,就是节点组固定不参与排序

这样的原因是,其实大多数我们默认出战都是 selecter 和 urlTest 形式,按照目前情况,有时候改动其他节点后,改回时候却需要在一大堆节点中去找出组合节点比较麻烦

办法:添加个节点组固定(不参与排序)的按钮让用户自己设置,或者干脆将现有的所有排序中让节点组排前面 内核:sing-box

devchenli commented 1 month ago

同求。其实不用排序,简单点,就按配置文件中的顺序显示就行,这个目前还没实现。

yorunning commented 4 days ago

mihomo内核排序是按配置文件中的顺序排的,sing-box内核排序有问题,看了下代码也没经过什么特殊处理,sing-box GET /groupAPI返回的策略组也是配置中的顺序,但渲染出来的顺序就有问题。

yorunning commented 3 days ago

找到原因了,策略组渲染的顺序是按GLOBAL策略组中的顺序进行渲染的。 https://github.com/MetaCubeX/metacubexd/blob/main/src/signals/proxies.ts#L125-L131

mihomo内核能自动按配置中的策略组顺序生成GLOBAL策略组,通过GET /group api可以看到。 而sing-box内核不生成GLOBAL策略组,GLOBAL策略组是在xd面板中进行生成排序的。

一个解决办法是在sing-box配置文件中创建一个GLOBAL策略组,并在outbounds中指定想显示的顺序。

devchenli commented 3 days ago

找到原因了,策略组渲染的顺序是按GLOBAL策略组中的顺序进行渲染的。 https://github.com/MetaCubeX/metacubexd/blob/main/src/signals/proxies.ts#L125-L131

mihomo内核能自动按配置中的策略组顺序生成GLOBAL策略组,通过GET /group api可以看到。 而sing-box内核不生成GLOBAL策略组,GLOBAL策略组是在xd面板中进行生成排序的。

一个解决办法是在sing-box配置文件中创建一个GLOBAL策略组,并在outbounds中指定想显示的顺序。

原来如此,感谢🙏

Icemans007 commented 2 days ago

找到原因了,策略组渲染的顺序是按GLOBAL策略组中的顺序进行渲染的。 https://github.com/MetaCubeX/metacubexd/blob/main/src/signals/proxies.ts#L125-L131

mihomo内核能自动按配置中的策略组顺序生成GLOBAL策略组,通过GET /group api可以看到。 而sing-box内核不生成GLOBAL策略组,GLOBAL策略组是在xd面板中进行生成排序的。

一个解决办法是在sing-box配置文件中创建一个GLOBAL策略组,并在outbounds中指定想显示的顺序。

首先谢谢您的解答!但我测试了下,还是有些疑问 sing-box配置文件中我创建GLOBAL策略组,将一部分策略组添加到GLOBAL策略组outbounds中 1、奇怪的是添加进去的策略组在所有代理的顺序的排最后!!反而没有添加进入的策略排在前面,难道我还要将所有十多个策略组添加到GLOBAL策略组么? 2、添加进GLOBAL outbounds中的内部策略组,在其他综合策略组中(策略组包含内部策略组),这些内部策略组并没有按GLOBAL的配置顺序排前面,还是按延迟顺序排(这个问题才是我提issue核心问题),俺不懂前端代码,大佬有空帮忙解答下,感谢 image image

yorunning commented 2 days ago

1、奇怪的是添加进去的策略组在所有代理的顺序的排最后!!反而没有添加进入的策略排在前面,难道我还要将所有十多个策略组添加到GLOBAL策略组么?

是的,你需要把所有的策略组写入GLOBAL中,未写入的会排在前面。

2、添加进GLOBAL outbounds中的内部策略组,在其他综合策略组中(策略组包含内部策略组),这些内部策略组并没有按GLOBAL的配置顺序排前面,还是按延迟顺序排(这个问题才是我提issue核心问题),俺不懂前端代码,大佬有空帮忙解答下,感谢

策略组内部的排序问题,检查一下xd面板是否勾选的按节点延迟排序。按原配置文件排序是没这个问题的。

devchenli commented 2 days ago

我后面看了下相关文档,这个是GLOBAL的设计理念,它必须包含所有线路。 为什么呢?因为如果在面板配置中的模式选中globa模式,意思就是全部流量走global,那如果GLOBAL策略组中没有包含某些线路,就会造成那些线路就不会走全局,这个所谓的“全局”就不成立了。 至于单个策略组中的排序在面板中可以设置。