public AddRelayMapForm(MeshCentralServer meshcentral) { this.meshcentral = meshcentral; InitializeComponent(); Translate.TranslateControl(this); updateInfo(); }
private void nextButton2_Click(object sender, EventArgs e) { if ((tokenTextBox.Text.Replace(" ", "") == "") && (sendEmailToken == false)) { return; } // Attempt to login with token addButton.Enabled = false; addRelayButton.Enabled = false; openWebSiteButton.Visible = false; Uri serverurl = new Uri("wss://" + serverNameComboBox.Text + "/control.ashx"); meshcentral = new MeshCentralServer(); meshcentral.ignoreCert = ignoreCert; if (lastBadConnectCert != null) { meshcentral.okCertHash = lastBadConnectCert.GetCertHashString(); } meshcentral.onStateChanged += Meshcentral_onStateChanged; meshcentral.onNodesChanged += Meshcentral_onNodesChanged; meshcentral.onLoginTokenChanged += Meshcentral_onLoginTokenChanged; if (sendEmailToken == true) { sendEmailToken = false; meshcentral.connect(serverurl, userNameTextBox.Text, passwordTextBox.Text, "**email**"); } else { meshcentral.connect(serverurl, userNameTextBox.Text, passwordTextBox.Text, tokenTextBox.Text.Replace(" ", "")); } }
// Starts the routing server, called when the start button is pressed public void start(MeshCentralServer parent, int protocol, int localPort, string url, int remotePort, string remoteIP) { this.parent = parent; this.protocol = protocol; this.remoteport = remotePort; this.remoteip = remoteIP; this.url = url; //wshash = serverHashTextBox.Text; Debug(string.Format("MeshMapper-Start: Protcol={0}, LocalPort={1}, Url={2}, RemotePort={3}, RemoteIP={4}", protocol, localPort, url, remotePort, remoteIP)); if (protocol == 1) { // Start the TCP listener try { if (listener != null) { return; } listener = new TcpListener(inaddrany ? IPAddress.Any : IPAddress.Loopback, localPort); try { listener.Start(); } catch (Exception) { listener = null; } if (listener != null) { listener.BeginAcceptTcpClient(new AsyncCallback(AcceptTcpClientSink), null); localport = ((IPEndPoint)listener.LocalEndpoint).Port; state = 1; UpdateInfo(); } else { state = -1; UpdateInfo(); } } catch (Exception ex) { Debug(ex.ToString()); stop(); } } else if (protocol == 2) { // Start websocket connection try { IPEndPoint udpEndPoint = new IPEndPoint(inaddrany ? IPAddress.Any : IPAddress.Loopback, localPort); UdpClient client = new UdpClient(udpEndPoint); localport = ((IPEndPoint)client.Client.LocalEndPoint).Port; state = 1; UpdateInfo(); ConnectWS(client, ++connectCounter); } catch (Exception ex) { Debug(ex.ToString()); stop(); } } }
public bool Start(MeshCentralServer parent, Uri url, string user, string pass, string token, string fingerprint) { if (state != 0) { return(false); } parent.changeState(1); state = 1; this.parent = parent; this.url = url; this.user = user; this.pass = pass; this.token = token; Uri proxyUri = null; // Check if we need to use a HTTP proxy (Auto-proxy way) try { RegistryKey registryKey = Registry.CurrentUser.OpenSubKey("Software\\Microsoft\\Windows\\CurrentVersion\\Internet Settings", true); Object x = registryKey.GetValue("AutoConfigURL", null); if ((x != null) && (x.GetType() == typeof(string))) { string proxyStr = GetProxyForUrlUsingPac("http" + ((url.Port == 80) ? "" : "s") + "://" + url.Host + ":" + url.Port, x.ToString()); if (proxyStr != null) { proxyUri = new Uri("http://" + proxyStr); } } } catch (Exception) { proxyUri = null; } // Check if we need to use a HTTP proxy (Normal way) if (proxyUri == null) { var proxy = System.Net.HttpWebRequest.GetSystemWebProxy(); proxyUri = proxy.GetProxy(url); if ((url.Host.ToLower() == proxyUri.Host.ToLower()) && (url.Port == proxyUri.Port)) { proxyUri = null; } } if (proxyUri != null) { // Proxy in use proxyInUse = true; wsclient = new TcpClient(); wsclient.BeginConnect(proxyUri.Host, proxyUri.Port, new AsyncCallback(OnConnectSink), this); } else { // No proxy in use proxyInUse = false; wsclient = new TcpClient(); wsclient.BeginConnect(url.Host, url.Port, new AsyncCallback(OnConnectSink), this); } return(true); }
public KVMViewer(MeshCentralServer server, NodeClass node) { InitializeComponent(); this.Text += " - " + node.name; this.node = node; this.server = server; kvmControl = resizeKvmControl.KVM; kvmControl.parent = this; kvmControl.DesktopSizeChanged += KvmControl_DesktopSizeChanged; resizeKvmControl.ZoomToFit = true; UpdateStatus(); this.MouseWheel += MainForm_MouseWheel; }
private void nextButton3_Click(object sender, EventArgs e) { // Attempt to login, ignore bad cert. addButton.Enabled = false; addRelayButton.Enabled = false; openWebSiteButton.Visible = false; Uri serverurl = new Uri("wss://" + serverNameComboBox.Text + "/control.ashx"); meshcentral = new MeshCentralServer(); meshcentral.debug = debug; meshcentral.ignoreCert = ignoreCert; meshcentral.onStateChanged += Meshcentral_onStateChanged; meshcentral.onNodesChanged += Meshcentral_onNodesChanged; meshcentral.onLoginTokenChanged += Meshcentral_onLoginTokenChanged; meshcentral.okCertHash = lastBadConnectCert.GetCertHashString(); meshcentral.connect(serverurl, userNameTextBox.Text, passwordTextBox.Text, null); }
public KVMViewer(MeshCentralServer server, NodeClass node) { InitializeComponent(); Translate.TranslateControl(this); this.Text += " - " + node.name; this.node = node; this.server = server; kvmControl = resizeKvmControl.KVM; kvmControl.parent = this; kvmControl.DesktopSizeChanged += KvmControl_DesktopSizeChanged; resizeKvmControl.ZoomToFit = true; UpdateStatus(); this.MouseWheel += MainForm_MouseWheel; mainToolTip.SetToolTip(connectButton, Translate.T(Properties.Resources.ToggleRemoteDesktopConnection)); mainToolTip.SetToolTip(cadButton, Translate.T(Properties.Resources.SendCtrlAltDelToRemoteDevice)); mainToolTip.SetToolTip(settingsButton, Translate.T(Properties.Resources.ChangeRemoteDesktopSettings)); mainToolTip.SetToolTip(clipOutboundButton, Translate.T(Properties.Resources.PushLocaClipboardToRemoteDevice)); mainToolTip.SetToolTip(clipInboundButton, Translate.T(Properties.Resources.PullClipboardFromRemoteDevice)); mainToolTip.SetToolTip(zoomButton, Translate.T(Properties.Resources.ToggleZoomToFitMode)); mainToolTip.SetToolTip(statsButton, Translate.T(Properties.Resources.DisplayConnectionStatistics)); }
public AddPortMapForm(MeshCentralServer meshcentral) { this.meshcentral = meshcentral; InitializeComponent(); }
private void Meshcentral_onStateChanged(int state) { if (this.InvokeRequired) { this.Invoke(new MeshCentralServer.onStateChangedHandler(Meshcentral_onStateChanged), state); return; } if (state == 0) { if (meshcentral.disconnectMsg == "tokenrequired") { tokenTextBox.Text = ""; setPanel(2); tokenTextBox.Focus(); } else { setPanel(1); } if ((meshcentral.disconnectMsg != null) && meshcentral.disconnectMsg.StartsWith("noauth")) { stateLabel.Text = "Invalid username or password"; stateLabel.Visible = true; stateClearTimer.Enabled = true; serverNameComboBox.Focus(); } else if (meshcentral.disconnectMsg == "cert") { lastBadConnectCert = meshcentral.disconnectCert; certDetailsTextBox.Text = "---Issuer---\r\n" + lastBadConnectCert.Issuer.Replace(", ", "\r\n") + "\r\n\r\n---Subject---\r\n" + lastBadConnectCert.Subject.Replace(", ", "\r\n"); setPanel(3); certDetailsButton.Focus(); } else if (meshcentral.disconnectMsg == null) { stateLabel.Text = "Unable to connect"; stateLabel.Visible = true; stateClearTimer.Enabled = true; serverNameComboBox.Focus(); } // Clean up the UI nextButton1.Enabled = true; serverNameComboBox.Enabled = true; userNameTextBox.Enabled = true; passwordTextBox.Enabled = true; this.Text = title; // Clean up all mappings foreach (Control c in mapPanel.Controls) { if (c.GetType() == typeof(MapUserControl)) { ((MapUserControl)c).Dispose(); ((MapUserControl)c).Dispose(); mapPanel.Controls.Remove(c); } } noMapLabel.Visible = true; // Clean up the server cookieRefreshTimer.Enabled = false; meshcentral.onStateChanged -= Meshcentral_onStateChanged; meshcentral.onNodesChanged -= Meshcentral_onNodesChanged; meshcentral = null; } else if (state == 1) { stateLabel.Visible = false; //setPanel(1); nextButton1.Enabled = false; serverNameComboBox.Enabled = false; userNameTextBox.Enabled = false; passwordTextBox.Enabled = false; cookieRefreshTimer.Enabled = false; } else if (state == 2) { meshcentral.disconnectMsg = "connected"; stateLabel.Visible = false; setPanel(4); addButton.Focus(); saveToRegistry("ServerName", serverNameComboBox.Text); saveToRegistry("UserName", userNameTextBox.Text); this.Text = title + " - " + userNameTextBox.Text; cookieRefreshTimer.Enabled = true; } }
private void Meshcentral_onStateChanged(int state) { if (meshcentral == null) { return; } if (this.InvokeRequired) { this.Invoke(new MeshCentralServer.onStateChangedHandler(Meshcentral_onStateChanged), state); return; } if (state == 0) { if (meshcentral.disconnectMsg == "tokenrequired") { emailTokenButton.Visible = (meshcentral.disconnectEmail2FA == true) && (meshcentral.disconnectEmail2FASent == false); tokenEmailSentLabel.Visible = (meshcentral.disconnectEmail2FASent == true) || (meshcentral.disconnectSms2FASent == true); smsTokenButton.Visible = ((meshcentral.disconnectSms2FA == true) && (meshcentral.disconnectSms2FASent == false)); if (meshcentral.disconnectEmail2FASent) { tokenEmailSentLabel.Text = "Email sent"; } if (meshcentral.disconnectSms2FASent) { tokenEmailSentLabel.Text = "SMS sent"; } if ((meshcentral.disconnectEmail2FA == true) && (meshcentral.disconnectEmail2FASent == false)) { smsTokenButton.Left = emailTokenButton.Left + emailTokenButton.Width + 5; } else { smsTokenButton.Left = emailTokenButton.Left; } tokenTextBox.Text = ""; setPanel(2); tokenTextBox.Focus(); } else { setPanel(1); } if ((meshcentral.disconnectMsg != null) && meshcentral.disconnectMsg.StartsWith("noauth")) { stateLabel.Text = "Invalid username or password"; stateLabel.Visible = true; stateClearTimer.Enabled = true; serverNameComboBox.Focus(); } else if ((meshcentral.disconnectMsg != null) && meshcentral.disconnectMsg.StartsWith("emailvalidationrequired")) { stateLabel.Text = "Email verification required"; stateLabel.Visible = true; stateClearTimer.Enabled = true; serverNameComboBox.Focus(); } else if (meshcentral.disconnectMsg == "cert") { lastBadConnectCert = meshcentral.disconnectCert; certDetailsTextBox.Text = "---Issuer---\r\n" + lastBadConnectCert.Issuer.Replace(", ", "\r\n") + "\r\n\r\n---Subject---\r\n" + lastBadConnectCert.Subject.Replace(", ", "\r\n"); setPanel(3); certDetailsButton.Focus(); } else if (meshcentral.disconnectMsg == null) { stateLabel.Text = "Unable to connect"; stateLabel.Visible = true; stateClearTimer.Enabled = true; serverNameComboBox.Focus(); } // Clean up the UI nextButton1.Enabled = true; serverNameComboBox.Enabled = true; userNameTextBox.Enabled = true; passwordTextBox.Enabled = true; this.Text = title; // Clean up all mappings foreach (Control c in mapPanel.Controls) { if (c.GetType() == typeof(MapUserControl)) { ((MapUserControl)c).Dispose(); } } mapPanel.Controls.Clear(); noMapLabel.Visible = true; // Clean up all devices foreach (Control c in devicesPanel.Controls) { if (c.GetType() == typeof(DeviceUserControl)) { ((DeviceUserControl)c).Dispose(); } } remoteAllDeviceControls(); noSearchResultsLabel.Visible = false; noDevicesLabel.Visible = true; // Clean up the server cookieRefreshTimer.Enabled = false; meshcentral.onStateChanged -= Meshcentral_onStateChanged; meshcentral.onNodesChanged -= Meshcentral_onNodesChanged; meshcentral = null; } else if (state == 1) { stateLabel.Visible = false; //setPanel(1); nextButton1.Enabled = false; serverNameComboBox.Enabled = false; userNameTextBox.Enabled = false; passwordTextBox.Enabled = false; cookieRefreshTimer.Enabled = false; } else if (state == 2) { meshcentral.disconnectMsg = "connected"; stateLabel.Visible = false; setPanel(4); addButton.Focus(); saveToRegistry("ServerName", serverNameComboBox.Text); saveToRegistry("UserName", userNameTextBox.Text); this.Text = title + " - " + userNameTextBox.Text; cookieRefreshTimer.Enabled = true; } }
public AddPortMapForm(MeshCentralServer meshcentral) { this.meshcentral = meshcentral; InitializeComponent(); Translate.TranslateControl(this); }