Exemple #1
0
 private void chkAutoRun_CheckedChanged(object sender, EventArgs e)
 {
     if (!AutoStartup.Set(chkAutoRun.Checked))
     {
         MessageBox.Show("设置开机启动失败。");
     }
 }
Exemple #2
0
        private void LoadSelectedServer()
        {
            checkShareOverLan.Checked = _modifiedConfiguration.shareOverLan;
            ProxyPortTextBox.Text     = _modifiedConfiguration.localPort.ToString();
            ReconnectText.Text        = _modifiedConfiguration.reconnectTimes.ToString();

            checkAutoStartup.Checked     = AutoStartup.Check();
            checkRandom.Checked          = _modifiedConfiguration.random;
            RandomComboBox.SelectedIndex = _modifiedConfiguration.randomAlgorithm;
            TTLText.Text     = _modifiedConfiguration.TTL.ToString();
            textTimeout.Text = _modifiedConfiguration.connect_timeout.ToString();
            DNSText.Text     = _modifiedConfiguration.dns_server;

            CheckSockProxy.Checked       = _modifiedConfiguration.proxyEnable;
            checkBoxPacProxy.Checked     = _modifiedConfiguration.pacDirectGoProxy;
            comboProxyType.SelectedIndex = _modifiedConfiguration.proxyType;
            TextS5Server.Text            = _modifiedConfiguration.proxyHost;
            TextS5Port.Text    = _modifiedConfiguration.proxyPort.ToString();
            TextS5User.Text    = _modifiedConfiguration.proxyAuthUser;
            TextS5Pass.Text    = _modifiedConfiguration.proxyAuthPass;
            TextUserAgent.Text = _modifiedConfiguration.proxyUserAgent;
            TextAuthUser.Text  = _modifiedConfiguration.authUser;
            TextAuthPass.Text  = _modifiedConfiguration.authPass;

            CheckAutoBan.Checked = _modifiedConfiguration.autoBan;
        }
        private void LoadSelectedServer()
        {
            checkShareOverLan.Checked = _modifiedConfiguration.shareOverLan;
            NumProxyPort.Value        = _modifiedConfiguration.localPort;
            NumReconnect.Value        = _modifiedConfiguration.reconnectTimes;

            checkAutoStartup.Checked = AutoStartup.Check();
            checkRandom.Checked      = _modifiedConfiguration.random;
            if (_modifiedConfiguration.randomAlgorithm >= 0 && _modifiedConfiguration.randomAlgorithm < RandomComboBox.Items.Count)
            {
                RandomComboBox.SelectedIndex = _modifiedConfiguration.randomAlgorithm;
            }
            else
            {
                RandomComboBox.SelectedIndex = (int)ServerSelectStrategy.SelectAlgorithm.LowException;
            }
            checkBalanceInGroup.Checked = _modifiedConfiguration.randomInGroup;
            NumTTL.Value     = _modifiedConfiguration.TTL;
            NumTimeout.Value = _modifiedConfiguration.connectTimeout;
            DNSText.Text     = _modifiedConfiguration.dnsServer;

            CheckSockProxy.Checked       = _modifiedConfiguration.proxyEnable;
            checkBoxPacProxy.Checked     = _modifiedConfiguration.pacDirectGoProxy;
            comboProxyType.SelectedIndex = _modifiedConfiguration.proxyType;
            TextS5Server.Text            = _modifiedConfiguration.proxyHost;
            NumS5Port.Value    = _modifiedConfiguration.proxyPort;
            TextS5User.Text    = _modifiedConfiguration.proxyAuthUser;
            TextS5Pass.Text    = _modifiedConfiguration.proxyAuthPass;
            TextUserAgent.Text = _modifiedConfiguration.proxyUserAgent;
            TextAuthUser.Text  = _modifiedConfiguration.authUser;
            TextAuthPass.Text  = _modifiedConfiguration.authPass;

            CheckAutoBan.Checked = _modifiedConfiguration.autoBan;
        }
Exemple #4
0
        private int SaveOldSelectedServer()
        {
            try
            {
                int localPort = int.Parse(ProxyPortTextBox.Text);
                Configuration.CheckPort(localPort);
                int ret = 0;
                _modifiedConfiguration.shareOverLan   = checkShareOverLan.Checked;
                _modifiedConfiguration.localPort      = localPort;
                _modifiedConfiguration.reconnectTimes = int.Parse(ReconnectText.Text);

                if (checkAutoStartup.Checked != AutoStartup.Check() && !AutoStartup.Set(checkAutoStartup.Checked))
                {
                    MessageBox.Show(I18N.GetString("Failed to update registry"));
                }
                _modifiedConfiguration.random          = checkRandom.Checked;
                _modifiedConfiguration.randomAlgorithm = RandomComboBox.SelectedIndex;
                _modifiedConfiguration.TTL             = int.Parse(TTLText.Text);
                _modifiedConfiguration.socks5enable    = CheckSocks5Proxy.Checked;
                _modifiedConfiguration.socks5Host      = TextS5Server.Text;
                _modifiedConfiguration.socks5Port      = int.Parse(TextS5Port.Text);
                _modifiedConfiguration.socks5User      = TextS5User.Text;
                _modifiedConfiguration.socks5Pass      = TextS5Pass.Text;

                _modifiedConfiguration.autoban = CheckAutoBan.Checked;

                return(ret);
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message);
            }
            return(-1); // ERROR
        }
        private int SaveOldSelectedServer()
        {
            try
            {
                int localPort = int.Parse(NumProxyPort.Text);
                Configuration.CheckPort(localPort);
                int ret = 0;
                _modifiedConfiguration.shareOverLan   = checkShareOverLan.Checked;
                _modifiedConfiguration.localPort      = localPort;
                _modifiedConfiguration.reconnectTimes = NumReconnect.Text.Length == 0 ? 0 : int.Parse(NumReconnect.Text);

                if (checkAutoStartup.Checked != AutoStartup.Check() && !AutoStartup.Set(checkAutoStartup.Checked))
                {
                    MessageBox.Show(I18N.GetString("Failed to update registry"), "ShadowsocksR",
                                    MessageBoxButtons.OK, MessageBoxIcon.Error);
                }
                _modifiedConfiguration.TTL            = Convert.ToInt32(NumTTL.Value);
                _modifiedConfiguration.connectTimeout = Convert.ToInt32(NumTimeout.Value);
                _modifiedConfiguration.authUser       = TextAuthUser.Text;
                _modifiedConfiguration.authPass       = TextAuthPass.Text;
                _modifiedConfiguration.dnsServer      = DNSText.Text;

                return(ret);
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message, ex.Source, MessageBoxButtons.OK, MessageBoxIcon.Error);
            }
            return(-1); // ERROR
        }
Exemple #6
0
 private void AutoStartupItem_Click(object sender, EventArgs e)
 {
     AutoStartupItem.Checked = !AutoStartupItem.Checked;
     if (!AutoStartup.Set(AutoStartupItem.Checked))
     {
         MessageBox.Show("Failed to edit registry");
     }
 }
Exemple #7
0
 private void AutoStartup_click(object sender, EventArgs e)
 {
     _autoStartupItem.Checked = !_autoStartupItem.Checked;
     if (!AutoStartup.Set(_autoStartupItem.Checked))
     {
         MessageBox.Show("Failed to update registry");
     }
 }
Exemple #8
0
 private void AutoStartupCheckBox_CheckedChanged(object sender, RoutedEventArgs e)
 {
     if (!AutoStartup.Set(AutoStartupCheckBox.IsChecked.GetValueOrDefault()))
     {
         MessageBox.Show(@"设置失败", @"错误", MessageBoxButton.OK, MessageBoxImage.Error);
         AutoStartupCheckBox.IsChecked = !AutoStartupCheckBox.IsChecked;
     }
 }
 private void AutoStartupCheckBox_CheckedChanged(object sender, EventArgs e)
 {
     if (!AutoStartup.Set(AutoStartupCheckBox.Checked))
     {
         MessageBox.Show(@"设置失败", @"错误", MessageBoxButtons.OK, MessageBoxIcon.Error);
         AutoStartupCheckBox.Checked = !AutoStartupCheckBox.Checked;
     }
 }
 private void AutoStartupItem_Click(object sender, EventArgs e)
 {
     AutoStartupItem.Checked = !AutoStartupItem.Checked;
     if (!AutoStartup.Set(AutoStartupItem.Checked))
     {
         MessageBox.Show(I18N.GetString("Failed to update registry"));
     }
 }
Exemple #11
0
 private void LoadConfiguration(Configuration config)
 {
     _enableItem.Checked      = config.Enabled;
     _autoStartupItem.Checked = AutoStartup.Check();
     if (!config.Initialized || string.IsNullOrEmpty(config.DropbopxPath))
     {
         ShowConfigForm();
     }
 }
        private void LoadCurrentConfiguration()
        {
            Configuration config = controller.ConfigController.GetConfigurationCopy();

            UpdateServersMenu();
            enableItem.Checked         = config.enabled;
            autoStartupItem.Checked    = AutoStartup.Check();
            verboseLoggingItem.Checked = config.verbose;
        }
        private void LoadCurrentConfiguration()
        {
            Configuration config = controller.GetConfiguration();

            UpdateServersMenu();
            enableItem.Checked       = config.enabled;
            ShareOverLANItem.Checked = config.shareOverLan;
            AutoStartupItem.Checked  = AutoStartup.Check();
        }
Exemple #14
0
        public void Enabled_ShouldRemove_StartupRecord_WhenItExists()
        {
            _startupRecord.Exists().Returns(true);
            var startup = new AutoStartup(_startupRecord);

            startup.Enabled = false;

            _startupRecord.Received().Remove();
        }
Exemple #15
0
        private void LoadCurrentConfiguration()
        {
            Configuration config = controller.GetConfigurationCopy();

            UpdateServersMenu();
            ShareOverLANItem.Checked       = config.shareOverLan;
            AutoStartupItem.Checked        = AutoStartup.Check();
            AvailabilityStatistics.Checked = config.availabilityStatistics;
        }
Exemple #16
0
        public void Enabled_ShouldCreate_StartupRecord_WhenItNotExists()
        {
            _startupRecord.Exists().Returns(false);
            var startup = new AutoStartup(_startupRecord);

            startup.Enabled = true;

            _startupRecord.Received().Create();
        }
Exemple #17
0
        public void Enabled_ShouldBe_StartupRecord_Exists(bool value)
        {
            _startupRecord.Exists().Returns(value);
            var startup = new AutoStartup(_startupRecord);

            var result = startup.Enabled;

            _startupRecord.Received().Exists();
            result.Should().Be(value);
        }
Exemple #18
0
        public void Enabled_ShouldNotCreate_StartupRecord_WhenItExists_AndIsValid()
        {
            _startupRecord.Exists().Returns(true);
            _startupRecord.Valid().Returns(true);
            var startup = new AutoStartup(_startupRecord);

            startup.Enabled = true;

            _startupRecord.DidNotReceive().Create();
        }
 private void LoadCurrentConfiguration()
 {
     SettingViewModel.ReadConfig();
     SettingViewModel.ModifiedConfiguration.PropertyChanged += (o, args) =>
     {
         ApplyButton.IsEnabled = true;
     };
     AutoStartupCheckBox.IsChecked = AutoStartup.Check();
     Title = $@"{this.GetWindowStringValue(@"Title")}({(Global.GuiConfig.ShareOverLan ? this.GetWindowStringValue(@"Any") : this.GetWindowStringValue(@"Local"))}:{Global.GuiConfig.LocalPort} {this.GetWindowStringValue(@"Version")}:{UpdateChecker.FullVersion})";
     ApplyButton.IsEnabled = false;
 }
Exemple #20
0
        private void App_OnStartup(object sender, StartupEventArgs e)
        {
            Directory.SetCurrentDirectory(Path.GetDirectoryName(Utils.Utils.GetExecutablePath()));
            if (e.Args.Contains(Constants.ParameterSetAutoRun))
            {
                if (!AutoStartup.Switch())
                {
                    Environment.Exit(1);
                }
                Current.Shutdown();
                return;
            }

            var identifier     = $@"Global\{UpdateChecker.Name}_{Directory.GetCurrentDirectory().GetDeterministicHashCode()}";
            var singleInstance = new SingleInstance(identifier);

            if (!singleInstance.IsFirstInstance)
            {
                singleInstance.PassArgumentsToFirstInstance(e.Args.Append(Constants.ParameterShow));
                Current.Shutdown();
                return;
            }
            singleInstance.ArgumentsReceived += SingleInstance_ArgumentsReceived;
            singleInstance.ListenForArgumentsFromSuccessiveInstances();

            GlobalConfig.Load();
            Current.DispatcherUnhandledException += (o, args) =>
            {
                if (Interlocked.Increment(ref _exited) == 1)
                {
                    MessageBox.Show($@"未捕获异常:{args.Exception}", UpdateChecker.Name, MessageBoxButton.OK, MessageBoxImage.Error);
                    Log.ForceLog(args.Exception.ToString());
                    GlobalConfig.Save();
                    singleInstance.Dispose();
                    Current.Shutdown();
                }
            };
            Current.Exit += (o, args) =>
            {
                Utils.Utils.KillFFmpeg();
                singleInstance.Dispose();
                GlobalConfig.Save();
            };

            CheckUpdateAsync();

            MainWindow = new MainWindow();
            if (!e.Args.Contains(Constants.ParameterSilent))
            {
                MainWindow.Show();
            }
        }
        private void LoadCurrentConfiguration()
        {
            Configuration config = controller.ConfigController.GetConfigurationCopy();

            UpdateServersMenu();
            UpdateAboutMenu();
            enableItem.Checked                     = config.enabled;
            autoStartupItem.Checked                = AutoStartup.Check();
            verboseLoggingItem.Checked             = config.verbose;
            checkGUIUpdateAtStartupItem.Checked    = config.check_gui_update;
            checkKcpTunUpdateAtStartupItem.Checked = config.check_kcptun_update;
            upgradeKcpTunAtStartupItem.Checked     = config.auto_upgrade_kcptun;
        }
Exemple #22
0
        private void MainWindow_OnLoaded(object sender, RoutedEventArgs e)
        {
            #region CloseReasonHack

            if (PresentationSource.FromDependencyObject(this) is HwndSource source)
            {
                source.AddHook(WindowProc);
            }

            #endregion

            AutoStartupCheckBox.IsChecked = AutoStartup.Check();
        }
        private void LoadSelectedServer()
        {
            checkShareOverLan.Checked = _modifiedConfiguration.shareOverLan;
            NumProxyPort.Value        = _modifiedConfiguration.localPort;
            NumReconnect.Value        = _modifiedConfiguration.reconnectTimes;

            checkAutoStartup.Checked = AutoStartup.Check();
            NumTTL.Value             = _modifiedConfiguration.TTL;
            NumTimeout.Value         = _modifiedConfiguration.connectTimeout;
            DNSText.Text             = _modifiedConfiguration.dnsServer;

            TextAuthUser.Text = _modifiedConfiguration.authUser;
            TextAuthPass.Text = _modifiedConfiguration.authPass;
        }
        private void SaveConfig()
        {
            if (SettingViewModel.ModifiedConfiguration.LangName != Global.GuiConfig.LangName)
            {
                MessageBox.Show(this.GetWindowStringValue(@"RestartRequired"), UpdateChecker.Name, MessageBoxButton.OK);
            }
            _controller.SaveServersConfig(SettingViewModel.ModifiedConfiguration, true);
            var isAutoStartup = AutoStartupCheckBox.IsChecked.GetValueOrDefault();

            if (isAutoStartup != AutoStartup.Check() &&
                !AutoStartup.Set(isAutoStartup))
            {
                MessageBox.Show(this.GetWindowStringValue(@"FailAutoStartUp"), UpdateChecker.Name, MessageBoxButton.OK);
            }
        }
        private void LoadCurrentConfiguration()
        {
            Configuration config = controller.GetConfigurationCopy();

            UpdateServersMenu();
            UpdateSystemProxyItemsEnabledStatus(config);
            ShareOverLANItem.Checked            = config.shareOverLan;
            VerboseLoggingToggleItem.Checked    = config.isVerboseLogging;
            AutoStartupItem.Checked             = AutoStartup.Check();
            onlinePACItem.Checked               = onlinePACItem.Enabled && config.useOnlinePac;
            localPACItem.Checked                = !onlinePACItem.Checked;
            secureLocalPacUrlToggleItem.Checked = config.secureLocalPac;
            UpdatePACItemsEnabledStatus();
            UpdateUpdateMenu();
        }
Exemple #26
0
        private void LoadCurrentConfiguration()
        {
            Configuration config = controller.GetConfiguration();

            UpdateServersMenu();
            enableItem.Checked       = config.enabled;
            modeItem.Enabled         = config.enabled;
            globalModeItem.Checked   = config.global;
            PACModeItem.Checked      = !config.global;
            ShareOverLANItem.Checked = config.shareOverLan;
            AutoStartupItem.Checked  = AutoStartup.Check();
            onlinePACItem.Enabled    = !string.IsNullOrEmpty(config.pacUrl);
            onlinePACItem.Checked    = onlinePACItem.Enabled && config.useOnlinePac;
            localPACItem.Checked     = !onlinePACItem.Checked;
        }
        private void AutoStartupItemClick(object sender, EventArgs e)
        {
            bool rc = false;

            try
            {
                AutoStartup.Set(!_autoStartupItem.Checked);
                rc = !_autoStartupItem.Checked;
            }
            catch (Exception)
            {
                MessageBox.Show("Failed to update registry", "Xsocks", MessageBoxButtons.OK, MessageBoxIcon.Error);
            }
            _autoStartupItem.Checked = rc;
        }
        private void LoadCurrentConfiguration()
        {
            var config = _controller.GetConfiguration();

            UpdateServersMenu();
            _enableItem.Checked       = config.Enabled;
            _modeItem.Enabled         = config.Enabled;
            _globalModeItem.Checked   = config.Global;
            _pacModeItem.Checked      = !config.Global;
            _shareOverLanItem.Checked = config.ShareOverLan;
            _autoStartupItem.Checked  = AutoStartup.Check();
            _onlinePACItem.Checked    = _onlinePACItem.Enabled && config.UseOnlinePac;
            _localPACItem.Checked     = !_onlinePACItem.Checked;
            UpdatePACItemsEnabledStatus();
        }
        private void LoadCurrentConfiguration()
        {
            Configuration config = controller.GetConfiguration();

            UpdateServersMenu();
            enableItem.Checked = config.enabled;
            if (SystemProxy.SupportChangeSysProxy())
            {
                modeItem.Enabled = config.enabled;
            }
            globalModeItem.Checked   = config.global;
            PACModeItem.Checked      = !config.global;
            ShareOverLANItem.Checked = config.shareOverLan;
            AutoStartupItem.Checked  = AutoStartup.Check();
        }
        private void LoadCurrentConfiguration()
        {
            Configuration config = controller.GetConfigurationCopy();

            UpdateServersMenu();
            enableItem.Checked       = config.enabled;
            modeItem.Enabled         = config.enabled;
            globalModeItem.Checked   = config.global;
            PACModeItem.Checked      = !config.global;
            ShareOverLANItem.Checked = config.shareOverLan;
            AutoStartupItem.Checked  = AutoStartup.Check();
            onlinePACItem.Checked    = onlinePACItem.Enabled && config.useOnlinePac;
            localPACItem.Checked     = !onlinePACItem.Checked;
            UpdatePACItemsEnabledStatus();
        }