bool SetCustomInboundInfo(CoreServSettings cs) { var ci = coreInfo; var restartCore = false; if (cs.inboundMode != ci.customInbType) { ci.customInbType = Misc.Utils.Clamp(cs.inboundMode, 0, Models.Datas.Table.customInbTypeNames.Length); restartCore = true; } if (VgcApis.Misc.Utils.TryParseAddress(cs.inboundAddress, out var ip, out var port)) { if (ci.inbIp != ip) { ci.inbIp = ip; restartCore = true; } if (ci.inbPort != port) { ci.inbPort = port; restartCore = true; } } return(restartCore); }
bool SetCustomInboundInfo(CoreServSettings cs) { var ci = coreInfo; var restartCore = false; if (cs.inboundMode != ci.customInbType) { ci.customInbType = Math.Abs(cs.inboundMode) % 3; restartCore = true; } if (VgcApis.Misc.Utils.TryParseAddress(cs.inboundAddress, out var ip, out var port)) { if (ci.inbIp != ip) { ci.inbIp = ip; restartCore = true; } if (ci.inbPort != port) { ci.inbPort = port; restartCore = true; } } return(restartCore); }
public void UpdateCoreSettings(CoreServSettings coreServSettings) { if (isDisposed) { return; } var cs = coreServSettings; var ci = coreInfo; SetServerNameAndDescription(cs.serverName, cs.serverDescription); ci.customMark = cs.mark; ci.customRemark = cs.remark; ci.isAutoRun = cs.isAutorun; ci.isUntrack = cs.isUntrack; bool restartCore = SetCustomInboundInfo(cs); if (ci.isInjectImport != cs.isGlobalImport || ci.isInjectSkipCNSite != cs.isBypassCnSite) { restartCore = true; } ci.isInjectImport = cs.isGlobalImport; ci.isInjectSkipCNSite = cs.isBypassCnSite; GetConfiger().UpdateSummary(); if (restartCore && GetCoreCtrl().IsCoreRunning()) { GetCoreCtrl().RestartCore(); } }
public void UpdateCoreSettings(CoreServSettings coreServSettings) { if (isDisposed) { return; } var cs = coreServSettings; var ci = coreInfo; SetServerNameAndDescription(cs.serverName, cs.serverDescription); ci.customMark = cs.mark; ci.customRemark = cs.remark; ci.isAutoRun = cs.isAutorun; ci.isUntrack = cs.isUntrack; bool indexChanged = false; if ((int)ci.index != (int)cs.index) { indexChanged = true; var dt = ci.index > cs.index ? -0.01 : +0.01; ci.index = cs.index + dt; } bool restartCore = SetCustomInboundInfo(cs); if (ci.isInjectImport != cs.isGlobalImport || ci.isInjectSkipCNSite != cs.isBypassCnSite) { restartCore = true; } ci.isInjectImport = cs.isGlobalImport; ci.isInjectSkipCNSite = cs.isBypassCnSite; GetConfiger().UpdateSummary(); if (indexChanged) { serverServ.RequireFormMainReload(); } if (restartCore && GetCoreCtrl().IsCoreRunning()) { GetCoreCtrl().RestartCore(); } }