feat: 支持主分组隐藏节点并保留排序
This commit is contained in:
+9
-2
@@ -13,6 +13,7 @@ type ClashSettings = {
|
||||
extraProxyGroups: string;
|
||||
profileName: string;
|
||||
mainProxyGroupMemberSlugs: string[];
|
||||
mainProxyGroupHiddenSlugs?: string[];
|
||||
proxyGroups: ProxyGroupConfig[];
|
||||
};
|
||||
|
||||
@@ -225,14 +226,20 @@ export function buildSubscriptionConfig(input: {
|
||||
const nodeNameBySlug = new Map(
|
||||
eligibleNodes.map((node) => [node.slug, getNodeProxyName(node)]),
|
||||
);
|
||||
const proxyNames = orderedEligibleNodes.map((node) => getNodeProxyName(node));
|
||||
const hidden = new Set(input.settings.mainProxyGroupHiddenSlugs ?? []);
|
||||
const proxyNames = orderedEligibleNodes
|
||||
.filter((node) => !hidden.has(node.slug))
|
||||
.map((node) => getNodeProxyName(node));
|
||||
const proxiesBlock = orderedEligibleNodes
|
||||
.map((node) => renderSubscriptionProxy(node, authString, input.user))
|
||||
.join("\n");
|
||||
const defaultTemplate =
|
||||
input.settings.template.trimEnd() || readDefaultTemplate();
|
||||
const renderedGroups = [
|
||||
renderGroupEntry(input.settings.profileName || "FeieProxy", proxyNames),
|
||||
renderGroupEntry(
|
||||
input.settings.profileName || "FeieProxy",
|
||||
proxyNames.length ? proxyNames : ["DIRECT"],
|
||||
),
|
||||
...input.settings.proxyGroups
|
||||
.map((group) => {
|
||||
const members = group.memberSlugs
|
||||
|
||||
Reference in New Issue
Block a user