mirror of
https://github.com/2dust/v2rayN.git
synced 2025-10-13 11:59:13 +00:00
Fix (#8057)
This commit is contained in:
parent
bbe64aa970
commit
185c5e4bfb
11 changed files with 38 additions and 51 deletions
11
v2rayN/ServiceLib/Resx/ResUI.Designer.cs
generated
11
v2rayN/ServiceLib/Resx/ResUI.Designer.cs
generated
|
@ -2932,16 +2932,7 @@ namespace ServiceLib.Resx {
|
||||||
}
|
}
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 查找类似 The sing-box DoH resolution server can be overwritten 的本地化字符串。
|
/// 查找类似 Resolve DNS server domains, requires IP 的本地化字符串。
|
||||||
/// </summary>
|
|
||||||
public static string TbSBDoHOverride {
|
|
||||||
get {
|
|
||||||
return ResourceManager.GetString("TbSBDoHOverride", resourceCulture);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
/// <summary>
|
|
||||||
/// 查找类似 Fallback DNS Resolution, Require IP 的本地化字符串。
|
|
||||||
/// </summary>
|
/// </summary>
|
||||||
public static string TbSBFallbackDNSResolve {
|
public static string TbSBFallbackDNSResolve {
|
||||||
get {
|
get {
|
||||||
|
|
|
@ -1429,7 +1429,7 @@
|
||||||
<value>Bootstrap DNS (sing-box)</value>
|
<value>Bootstrap DNS (sing-box)</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="TbSBFallbackDNSResolve" xml:space="preserve">
|
<data name="TbSBFallbackDNSResolve" xml:space="preserve">
|
||||||
<value>Fallback DNS Resolution, Require IP</value>
|
<value>Resolve DNS server domains, requires IP</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="TbXrayFreedomResolveStrategy" xml:space="preserve">
|
<data name="TbXrayFreedomResolveStrategy" xml:space="preserve">
|
||||||
<value>xray Freedom Resolution Strategy</value>
|
<value>xray Freedom Resolution Strategy</value>
|
||||||
|
@ -1443,9 +1443,6 @@
|
||||||
<data name="TbAddCommonDNSHosts" xml:space="preserve">
|
<data name="TbAddCommonDNSHosts" xml:space="preserve">
|
||||||
<value>Add Common DNS Hosts</value>
|
<value>Add Common DNS Hosts</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="TbSBDoHOverride" xml:space="preserve">
|
|
||||||
<value>The sing-box DoH resolution server can be overwritten</value>
|
|
||||||
</data>
|
|
||||||
<data name="TbFakeIP" xml:space="preserve">
|
<data name="TbFakeIP" xml:space="preserve">
|
||||||
<value>FakeIP</value>
|
<value>FakeIP</value>
|
||||||
</data>
|
</data>
|
||||||
|
|
|
@ -1429,7 +1429,7 @@
|
||||||
<value>Bootstrap DNS (sing-box)</value>
|
<value>Bootstrap DNS (sing-box)</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="TbSBFallbackDNSResolve" xml:space="preserve">
|
<data name="TbSBFallbackDNSResolve" xml:space="preserve">
|
||||||
<value>Fallback DNS Resolution, Require IP</value>
|
<value>Resolve DNS server domains, requires IP</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="TbXrayFreedomResolveStrategy" xml:space="preserve">
|
<data name="TbXrayFreedomResolveStrategy" xml:space="preserve">
|
||||||
<value>xray Freedom Resolution Strategy</value>
|
<value>xray Freedom Resolution Strategy</value>
|
||||||
|
@ -1443,9 +1443,6 @@
|
||||||
<data name="TbAddCommonDNSHosts" xml:space="preserve">
|
<data name="TbAddCommonDNSHosts" xml:space="preserve">
|
||||||
<value>Add Common DNS Hosts</value>
|
<value>Add Common DNS Hosts</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="TbSBDoHOverride" xml:space="preserve">
|
|
||||||
<value>The sing-box DoH resolution server can be overwritten</value>
|
|
||||||
</data>
|
|
||||||
<data name="TbFakeIP" xml:space="preserve">
|
<data name="TbFakeIP" xml:space="preserve">
|
||||||
<value>FakeIP</value>
|
<value>FakeIP</value>
|
||||||
</data>
|
</data>
|
||||||
|
|
|
@ -1429,7 +1429,7 @@
|
||||||
<value>Bootstrap DNS (sing-box)</value>
|
<value>Bootstrap DNS (sing-box)</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="TbSBFallbackDNSResolve" xml:space="preserve">
|
<data name="TbSBFallbackDNSResolve" xml:space="preserve">
|
||||||
<value>Fallback DNS Resolution, Require IP</value>
|
<value>Resolve DNS server domains, requires IP</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="TbXrayFreedomResolveStrategy" xml:space="preserve">
|
<data name="TbXrayFreedomResolveStrategy" xml:space="preserve">
|
||||||
<value>xray Freedom Resolution Strategy</value>
|
<value>xray Freedom Resolution Strategy</value>
|
||||||
|
@ -1443,9 +1443,6 @@
|
||||||
<data name="TbAddCommonDNSHosts" xml:space="preserve">
|
<data name="TbAddCommonDNSHosts" xml:space="preserve">
|
||||||
<value>Add Common DNS Hosts</value>
|
<value>Add Common DNS Hosts</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="TbSBDoHOverride" xml:space="preserve">
|
|
||||||
<value>The sing-box DoH resolution server can be overwritten</value>
|
|
||||||
</data>
|
|
||||||
<data name="TbFakeIP" xml:space="preserve">
|
<data name="TbFakeIP" xml:space="preserve">
|
||||||
<value>FakeIP</value>
|
<value>FakeIP</value>
|
||||||
</data>
|
</data>
|
||||||
|
|
|
@ -1429,7 +1429,7 @@
|
||||||
<value>Bootstrap DNS (sing-box)</value>
|
<value>Bootstrap DNS (sing-box)</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="TbSBFallbackDNSResolve" xml:space="preserve">
|
<data name="TbSBFallbackDNSResolve" xml:space="preserve">
|
||||||
<value>Fallback DNS Resolution, Require IP</value>
|
<value>Resolve DNS server domains, requires IP</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="TbXrayFreedomResolveStrategy" xml:space="preserve">
|
<data name="TbXrayFreedomResolveStrategy" xml:space="preserve">
|
||||||
<value>Стратегия резолвинга Freedom (Xray)</value>
|
<value>Стратегия резолвинга Freedom (Xray)</value>
|
||||||
|
@ -1443,9 +1443,6 @@
|
||||||
<data name="TbAddCommonDNSHosts" xml:space="preserve">
|
<data name="TbAddCommonDNSHosts" xml:space="preserve">
|
||||||
<value>Добавить стандартные записи hosts (DNS)</value>
|
<value>Добавить стандартные записи hosts (DNS)</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="TbSBDoHOverride" xml:space="preserve">
|
|
||||||
<value>Сервер DoH-резолвера sing-box можно переопределить</value>
|
|
||||||
</data>
|
|
||||||
<data name="TbFakeIP" xml:space="preserve">
|
<data name="TbFakeIP" xml:space="preserve">
|
||||||
<value>FakeIP</value>
|
<value>FakeIP</value>
|
||||||
</data>
|
</data>
|
||||||
|
|
|
@ -1426,7 +1426,7 @@
|
||||||
<value>Bootstrap DNS (sing-box)</value>
|
<value>Bootstrap DNS (sing-box)</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="TbSBFallbackDNSResolve" xml:space="preserve">
|
<data name="TbSBFallbackDNSResolve" xml:space="preserve">
|
||||||
<value>回退 DNS 解析,需指定为 IP</value>
|
<value>解析 DNS 服务器域名,需指定为 IP</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="TbXrayFreedomResolveStrategy" xml:space="preserve">
|
<data name="TbXrayFreedomResolveStrategy" xml:space="preserve">
|
||||||
<value>xray freedom 解析策略</value>
|
<value>xray freedom 解析策略</value>
|
||||||
|
@ -1440,9 +1440,6 @@
|
||||||
<data name="TbAddCommonDNSHosts" xml:space="preserve">
|
<data name="TbAddCommonDNSHosts" xml:space="preserve">
|
||||||
<value>添加常用 DNS Hosts</value>
|
<value>添加常用 DNS Hosts</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="TbSBDoHOverride" xml:space="preserve">
|
|
||||||
<value>开启后可覆盖 sing-box DoH 解析服务器</value>
|
|
||||||
</data>
|
|
||||||
<data name="TbFakeIP" xml:space="preserve">
|
<data name="TbFakeIP" xml:space="preserve">
|
||||||
<value>FakeIP</value>
|
<value>FakeIP</value>
|
||||||
</data>
|
</data>
|
||||||
|
|
|
@ -1426,7 +1426,7 @@
|
||||||
<value>Bootstrap DNS (sing-box)</value>
|
<value>Bootstrap DNS (sing-box)</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="TbSBFallbackDNSResolve" xml:space="preserve">
|
<data name="TbSBFallbackDNSResolve" xml:space="preserve">
|
||||||
<value>Fallback DNS Resolution, Require IP</value>
|
<value>Resolve DNS server domains, requires IP</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="TbXrayFreedomResolveStrategy" xml:space="preserve">
|
<data name="TbXrayFreedomResolveStrategy" xml:space="preserve">
|
||||||
<value>xray Freedom Resolution Strategy</value>
|
<value>xray Freedom Resolution Strategy</value>
|
||||||
|
@ -1440,9 +1440,6 @@
|
||||||
<data name="TbAddCommonDNSHosts" xml:space="preserve">
|
<data name="TbAddCommonDNSHosts" xml:space="preserve">
|
||||||
<value>Add Common DNS Hosts</value>
|
<value>Add Common DNS Hosts</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="TbSBDoHOverride" xml:space="preserve">
|
|
||||||
<value>The sing-box DoH resolution server can be overwritten</value>
|
|
||||||
</data>
|
|
||||||
<data name="TbFakeIP" xml:space="preserve">
|
<data name="TbFakeIP" xml:space="preserve">
|
||||||
<value>FakeIP</value>
|
<value>FakeIP</value>
|
||||||
</data>
|
</data>
|
||||||
|
|
|
@ -186,7 +186,7 @@ public partial class CoreConfigV2rayService(Config config)
|
||||||
|
|
||||||
ret.Success = true;
|
ret.Success = true;
|
||||||
|
|
||||||
ret.Data = await ApplyFullConfigTemplate(v2rayConfig, true);
|
ret.Data = await ApplyFullConfigTemplate(v2rayConfig);
|
||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
catch (Exception ex)
|
catch (Exception ex)
|
||||||
|
|
|
@ -4,7 +4,7 @@ namespace ServiceLib.Services.CoreConfig;
|
||||||
|
|
||||||
public partial class CoreConfigV2rayService
|
public partial class CoreConfigV2rayService
|
||||||
{
|
{
|
||||||
private async Task<string> ApplyFullConfigTemplate(V2rayConfig v2rayConfig, bool handleBalancerAndRules = false)
|
private async Task<string> ApplyFullConfigTemplate(V2rayConfig v2rayConfig)
|
||||||
{
|
{
|
||||||
var fullConfigTemplate = await AppManager.Instance.GetFullConfigTemplateItem(ECoreType.Xray);
|
var fullConfigTemplate = await AppManager.Instance.GetFullConfigTemplateItem(ECoreType.Xray);
|
||||||
if (fullConfigTemplate == null || !fullConfigTemplate.Enabled || fullConfigTemplate.Config.IsNullOrEmpty())
|
if (fullConfigTemplate == null || !fullConfigTemplate.Enabled || fullConfigTemplate.Config.IsNullOrEmpty())
|
||||||
|
@ -19,7 +19,7 @@ public partial class CoreConfigV2rayService
|
||||||
}
|
}
|
||||||
|
|
||||||
// Handle balancer and rules modifications (for multiple load scenarios)
|
// Handle balancer and rules modifications (for multiple load scenarios)
|
||||||
if (handleBalancerAndRules && v2rayConfig.routing?.balancers?.Count > 0)
|
if (v2rayConfig.routing?.balancers?.Count > 0)
|
||||||
{
|
{
|
||||||
var balancer = v2rayConfig.routing.balancers.First();
|
var balancer = v2rayConfig.routing.balancers.First();
|
||||||
|
|
||||||
|
@ -60,6 +60,34 @@ public partial class CoreConfigV2rayService
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (v2rayConfig.observatory != null)
|
||||||
|
{
|
||||||
|
if (fullConfigTemplateNode["observatory"] == null)
|
||||||
|
{
|
||||||
|
fullConfigTemplateNode["observatory"] = JsonNode.Parse(JsonUtils.Serialize(v2rayConfig.observatory));
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
var subjectSelector = v2rayConfig.observatory.subjectSelector;
|
||||||
|
subjectSelector.AddRange(fullConfigTemplateNode["observatory"]?["subjectSelector"]?.AsArray()?.Select(x => x?.GetValue<string>()) ?? []);
|
||||||
|
fullConfigTemplateNode["observatory"]["subjectSelector"] = JsonNode.Parse(JsonUtils.Serialize(subjectSelector.Distinct().ToList()));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if (v2rayConfig.burstObservatory != null)
|
||||||
|
{
|
||||||
|
if (fullConfigTemplateNode["burstObservatory"] == null)
|
||||||
|
{
|
||||||
|
fullConfigTemplateNode["burstObservatory"] = JsonNode.Parse(JsonUtils.Serialize(v2rayConfig.burstObservatory));
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
var subjectSelector = v2rayConfig.burstObservatory.subjectSelector;
|
||||||
|
subjectSelector.AddRange(fullConfigTemplateNode["burstObservatory"]?["subjectSelector"]?.AsArray()?.Select(x => x?.GetValue<string>()) ?? []);
|
||||||
|
fullConfigTemplateNode["burstObservatory"]["subjectSelector"] = JsonNode.Parse(JsonUtils.Serialize(subjectSelector.Distinct().ToList()));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
// Handle outbounds - append instead of override
|
// Handle outbounds - append instead of override
|
||||||
var customOutboundsNode = fullConfigTemplateNode["outbounds"] is JsonArray outbounds ? outbounds : new JsonArray();
|
var customOutboundsNode = fullConfigTemplateNode["outbounds"] is JsonArray outbounds ? outbounds : new JsonArray();
|
||||||
foreach (var outbound in v2rayConfig.outbounds)
|
foreach (var outbound in v2rayConfig.outbounds)
|
||||||
|
|
|
@ -173,13 +173,6 @@
|
||||||
Grid.Column="1"
|
Grid.Column="1"
|
||||||
Margin="{StaticResource Margin4}"
|
Margin="{StaticResource Margin4}"
|
||||||
HorizontalAlignment="Left" />
|
HorizontalAlignment="Left" />
|
||||||
<TextBlock
|
|
||||||
Grid.Row="8"
|
|
||||||
Grid.Column="2"
|
|
||||||
Margin="{StaticResource Margin4}"
|
|
||||||
VerticalAlignment="Center"
|
|
||||||
Text="{x:Static resx:ResUI.TbSBDoHOverride}"
|
|
||||||
TextWrapping="Wrap" />
|
|
||||||
</Grid>
|
</Grid>
|
||||||
</ScrollViewer>
|
</ScrollViewer>
|
||||||
</TabItem>
|
</TabItem>
|
||||||
|
|
|
@ -210,13 +210,6 @@
|
||||||
Grid.Column="1"
|
Grid.Column="1"
|
||||||
Margin="{StaticResource Margin8}"
|
Margin="{StaticResource Margin8}"
|
||||||
HorizontalAlignment="Left" />
|
HorizontalAlignment="Left" />
|
||||||
<TextBlock
|
|
||||||
Grid.Row="8"
|
|
||||||
Grid.Column="3"
|
|
||||||
Margin="{StaticResource Margin8}"
|
|
||||||
VerticalAlignment="Center"
|
|
||||||
Style="{StaticResource ToolbarTextBlock}"
|
|
||||||
Text="{x:Static resx:ResUI.TbSBDoHOverride}" />
|
|
||||||
</Grid>
|
</Grid>
|
||||||
</ScrollViewer>
|
</ScrollViewer>
|
||||||
</TabItem>
|
</TabItem>
|
||||||
|
|
Loading…
Reference in a new issue