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; ret.Success = true;
var customConfig = await AppHandler.Instance.GetCustomConfigItem(ECoreType.sing_box); 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); customConfigItem = customConfig.TunConfig;
//if (customConfigObj != null) }
//{ if (customConfig.Enabled && (!customConfigItem.IsNullOrEmpty()))
// customConfigObj.outbounds = JsonUtils.DeepCopy(singboxConfig.outbounds); {
// singboxConfig = customConfigObj; var customConfigNode = JsonNode.Parse(customConfigItem);
//}
// skip deserialize
var customConfigNode = JsonNode.Parse(customConfig.Config);
if (customConfigNode != null) if (customConfigNode != null)
{ {
// customConfigNode["outbounds"] = JsonNode.Parse(JsonUtils.Serialize(singboxConfig.outbounds));
// append outbounds instead of override
if (customConfigNode["outbounds"] is JsonArray customOutboundsNode) if (customConfigNode["outbounds"] is JsonArray customOutboundsNode)
{ {
if (JsonNode.Parse(JsonUtils.Serialize(singboxConfig.outbounds)) is JsonArray newOutbounds) 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 (customConfigNode["endpoints"] is JsonArray customEndpointsNode)
{ {
if (singboxConfig.endpoints != null && JsonNode.Parse(JsonUtils.Serialize(singboxConfig.endpoints)) is JsonArray newEndpoints) if (singboxConfig.endpoints != null && JsonNode.Parse(JsonUtils.Serialize(singboxConfig.endpoints)) is JsonArray newEndpoints)
@ -482,20 +476,16 @@ public class CoreConfigSingboxService
ret.Success = true; ret.Success = true;
var customConfig = await AppHandler.Instance.GetCustomConfigItem(ECoreType.sing_box); 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); customConfigItem = customConfig.TunConfig;
//if (customConfigObj != null) }
//{ if (customConfig.Enabled && (!customConfigItem.IsNullOrEmpty()))
// customConfigObj.outbounds = JsonUtils.DeepCopy(singboxConfig.outbounds); {
// singboxConfig = customConfigObj; var customConfigNode = JsonNode.Parse(customConfigItem);
//}
// skip deserialize
var customConfigNode = JsonNode.Parse(customConfig.Config);
if (customConfigNode != null) if (customConfigNode != null)
{ {
// customConfigNode["outbounds"] = JsonNode.Parse(JsonUtils.Serialize(singboxConfig.outbounds));
// append outbounds instead of override
if (customConfigNode["outbounds"] is JsonArray customOutboundsNode) if (customConfigNode["outbounds"] is JsonArray customOutboundsNode)
{ {
if (JsonNode.Parse(JsonUtils.Serialize(singboxConfig.outbounds)) is JsonArray newOutbounds) 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 (customConfigNode["endpoints"] is JsonArray customEndpointsNode)
{ {
if (singboxConfig.endpoints != null && JsonNode.Parse(JsonUtils.Serialize(singboxConfig.endpoints)) is JsonArray newEndpoints) 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); var customConfig = await AppHandler.Instance.GetCustomConfigItem(ECoreType.Xray);
if (customConfig.Enabled && (!customConfig.Config.IsNullOrEmpty())) 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); var customConfigNode = JsonNode.Parse(customConfig.Config);
if (customConfigNode != null) if (customConfigNode != null)
{ {
//customConfigNode["outbounds"] = JsonNode.Parse(JsonUtils.Serialize(v2rayConfig.outbounds));
// append outbounds instead of override
if (customConfigNode["outbounds"] is JsonArray customOutboundsNode) if (customConfigNode["outbounds"] is JsonArray customOutboundsNode)
{ {
if (JsonNode.Parse(JsonUtils.Serialize(v2rayConfig.outbounds)) is JsonArray newOutbounds) 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); var customConfig = await AppHandler.Instance.GetCustomConfigItem(ECoreType.Xray);
if (customConfig.Enabled && (!customConfig.Config.IsNullOrEmpty())) 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); var customConfigNode = JsonNode.Parse(customConfig.Config);
if (customConfigNode != null) if (customConfigNode != null)
{ {