public App( ILogger <App> logger, Clash clash, ClashApi clashApi, ConfigManager configManager, IOptions <AppOptions> options, IHostEnvironment environment ) { this.logger = logger; this.clash = clash; _api = clashApi; _options = options.Value; var isDev = environment.IsDevelopment(); notifyIcon = BuildNotifyIcon(isDev); logger.LogInformation("App started."); if (isDev) { return; } Task.Run(configManager.UpdateConfig); Task.Run(StartClash); }
private void output_event(ClashApi api, LogMessage logMessage) { if (this.logTextBox.InvokeRequired && !this.IsDisposed) { this.Invoke(new ClashApi.LogMessageHandler(this.output_event), new object[] { api, logMessage }); } else { this.logTextBox.AppendText($"{DateTime.Now.ToLocalTime().ToString()} {logMessage.Type} {logMessage.Payload}{Environment.NewLine}"); this.logTextBox.ScrollToCaret(); } }
private void initClashWConfig() { clashApi = new ClashApi($"http://{yamlConfig.ExternalController}"); if (!String.IsNullOrEmpty(Properties.Settings.Default.SelectedServerName)) { foreach (Proxy proxy in yamlConfig.ProxyList) { if (Properties.Settings.Default.SelectedServerName.Equals(proxy.Name)) { SelecteProxy(proxy); } } } EnableSystemProxy(Properties.Settings.Default.EnableSystemProxy); }
public void RefreshYamlConfig() { yamlConfig = YalmConfigManager.Instance.GetYamlConfig(); clashApi.StopLoadLogMessage(); clashApi = new ClashApi($"http://{yamlConfig.ExternalController}"); }