Example #1
0
        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);
        }
Example #3
0
        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();
            }
        }
Example #4
0
        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();
            }
        }