Merge branch '2dust:master' into master

This commit is contained in:
JieXu 2025-10-23 20:42:13 +08:00 committed by GitHub
commit 1ca9b8ca7a
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
3 changed files with 12 additions and 3 deletions

View file

@ -1221,6 +1221,7 @@ public static class ConfigHandler
CoreType = coreType, CoreType = coreType,
ConfigType = EConfigType.PolicyGroup, ConfigType = EConfigType.PolicyGroup,
Remarks = remark, Remarks = remark,
IsSub = false
}; };
if (!subId.IsNullOrEmpty()) if (!subId.IsNullOrEmpty())
{ {

View file

@ -97,9 +97,12 @@ public partial class CoreConfigV2rayService
continue; continue;
} }
} }
else if (!fullConfigTemplate.ProxyDetour.IsNullOrEmpty()) else if ((!fullConfigTemplate.ProxyDetour.IsNullOrEmpty())
&& ((outbound.streamSettings?.sockopt?.dialerProxy.IsNullOrEmpty() ?? true) == true))
{ {
var outboundAddress = outbound.settings?.servers?.FirstOrDefault()?.address ?? outbound.settings?.vnext?.FirstOrDefault()?.address ?? string.Empty; var outboundAddress = outbound.settings?.servers?.FirstOrDefault()?.address
?? outbound.settings?.vnext?.FirstOrDefault()?.address
?? string.Empty;
if (!Utils.IsPrivateNetwork(outboundAddress)) if (!Utils.IsPrivateNetwork(outboundAddress))
{ {
outbound.streamSettings ??= new StreamSettings4Ray(); outbound.streamSettings ??= new StreamSettings4Ray();

View file

@ -82,11 +82,16 @@ public partial class CoreConfigV2rayService
var (domain, scheme, port, path) = Utils.ParseUrl(dnsAddress); var (domain, scheme, port, path) = Utils.ParseUrl(dnsAddress);
var domainFinal = dnsAddress; var domainFinal = dnsAddress;
int? portFinal = null; int? portFinal = null;
if (scheme.IsNullOrEmpty() || scheme.Contains("udp", StringComparison.OrdinalIgnoreCase) || scheme.Contains("tcp", StringComparison.OrdinalIgnoreCase)) if (scheme.IsNullOrEmpty() || scheme.StartsWith("udp", StringComparison.OrdinalIgnoreCase))
{ {
domainFinal = domain; domainFinal = domain;
portFinal = port > 0 ? port : null; portFinal = port > 0 ? port : null;
} }
else if (scheme.StartsWith("tcp", StringComparison.OrdinalIgnoreCase))
{
domainFinal = scheme + "://" + domain;
portFinal = port > 0 ? port : null;
}
var dnsServer = new DnsServer4Ray var dnsServer = new DnsServer4Ray
{ {
address = domainFinal, address = domainFinal,