Compare commits

...

2 commits

Author SHA1 Message Date
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); var nodes = await AppManager.Instance.GetProfileItemsByIndexIds(ids);
foreach (var node in nodes) 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) if (coreType == ECoreType.sing_box)
{ {

View file

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

View file

@ -10,6 +10,9 @@ public record CoreConfigContext
public Config AppConfig { get; init; } = new(); public Config AppConfig { get; init; } = new();
public FullConfigTemplateItem? FullConfigTemplate { get; init; } = new(); public FullConfigTemplateItem? FullConfigTemplate { get; init; } = new();
// Test ServerTestItem Map
public Dictionary<string, string> ServerTestItemMap { get; init; } = new();
// TUN Compatibility // TUN Compatibility
public bool IsTunEnabled { get; init; } = false; public bool IsTunEnabled { get; init; } = false;
public HashSet<string> ProtectDomainList { get; init; } = new(); public HashSet<string> ProtectDomainList { get; init; } = new();

View file

@ -122,8 +122,9 @@ public partial class CoreConfigSingboxService(CoreConfigContext context)
{ {
continue; continue;
} }
var item = context.AllProxiesMap.GetValueOrDefault(it.IndexId); var actIndexId = context.ServerTestItemMap.GetValueOrDefault(it.IndexId, it.IndexId);
if (item is null || item.IsComplex() || !item.IsValid()) var item = context.AllProxiesMap.GetValueOrDefault(actIndexId);
if (item is null || item.ConfigType is EConfigType.Custom || !item.IsValid())
{ {
continue; continue;
} }

View file

@ -120,8 +120,9 @@ public partial class CoreConfigV2rayService(CoreConfigContext context)
{ {
continue; continue;
} }
var item = context.AllProxiesMap.GetValueOrDefault(it.IndexId); var actIndexId = context.ServerTestItemMap.GetValueOrDefault(it.IndexId, it.IndexId);
if (item is null || item.IsComplex() || !item.IsValid()) var item = context.AllProxiesMap.GetValueOrDefault(actIndexId);
if (item is null || item.ConfigType is EConfigType.Custom || !item.IsValid())
{ {
continue; continue;
} }

View file

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