public static void Main(string[] args) { Application.SetUnhandledExceptionMode(UnhandledExceptionMode.ThrowException); SentrySdk.Init("https://[email protected]/5380665"); // backwards compatibility if (args.Contains("-validate")) { return; } if (!Utilities.IsAdministrator()) { SentrySdk.AddBreadcrumb($"{nameof(Main)}: Application run with user privileges", nameof(Program)); Utilities.Restart(); } ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls11 | SecurityProtocolType.Tls12; if (DNSCryptHelper.IsInstalled() && DNSCryptHelper.IsRunning()) { SentrySdk.AddBreadcrumb($"{nameof(Main)}: Add DNSCrypt to DNSServers list", nameof(Program)); GlobalVars.DNSServers.Insert(0, DNSCryptHelper.GetDNSServer()); } SentrySdk.AddBreadcrumb($"{nameof(Main)}: Application start", nameof(Program)); Application.EnableVisualStyles(); Application.SetCompatibleTextRenderingDefault(false); Application.Run(new MainForm()); }
private void settingsLabel_LinkClicked(object sender, LinkLabelLinkClickedEventArgs e) { SentrySdk.AddBreadcrumb($"{nameof(settingsLabel_LinkClicked)}", nameof(MainForm)); var preIsInstalled = DNSCryptHelper.IsInstalled(); var preIsRunning = preIsInstalled && DNSCryptHelper.IsRunning(); SentrySdk.AddBreadcrumb($"{nameof(settingsLabel_LinkClicked)}: {nameof(preIsInstalled)}={preIsInstalled}, {nameof(preIsRunning)}={preIsRunning}", nameof(MainForm)); new SettingsForm().ShowDialog(this); // check installation var shouldRestart = preIsInstalled != DNSCryptHelper.IsInstalled(); // check service if (!shouldRestart && preIsInstalled && preIsRunning != DNSCryptHelper.IsRunning()) { shouldRestart = true; } SentrySdk.AddBreadcrumb($"{nameof(settingsLabel_LinkClicked)}: {nameof(shouldRestart)}={shouldRestart}", nameof(MainForm)); if (shouldRestart) { Utilities.Restart(); } }
private async void debugButton_Click(object sender, System.EventArgs e) { SentrySdk.AddBreadcrumb($"{nameof(debugButton_Click)}", nameof(SettingsForm)); debugButton.Enabled = false; await DNSCryptHelper.DebugProcess(progressBar, statusLabel); debugButton.Enabled = true; }
private async void configButton_Click(object sender, System.EventArgs e) { SentrySdk.AddBreadcrumb($"{nameof(configButton_Click)}", nameof(SettingsForm)); configButton.Enabled = false; await DNSCryptHelper.OpenConfig(); configButton.Enabled = true; }
private void saveConfigButton_Click(object sender, System.EventArgs e) { SentrySdk.AddBreadcrumb($"{nameof(saveConfigButton_Click)}", nameof(SettingsForm)); var config = DNSCryptHelper.LoadConfig(); foreach (var pair in _controls) { var setting = (ComboBoxItem)pair.Value.SelectedItem; config = pair.Key.SetSetting(config, (string)setting.Value); } DNSCryptHelper.SaveConfig(config); Utilities.ButtonSuccessAnimation(sender); }
private async void installButton_Click(object sender, System.EventArgs e) { SentrySdk.AddBreadcrumb($"{nameof(installButton_Click)}", nameof(SettingsForm)); installButton.Enabled = false; if (DNSCryptHelper.IsInstalled()) { SentrySdk.AddBreadcrumb($"{nameof(installButton_Click)}: Uninstall", nameof(SettingsForm)); DNSCryptHelper.Uninstall(progressBar, statusLabel); } else { SentrySdk.AddBreadcrumb($"{nameof(installButton_Click)}: Install", nameof(SettingsForm)); await DNSCryptHelper.Install(progressBar, statusLabel); } UpdateControls(); }
private async void serviceButton_Click(object sender, System.EventArgs e) { SentrySdk.AddBreadcrumb($"{nameof(serviceButton_Click)}", nameof(SettingsForm)); serviceButton.Enabled = false; if (DNSCryptHelper.IsRunning()) { SentrySdk.AddBreadcrumb($"{nameof(serviceButton_Click)}: Stop service", nameof(SettingsForm)); await DNSCryptHelper.StopService(progressBar, statusLabel); } else { SentrySdk.AddBreadcrumb($"{nameof(serviceButton_Click)}: Start service", nameof(SettingsForm)); saveConfigButton_Click(saveConfigButton, null); await DNSCryptHelper.StartService(progressBar, statusLabel); } UpdateControls(); }
public void UpdateControls() { SentrySdk.AddBreadcrumb($"{nameof(UpdateControls)}", nameof(SettingsForm)); installButton.Text = "Download and install"; installButton.Enabled = true; serviceButton.Text = "Start service"; serviceButton.Enabled = true; configButton.Enabled = true; debugButton.Enabled = true; foreach (var pair in _controls) { pair.Value.Enabled = true; } configRecommendedButton.Enabled = true; configPrivacyButton.Enabled = true; saveConfigButton.Enabled = true; loadConfigButton.Enabled = true; if (!DNSCryptHelper.IsInstalled()) { // not installed SentrySdk.AddBreadcrumb($"{nameof(UpdateControls)}: Not installed", nameof(SettingsForm)); serviceButton.Enabled = false; configButton.Enabled = false; debugButton.Enabled = false; foreach (var pair in _controls) { pair.Value.Enabled = false; } configRecommendedButton.Enabled = false; configPrivacyButton.Enabled = false; saveConfigButton.Enabled = false; loadConfigButton.Enabled = false; } else { // installed SentrySdk.AddBreadcrumb($"{nameof(UpdateControls)}: Installed", nameof(SettingsForm)); installButton.Text = "Uninstall"; if (DNSCryptHelper.IsRunning()) { // running SentrySdk.AddBreadcrumb($"{nameof(UpdateControls)}: Running", nameof(SettingsForm)); installButton.Enabled = false; serviceButton.Text = "Stop service"; configButton.Enabled = false; debugButton.Enabled = false; foreach (var pair in _controls) { pair.Value.Enabled = false; } configRecommendedButton.Enabled = false; configPrivacyButton.Enabled = false; saveConfigButton.Enabled = false; loadConfigButton.Enabled = false; } else { // not running SentrySdk.AddBreadcrumb($"{nameof(UpdateControls)}: Not running", nameof(SettingsForm)); } // load controls var config = DNSCryptHelper.LoadConfig(); foreach (var pair in _controls) { var currentSetting = pair.Key.GetCurrentSetting(config); var settings = pair.Key.GetSettings(config); pair.Value.Items.Clear(); var selectedItem = (object)null; foreach (var item in settings) { pair.Value.Items.Add(item); if ((string)item.Value == currentSetting) { selectedItem = item; } } if (selectedItem != null) { pair.Value.SelectedItem = selectedItem; } else { pair.Value.SelectedIndex = 0; } } } }