Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

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

Open
Icemans007 opened this issue Oct 22, 2024 · 7 comments

Comments

@Icemans007
Copy link

Icemans007 commented Oct 22, 2024

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

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

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

@Icemans007 Icemans007 changed the title 建议增加一种节点排序(组合节点固定 + 节点延迟排序) 建议增加一种节点排序(组合节点固定 + 其他节点按设置排序) Oct 22, 2024
@Icemans007 Icemans007 changed the title 建议增加一种节点排序(组合节点固定 + 其他节点按设置排序) 建议增加一种节点排序(节点组固定排前面 + 其他节点按设置排序) Oct 23, 2024
@devchenli
Copy link

devchenli commented Oct 25, 2024

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

@yorunning
Copy link

yorunning commented Nov 22, 2024

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

@yorunning
Copy link

找到原因了,策略组渲染的顺序是按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
Copy link

找到原因了,策略组渲染的顺序是按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
Copy link
Author

找到原因了,策略组渲染的顺序是按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
Copy link

yorunning commented Nov 24, 2024

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

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

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

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

@devchenli
Copy link

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

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants