Added global constants such as IPIfNonMatch

pull/7770/head
2dust 2025-08-14 20:18:22 +08:00
parent dcc9c9fa14
commit 89d6af8fc9
6 changed files with 16 additions and 10 deletions

View File

@ -57,6 +57,9 @@ public class Global
public const string HttpsProtocol = "https://";
public const string SocksProtocol = "socks://";
public const string Socks5Protocol = "socks5://";
public const string AsIs = "AsIs";
public const string IPIfNonMatch = "IPIfNonMatch";
public const string IPOnDemand = "IPOnDemand";
public const string UserEMail = "t@t.tt";
public const string AutoRunRegPath = @"Software\Microsoft\Windows\CurrentVersion\Run";
@ -288,9 +291,9 @@ public class Global
public static readonly List<string> DomainStrategies =
[
"AsIs",
"IPIfNonMatch",
"IPOnDemand"
AsIs,
IPIfNonMatch,
IPOnDemand
];
public static readonly List<string> DomainStrategies4Singbox =

View File

@ -2262,6 +2262,7 @@ public class ConfigHandler
return 0;
}
public static async Task<int> SaveFullConfigTemplate(Config config, FullConfigTemplateItem item)
{
if (item == null)

View File

@ -1329,7 +1329,7 @@ public class CoreConfigSingboxService
action = "resolve",
strategy = domainStrategy
};
if (_config.RoutingBasicItem.DomainStrategy == "IPOnDemand")
if (_config.RoutingBasicItem.DomainStrategy == Global.IPOnDemand)
{
singboxConfig.route.rules.Add(resolveRule);
}
@ -1351,7 +1351,7 @@ public class CoreConfigSingboxService
}
}
}
if (_config.RoutingBasicItem.DomainStrategy == "IPIfNonMatch")
if (_config.RoutingBasicItem.DomainStrategy == Global.IPIfNonMatch)
{
singboxConfig.route.rules.Add(resolveRule);
foreach (var item2 in ipRules)

View File

@ -177,7 +177,7 @@ public class CoreConfigV2rayService
rule.balancerTag = balancer.tag;
}
}
if (v2rayConfig.routing.domainStrategy == "IPIfNonMatch")
if (v2rayConfig.routing.domainStrategy == Global.IPIfNonMatch)
{
v2rayConfig.routing.rules.Add(new()
{
@ -1145,7 +1145,7 @@ public class CoreConfigV2rayService
{
var result = await GenDnsCompatible(node, v2rayConfig);
if (v2rayConfig.routing.domainStrategy == "IPIfNonMatch")
if (v2rayConfig.routing.domainStrategy == Global.IPIfNonMatch)
{
// DNS routing
v2rayConfig.dns.tag = Global.DnsTag;
@ -1179,7 +1179,7 @@ public class CoreConfigV2rayService
await GenDnsServers(node, v2rayConfig, simpleDNSItem);
await GenDnsHosts(v2rayConfig, simpleDNSItem);
if (v2rayConfig.routing.domainStrategy == "IPIfNonMatch")
if (v2rayConfig.routing.domainStrategy == Global.IPIfNonMatch)
{
// DNS routing
v2rayConfig.dns.tag = Global.DnsTag;

View File

@ -1,12 +1,13 @@
using System.Reactive;
using DynamicData.Binding;
using ReactiveUI;
using ReactiveUI.Fody.Helpers;
namespace ServiceLib.ViewModels;
public class FullConfigTemplateViewModel : MyReactiveObject
{
#region Reactive
[Reactive]
public bool EnableFullConfigTemplate4Ray { get; set; }
@ -35,6 +36,7 @@ public class FullConfigTemplateViewModel : MyReactiveObject
public string ProxyDetour4Singbox { get; set; }
public ReactiveCommand<Unit, Unit> SaveCmd { get; }
#endregion Reactive
public FullConfigTemplateViewModel(Func<EViewAction, object?, Task<bool>>? updateView)
@ -48,6 +50,7 @@ public class FullConfigTemplateViewModel : MyReactiveObject
_ = Init();
}
private async Task Init()
{
var item = await AppHandler.Instance.GetFullConfigTemplateItem(ECoreType.Xray);

View File

@ -1246,4 +1246,3 @@
</TabControl>
</DockPanel>
</base:WindowBase>