This commit is contained in:
DHR60 2025-10-06 21:14:04 +08:00
parent 466cf53d35
commit 8d441c96a8
8 changed files with 33 additions and 5 deletions

View file

@ -2094,6 +2094,15 @@ namespace ServiceLib.Resx {
}
}
/// <summary>
/// 查找类似 Not support protocol &apos;{0}&apos;. 的本地化字符串。
/// </summary>
public static string NotSupportProtocol {
get {
return ResourceManager.GetString("NotSupportProtocol", resourceCulture);
}
}
/// <summary>
/// 查找类似 Scan completed, no valid QR code found 的本地化字符串。
/// </summary>

View file

@ -1590,4 +1590,7 @@
<data name="GroupSelfReference" xml:space="preserve">
<value>The group "{0}" cannot reference itself.</value>
</data>
<data name="NotSupportProtocol" xml:space="preserve">
<value>Not support protocol '{0}'.</value>
</data>
</root>

View file

@ -1590,4 +1590,7 @@
<data name="GroupSelfReference" xml:space="preserve">
<value>The group "{0}" cannot reference itself.</value>
</data>
<data name="NotSupportProtocol" xml:space="preserve">
<value>Not support protocol '{0}'.</value>
</data>
</root>

View file

@ -1590,4 +1590,7 @@
<data name="GroupSelfReference" xml:space="preserve">
<value>The group "{0}" cannot reference itself.</value>
</data>
<data name="NotSupportProtocol" xml:space="preserve">
<value>Not support protocol '{0}'.</value>
</data>
</root>

View file

@ -1590,4 +1590,7 @@
<data name="GroupSelfReference" xml:space="preserve">
<value>The group "{0}" cannot reference itself.</value>
</data>
<data name="NotSupportProtocol" xml:space="preserve">
<value>Not support protocol '{0}'.</value>
</data>
</root>

View file

@ -1587,4 +1587,7 @@
<data name="GroupSelfReference" xml:space="preserve">
<value>{0} 分组不能引用自身</value>
</data>
<data name="NotSupportProtocol" xml:space="preserve">
<value>不支持协议 '{0}'。</value>
</data>
</root>

View file

@ -1587,4 +1587,7 @@
<data name="GroupSelfReference" xml:space="preserve">
<value>The group "{0}" cannot reference itself.</value>
</data>
<data name="NotSupportProtocol" xml:space="preserve">
<value>Not support protocol '{0}'.</value>
</data>
</root>

View file

@ -57,13 +57,11 @@ public class ActionPrecheckService(Config config)
{
var errors = new List<string>();
// sing-box does not support xhttp / kcp
// sing-box does not support transports like ws/http/httpupgrade/etc. when the node is not vmess/trojan/vless
coreType ??= AppManager.Instance.GetCoreType(item, item.ConfigType);
if (item.ConfigType is EConfigType.Custom)
{
errors.Add(string.Format(ResUI.CoreNotSupportProtocol, coreType.ToString(), item.ConfigType.ToString()));
errors.Add(string.Format(ResUI.NotSupportProtocol, item.ConfigType.ToString()));
return errors;
}
@ -164,6 +162,8 @@ public class ActionPrecheckService(Config config)
if (coreType == ECoreType.sing_box)
{
// sing-box does not support xhttp / kcp
// sing-box does not support transports like ws/http/httpupgrade/etc. when the node is not vmess/trojan/vless
if (net is nameof(ETransport.kcp) or nameof(ETransport.xhttp))
{
errors.Add(string.Format(ResUI.CoreNotSupportNetwork, nameof(ECoreType.sing_box), net));
@ -182,14 +182,15 @@ public class ActionPrecheckService(Config config)
else if (coreType is ECoreType.Xray)
{
// Xray core does not support these protocols
if (item.ConfigType is EConfigType.Hysteria2 or EConfigType.TUIC or EConfigType.Anytls)
if (!Global.XraySupportConfigType.Contains(item.ConfigType)
&& !item.IsComplex())
{
errors.Add(string.Format(ResUI.CoreNotSupportProtocol, nameof(ECoreType.Xray), item.ConfigType.ToString()));
return errors;
}
}
return errors.Select(s => $"{item.Remarks}: {s}").ToList();
return errors;
}
private async Task<List<string>> ValidateRelatedNodesExistAndValid(ProfileItem? item)