DHR60 2025-07-27 16:49:27 +08:00
parent ee1d0c0e44
commit aa4f11c982
2 changed files with 14 additions and 50 deletions

View File

@ -86,21 +86,16 @@ public class CoreConfigSingboxService
ret.Success = true;
var customConfig = await AppHandler.Instance.GetCustomConfigItem(ECoreType.sing_box);
if (customConfig.Enabled && (!customConfig.Config.IsNullOrEmpty()))
var customConfigItem = customConfig.Config;
if (_config.TunModeItem.EnableTun)
{
//var customConfigObj = JsonUtils.Deserialize<SingboxConfig>(customConfig.Config);
//if (customConfigObj != null)
//{
// customConfigObj.outbounds = JsonUtils.DeepCopy(singboxConfig.outbounds);
// singboxConfig = customConfigObj;
//}
// skip deserialize
var customConfigNode = JsonNode.Parse(customConfig.Config);
customConfigItem = customConfig.TunConfig;
}
if (customConfig.Enabled && (!customConfigItem.IsNullOrEmpty()))
{
var customConfigNode = JsonNode.Parse(customConfigItem);
if (customConfigNode != null)
{
// customConfigNode["outbounds"] = JsonNode.Parse(JsonUtils.Serialize(singboxConfig.outbounds));
// append outbounds instead of override
if (customConfigNode["outbounds"] is JsonArray customOutboundsNode)
{
if (JsonNode.Parse(JsonUtils.Serialize(singboxConfig.outbounds)) is JsonArray newOutbounds)
@ -111,7 +106,6 @@ public class CoreConfigSingboxService
}
}
}
// endpoints
if (customConfigNode["endpoints"] is JsonArray customEndpointsNode)
{
if (singboxConfig.endpoints != null && JsonNode.Parse(JsonUtils.Serialize(singboxConfig.endpoints)) is JsonArray newEndpoints)
@ -482,20 +476,16 @@ public class CoreConfigSingboxService
ret.Success = true;
var customConfig = await AppHandler.Instance.GetCustomConfigItem(ECoreType.sing_box);
if (customConfig.Enabled && (!customConfig.Config.IsNullOrEmpty()))
var customConfigItem = customConfig.Config;
if (_config.TunModeItem.EnableTun)
{
//var customConfigObj = JsonUtils.Deserialize<SingboxConfig>(customConfig.Config);
//if (customConfigObj != null)
//{
// customConfigObj.outbounds = JsonUtils.DeepCopy(singboxConfig.outbounds);
// singboxConfig = customConfigObj;
//}
// skip deserialize
var customConfigNode = JsonNode.Parse(customConfig.Config);
customConfigItem = customConfig.TunConfig;
}
if (customConfig.Enabled && (!customConfigItem.IsNullOrEmpty()))
{
var customConfigNode = JsonNode.Parse(customConfigItem);
if (customConfigNode != null)
{
// customConfigNode["outbounds"] = JsonNode.Parse(JsonUtils.Serialize(singboxConfig.outbounds));
// append outbounds instead of override
if (customConfigNode["outbounds"] is JsonArray customOutboundsNode)
{
if (JsonNode.Parse(JsonUtils.Serialize(singboxConfig.outbounds)) is JsonArray newOutbounds)
@ -506,7 +496,6 @@ public class CoreConfigSingboxService
}
}
}
// endpoints
if (customConfigNode["endpoints"] is JsonArray customEndpointsNode)
{
if (singboxConfig.endpoints != null && JsonNode.Parse(JsonUtils.Serialize(singboxConfig.endpoints)) is JsonArray newEndpoints)

View File

@ -73,18 +73,9 @@ public class CoreConfigV2rayService
var customConfig = await AppHandler.Instance.GetCustomConfigItem(ECoreType.Xray);
if (customConfig.Enabled && (!customConfig.Config.IsNullOrEmpty()))
{
//var customConfigObj = JsonUtils.Deserialize<V2rayConfig>(customConfig.Config);
//if (customConfigObj != null)
//{
// customConfigObj.outbounds = JsonUtils.DeepCopy(v2rayConfig.outbounds);
// v2rayConfig = customConfigObj;
//}
// spik deserialize
var customConfigNode = JsonNode.Parse(customConfig.Config);
if (customConfigNode != null)
{
//customConfigNode["outbounds"] = JsonNode.Parse(JsonUtils.Serialize(v2rayConfig.outbounds));
// append outbounds instead of override
if (customConfigNode["outbounds"] is JsonArray customOutboundsNode)
{
if (JsonNode.Parse(JsonUtils.Serialize(v2rayConfig.outbounds)) is JsonArray newOutbounds)
@ -234,22 +225,6 @@ public class CoreConfigV2rayService
var customConfig = await AppHandler.Instance.GetCustomConfigItem(ECoreType.Xray);
if (customConfig.Enabled && (!customConfig.Config.IsNullOrEmpty()))
{
//var customConfigObj = JsonUtils.Deserialize<V2rayConfig>(customConfig.Config);
//if (customConfigObj != null)
//{
// foreach (var rule in customConfigObj.routing.rules)
// {
// if (rule.outboundTag == Global.ProxyTag)
// {
// rule.outboundTag = null;
// rule.balancerTag = balancer.tag;
// }
// }
// customConfigObj.routing.balancers = JsonUtils.DeepCopy(v2rayConfig.routing.balancers);
// customConfigObj.outbounds = JsonUtils.DeepCopy(v2rayConfig.outbounds);
// v2rayConfig = customConfigObj;
//}
// skip deserialize
var customConfigNode = JsonNode.Parse(customConfig.Config);
if (customConfigNode != null)
{