Example #1
0
        public CoreServSettings(VgcApis.Interfaces.ICoreServCtrl coreServ) :
            this()
        {
            var cs = coreServ.GetCoreStates();

            index          = cs.GetIndex();
            mark           = cs.GetMark();
            remark         = cs.GetRemark();
            isAutorun      = cs.IsAutoRun();
            isUntrack      = cs.IsUntrack();
            isGlobalImport = cs.IsInjectGlobalImport();
            isBypassCnSite = cs.IsInjectSkipCnSite();
            inboundMode    = cs.GetInboundType();
            inboundAddress = cs.GetInboundAddr();

            try
            {
                var ccfg   = coreServ.GetConfiger();
                var cfg    = ccfg.GetConfig();
                var json   = JObject.Parse(cfg);
                var GetStr = Misc.Utils.GetStringByKeyHelper(json);
                serverName        = GetStr("v2raygcon.alias");
                serverDescription = GetStr("v2raygcon.description");
            }
            catch { }
        }
Example #2
0
        Models.StatsResult GetterCoreInfo(VgcApis.Interfaces.ICoreServCtrl coreCtrl)
        {
            var result = new Models.StatsResult();

            result.title = coreCtrl.GetCoreStates().GetTitle();
            result.uid   = coreCtrl.GetCoreStates().GetUid();

            var curData = coreCtrl.GetCoreCtrl().TakeStatisticsSample();

            if (curData != null)
            {
                result.stamp     = curData.stamp;
                result.totalUp   = curData.statsUplink;
                result.totalDown = curData.statsDownlink;
            }
            return(result);
        }
Example #3
0
        int SpeedTestComparer(
            VgcApis.Interfaces.ICoreServCtrl a,
            VgcApis.Interfaces.ICoreServCtrl b)
        {
            var spa = a.GetCoreStates().GetSpeedTestResult();
            var spb = b.GetCoreStates().GetSpeedTestResult();

            return(spa.CompareTo(spb));
        }
Example #4
0
        int UtcTicksDecComparer(
            VgcApis.Interfaces.ICoreServCtrl a,
            VgcApis.Interfaces.ICoreServCtrl b)
        {
            var ticksA = a.GetCoreStates().GetLastModifiedUtcTicks();
            var ticksB = b.GetCoreStates().GetLastModifiedUtcTicks();

            return(ticksB.CompareTo(ticksA));
        }
Example #5
0
        int UploadTotalDecComparer(
            VgcApis.Interfaces.ICoreServCtrl a,
            VgcApis.Interfaces.ICoreServCtrl b)
        {
            var ticksA = a.GetCoreStates().GetUplinkTotalInBytes();
            var ticksB = b.GetCoreStates().GetUplinkTotalInBytes();

            return(ticksB.CompareTo(ticksA));
        }
Example #6
0
        int ReverseIndexComparer(
            VgcApis.Interfaces.ICoreServCtrl a,
            VgcApis.Interfaces.ICoreServCtrl b)
        {
            var idxA = a.GetCoreStates().GetIndex();
            var idxB = b.GetCoreStates().GetIndex();

            return(idxB.CompareTo(idxA));
        }
Example #7
0
        int SummaryComparer(
            VgcApis.Interfaces.ICoreServCtrl a,
            VgcApis.Interfaces.ICoreServCtrl b)
        {
            var sma = a.GetCoreStates().GetSummary();
            var smb = b.GetCoreStates().GetSummary();

            var rsma = VgcApis.Misc.Utils.ReverseSummary(sma);
            var rsmb = VgcApis.Misc.Utils.ReverseSummary(smb);

            return(rsma.CompareTo(rsmb));
        }
Example #8
0
        void ModifyServerSetting(
            ref VgcApis.Interfaces.ICoreServCtrl serverCtrl,
            int newMode, string newIP, int newPort,
            string newMark, string newRemark, int newAutorun, int newImport, int newSkipCN)
        {
            var server = serverCtrl.GetCoreStates().GetAllRawCoreInfo();

            if (newSkipCN >= 0)
            {
                server.isInjectSkipCNSite = newSkipCN == 0;
            }

            if (newAutorun >= 0)
            {
                server.isAutoRun = newAutorun == 0;
            }

            if (newImport >= 0)
            {
                server.isInjectImport = newImport == 0;
            }

            if (newMode >= 0)
            {
                server.customInbType = newMode;
            }

            if (newIP != null)
            {
                server.inbIp = newIP;
            }
            if (newPort >= 0)
            {
                server.inbPort = newPort;
            }

            if (newMark != null)
            {
                server.customMark = newMark;
            }

            if (!string.IsNullOrEmpty(newRemark))
            {
                server.customRemark = newRemark;
            }
        }
Example #9
0
        private void btnOK_Click(object sender, EventArgs e)
        {
            var vee = this.veeConfigerUI1.ToVeeShareLink();

            if (coreServ == null)
            {
                slinkMgr.ImportLinkWithOutV2cfgLinks(vee);
                this.Close();
                return;
            }

            if (VgcApis.Misc.UI.Confirm(I18N.ConfirmClearOrgServCfg))
            {
                var server = Services.Servers.Instance;
                var config = slinkMgr.DecodeShareLinkToConfig(vee);
                var uid    = coreServ.GetCoreStates().GetUid();
                server.ReplaceOrAddNewServer(uid, config);
                this.Close();
            }
        }
Example #10
0
        public void LoadCoreServer(VgcApis.Interfaces.ICoreServCtrl coreServ)
        {
            this.coreServ = coreServ;
            VgcApis.Misc.UI.Invoke(() =>
            {
                if (this.coreServ == null)
                {
                    lbTitle.Visible          = false;
                    linkConfigEditor.Visible = true;
                    return;
                }

                var title                = coreServ.GetCoreStates().GetTitle();
                lbTitle.Text             = title;
                lbTitle.Visible          = true;
                linkConfigEditor.Visible = false;
                var config               = coreServ.GetConfiger().GetConfig();
                this.veeConfigerUI1.FromCoreConfig(config);
            });
        }
Example #11
0
        private ToolStripMenuItem CoreServ2MenuItem(VgcApis.Interfaces.ICoreServCtrl coreServ)
        {
            var coreState = coreServ.GetCoreStates();

            var dely  = coreState.GetSpeedTestResult();
            var title = coreState.GetTitle();

            if (dely == SpeedtestTimeout)
            {
                title = $"{title} - ({I18N.Timeout})";
            }
            else if (dely > 0)
            {
                title = $"{title} - ({dely}ms)";
            }

            Action done    = () => coreServ.GetCoreCtrl().RestartCoreThen();
            Action onClick = () => servers.StopAllServersThen(done);
            var    item    = new ToolStripMenuItem(title, null, (s, a) => onClick());

            item.Checked = coreServ.GetCoreCtrl().IsCoreRunning();
            return(item);
        }
Example #12
0
 public string GetTitle() => coreServCtrl.GetCoreStates().GetTitle();