Exemplo n.º 1
0
        private void ServerItem_Click(object sender, EventArgs e)
        {
            var item  = sender as MenuItem;
            var index = item.Index;

            if (!item.Checked)
            {
                item.Checked = true;
                item.Parent.MenuItems[Setting.ActiveServerIndex].Checked = false;
            }

            Launcher.ActivateServer(index);
            UpdateText();
        }
Exemplo n.º 2
0
        private void buttonSave_Click(object sender, EventArgs e)
        {
            if (!SyncChange())
            {
                return;
            }

            var newServers     = servers.ToList();
            var activeServerId = Setting.ActiveServer?.Id;

            Launcher.UpdateServers(newServers);
            if (activeServerId != null)
            {
                var activeServerIndex = newServers.FindIndex(server => server.Id.Equals(activeServerId));
                Launcher.ActivateServer(activeServerIndex);
            }
            else
            {
                Launcher.ActivateServer(0);
            }
            buttonClose_Click(sender, e);
        }
Exemplo n.º 3
0
        private void buttonSave_Click(object sender, EventArgs e)
        {
            bool changed      = false;
            bool restartV2Ray = false;
            bool restartPAC   = false;
            bool updatePAC    = false;

            if (textBoxGFWListURL.Text != Setting.GFWListURL)
            {
                changed            = true;
                Setting.GFWListURL = textBoxGFWListURL.Text;
            }

            if (checkBoxEnableAccessLog.Checked != Setting.EnableAccessLog)
            {
                changed = restartV2Ray = true;
                Setting.EnableAccessLog = checkBoxEnableAccessLog.Checked;
            }

            if (checkBoxEnableErrorLog.Checked != Setting.EnableErrorLog)
            {
                changed = restartV2Ray = true;
                Setting.EnableErrorLog = checkBoxEnableErrorLog.Checked;
            }

            if (checkBoxAutoStart.Checked != Setting.AutoStart)
            {
                changed = updatePAC = true;

                int exitCode = -1;
                if (checkBoxAutoStart.Checked)
                {
                    exitCode = AutoStart.Enable();
                }
                else
                {
                    exitCode = AutoStart.Disable();
                }

                if (exitCode == 0)
                {
                    Setting.AutoStart = checkBoxAutoStart.Checked;
                }
            }

            if (comboBoxLogLevel.SelectedIndex != (int)Setting.LogLevel)
            {
                changed          = restartV2Ray = true;
                Setting.LogLevel = (LogLevel)comboBoxLogLevel.SelectedIndex;
            }

            if (checkBoxAcceptLAN.Checked != Setting.AcceptLAN)
            {
                changed           = restartV2Ray = true;
                Setting.AcceptLAN = checkBoxAcceptLAN.Checked;
            }

            if (numericUpDownSock5Port.Value != Setting.SocksPort)
            {
                changed           = restartV2Ray = true;
                Setting.SocksPort = Convert.ToInt32(numericUpDownSock5Port.Value);
            }

            if (numericUpDownHTTPPort.Value != Setting.HttpPort)
            {
                changed          = restartV2Ray = true;
                Setting.HttpPort = Convert.ToInt32(numericUpDownHTTPPort.Value);
            }

            if (numericUpDownPACPort.Value != Setting.PacPort)
            {
                changed         = restartPAC = true;
                Setting.PacPort = Convert.ToInt32(numericUpDownPACPort.Value);
            }

            if (Setting.UpdateViaProxy != checkBoxUpdateViaProxy.Checked)
            {
                changed = true;
                Setting.UpdateViaProxy = checkBoxUpdateViaProxy.Checked;
            }


            if (changed)
            {
                if (restartV2Ray)
                {
                    Launcher.ActivateServer(Setting.ActiveServerIndex);
                }

                if (restartPAC)
                {
                    Launcher.Pac.Start();
                    if (Setting.Mode == Model.ProxyMode.PAC)
                    {
                        Launcher.SwitchProxyMode(Model.ProxyMode.PAC);
                    }
                }

                if (updatePAC)
                {
                    Launcher.GetGFWList(Setting.GFWListURL);
                }
                Setting.Save();
            }
            Close();
        }