Compare commits

...

3 commits

Author SHA1 Message Date
JieXu
8d857b34f0
Merge 6ec7c7c733 into 3a5293bf87 2026-02-25 19:30:35 +08:00
DHR60
3a5293bf87
Fix cert separator (#8837)
Some checks failed
release Linux / build (Release) (push) Has been cancelled
release macOS / build (Release) (push) Has been cancelled
release Windows desktop (Avalonia UI) / build (Release) (push) Has been cancelled
release Windows / build (Release) (push) Has been cancelled
release Linux / rpm (push) Has been cancelled
2026-02-25 19:30:29 +08:00
DHR60
ac43bb051d
Node test with sub chain (#8778) 2026-02-25 19:28:20 +08:00
6 changed files with 18 additions and 8 deletions

View file

@ -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)
{

View file

@ -66,7 +66,7 @@ public class Hysteria2Fmt : BaseFmt
if (!item.CertSha.IsNullOrEmpty())
{
var sha = item.CertSha;
var idx = sha.IndexOf('~');
var idx = sha.IndexOf(',');
if (idx > 0)
{
sha = sha[..idx];

View file

@ -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();

View file

@ -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;
}

View file

@ -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;
}

View file

@ -218,7 +218,7 @@ public class AddServerViewModel : MyReactiveObject
return;
}
List<string> shaList = new();
List<string> shaList = [];
foreach (var cert in certList)
{
var sha = CertPemManager.GetCertSha256Thumbprint(cert);
@ -228,7 +228,7 @@ public class AddServerViewModel : MyReactiveObject
}
shaList.Add(sha);
}
CertSha = string.Join('~', shaList);
CertSha = string.Join(',', shaList);
}
private async Task FetchCert()