mirror of
https://github.com/2dust/v2rayN.git
synced 2026-05-18 23:54:49 +03:00
Node test with sub chain (#8778)
This commit is contained in:
@@ -99,7 +99,12 @@ public static class CoreConfigHandler
|
||||
var nodes = await AppManager.Instance.GetProfileItemsByIndexIds(ids);
|
||||
foreach (var node in nodes)
|
||||
{
|
||||
await FillNodeContext(context, node, false);
|
||||
var actNode = await FillNodeContext(context, node, true);
|
||||
if (node.IndexId == actNode.IndexId)
|
||||
{
|
||||
continue;
|
||||
}
|
||||
context.ServerTestItemMap[node.IndexId] = actNode.IndexId;
|
||||
}
|
||||
if (coreType == ECoreType.sing_box)
|
||||
{
|
||||
|
||||
@@ -10,6 +10,9 @@ public record CoreConfigContext
|
||||
public Config AppConfig { get; init; } = new();
|
||||
public FullConfigTemplateItem? FullConfigTemplate { get; init; } = new();
|
||||
|
||||
// Test ServerTestItem Map
|
||||
public Dictionary<string, string> ServerTestItemMap { get; init; } = new();
|
||||
|
||||
// TUN Compatibility
|
||||
public bool IsTunEnabled { get; init; } = false;
|
||||
public HashSet<string> ProtectDomainList { get; init; } = new();
|
||||
|
||||
@@ -122,8 +122,9 @@ public partial class CoreConfigSingboxService(CoreConfigContext context)
|
||||
{
|
||||
continue;
|
||||
}
|
||||
var item = context.AllProxiesMap.GetValueOrDefault(it.IndexId);
|
||||
if (item is null || item.IsComplex() || !item.IsValid())
|
||||
var actIndexId = context.ServerTestItemMap.GetValueOrDefault(it.IndexId, it.IndexId);
|
||||
var item = context.AllProxiesMap.GetValueOrDefault(actIndexId);
|
||||
if (item is null || item.ConfigType is EConfigType.Custom || !item.IsValid())
|
||||
{
|
||||
continue;
|
||||
}
|
||||
|
||||
@@ -120,8 +120,9 @@ public partial class CoreConfigV2rayService(CoreConfigContext context)
|
||||
{
|
||||
continue;
|
||||
}
|
||||
var item = context.AllProxiesMap.GetValueOrDefault(it.IndexId);
|
||||
if (item is null || item.IsComplex() || !item.IsValid())
|
||||
var actIndexId = context.ServerTestItemMap.GetValueOrDefault(it.IndexId, it.IndexId);
|
||||
var item = context.AllProxiesMap.GetValueOrDefault(actIndexId);
|
||||
if (item is null || item.ConfigType is EConfigType.Custom || !item.IsValid())
|
||||
{
|
||||
continue;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user