mirror of
https://github.com/Ylianst/MeshCentralRouter
synced 2025-12-10 21:33:46 +00:00
More improvements.
This commit is contained in:
2
KVMSettingsForm.Designer.cs
generated
2
KVMSettingsForm.Designer.cs
generated
@@ -110,7 +110,7 @@
|
|||||||
// pictureBox1
|
// pictureBox1
|
||||||
//
|
//
|
||||||
resources.ApplyResources(this.pictureBox1, "pictureBox1");
|
resources.ApplyResources(this.pictureBox1, "pictureBox1");
|
||||||
this.pictureBox1.Image = global::MeshCentralRouter.Properties.Resources._50_Computer;
|
this.pictureBox1.Image = global::MeshCentralRouter.Properties.Resources.Computer50;
|
||||||
this.pictureBox1.Name = "pictureBox1";
|
this.pictureBox1.Name = "pictureBox1";
|
||||||
this.pictureBox1.TabStop = false;
|
this.pictureBox1.TabStop = false;
|
||||||
//
|
//
|
||||||
|
|||||||
4
KVMViewer.Designer.cs
generated
4
KVMViewer.Designer.cs
generated
@@ -110,7 +110,7 @@ namespace MeshCentralRouter
|
|||||||
// clipOutboundButton
|
// clipOutboundButton
|
||||||
//
|
//
|
||||||
resources.ApplyResources(this.clipOutboundButton, "clipOutboundButton");
|
resources.ApplyResources(this.clipOutboundButton, "clipOutboundButton");
|
||||||
this.clipOutboundButton.Image = global::MeshCentralRouter.Properties.Resources.icon_clipboard_out;
|
this.clipOutboundButton.Image = global::MeshCentralRouter.Properties.Resources.iconClipboardOut;
|
||||||
this.clipOutboundButton.Name = "clipOutboundButton";
|
this.clipOutboundButton.Name = "clipOutboundButton";
|
||||||
this.clipOutboundButton.TabStop = false;
|
this.clipOutboundButton.TabStop = false;
|
||||||
this.mainToolTip.SetToolTip(this.clipOutboundButton, resources.GetString("clipOutboundButton.ToolTip"));
|
this.mainToolTip.SetToolTip(this.clipOutboundButton, resources.GetString("clipOutboundButton.ToolTip"));
|
||||||
@@ -120,7 +120,7 @@ namespace MeshCentralRouter
|
|||||||
// clipInboundButton
|
// clipInboundButton
|
||||||
//
|
//
|
||||||
resources.ApplyResources(this.clipInboundButton, "clipInboundButton");
|
resources.ApplyResources(this.clipInboundButton, "clipInboundButton");
|
||||||
this.clipInboundButton.Image = global::MeshCentralRouter.Properties.Resources.icon_clipboard_in;
|
this.clipInboundButton.Image = global::MeshCentralRouter.Properties.Resources.iconClipboardIn;
|
||||||
this.clipInboundButton.Name = "clipInboundButton";
|
this.clipInboundButton.Name = "clipInboundButton";
|
||||||
this.clipInboundButton.TabStop = false;
|
this.clipInboundButton.TabStop = false;
|
||||||
this.mainToolTip.SetToolTip(this.clipInboundButton, resources.GetString("clipInboundButton.ToolTip"));
|
this.mainToolTip.SetToolTip(this.clipInboundButton, resources.GetString("clipInboundButton.ToolTip"));
|
||||||
|
|||||||
@@ -175,7 +175,7 @@
|
|||||||
<value>NoControl</value>
|
<value>NoControl</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="clipOutboundButton.Location" type="System.Drawing.Point, System.Drawing">
|
<data name="clipOutboundButton.Location" type="System.Drawing.Point, System.Drawing">
|
||||||
<value>324, 3</value>
|
<value>288, 3</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="clipOutboundButton.Size" type="System.Drawing.Size, System.Drawing">
|
<data name="clipOutboundButton.Size" type="System.Drawing.Size, System.Drawing">
|
||||||
<value>30, 26</value>
|
<value>30, 26</value>
|
||||||
@@ -208,7 +208,7 @@
|
|||||||
<value>NoControl</value>
|
<value>NoControl</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="clipInboundButton.Location" type="System.Drawing.Point, System.Drawing">
|
<data name="clipInboundButton.Location" type="System.Drawing.Point, System.Drawing">
|
||||||
<value>288, 3</value>
|
<value>324, 3</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="clipInboundButton.Size" type="System.Drawing.Size, System.Drawing">
|
<data name="clipInboundButton.Size" type="System.Drawing.Size, System.Drawing">
|
||||||
<value>30, 26</value>
|
<value>30, 26</value>
|
||||||
@@ -493,7 +493,7 @@
|
|||||||
<value>resizeKvmControl</value>
|
<value>resizeKvmControl</value>
|
||||||
</data>
|
</data>
|
||||||
<data name=">>resizeKvmControl.Type" xml:space="preserve">
|
<data name=">>resizeKvmControl.Type" xml:space="preserve">
|
||||||
<value>MeshCentralRouter.KVMResizeControl, MeshCentralRouter, Version=1.0.7564.25887, Culture=neutral, PublicKeyToken=null</value>
|
<value>MeshCentralRouter.KVMResizeControl, MeshCentralRouter, Version=1.0.7564.28683, Culture=neutral, PublicKeyToken=null</value>
|
||||||
</data>
|
</data>
|
||||||
<data name=">>resizeKvmControl.Parent" xml:space="preserve">
|
<data name=">>resizeKvmControl.Parent" xml:space="preserve">
|
||||||
<value>$this</value>
|
<value>$this</value>
|
||||||
|
|||||||
19
MainForm.Designer.cs
generated
19
MainForm.Designer.cs
generated
@@ -63,6 +63,7 @@
|
|||||||
this.label2 = new System.Windows.Forms.Label();
|
this.label2 = new System.Windows.Forms.Label();
|
||||||
this.tabPage3 = new System.Windows.Forms.TabPage();
|
this.tabPage3 = new System.Windows.Forms.TabPage();
|
||||||
this.panel3 = new System.Windows.Forms.Panel();
|
this.panel3 = new System.Windows.Forms.Panel();
|
||||||
|
this.rememberCertCheckBox = new System.Windows.Forms.CheckBox();
|
||||||
this.certDetailsTextBox = new System.Windows.Forms.TextBox();
|
this.certDetailsTextBox = new System.Windows.Forms.TextBox();
|
||||||
this.certDetailsButton = new System.Windows.Forms.Button();
|
this.certDetailsButton = new System.Windows.Forms.Button();
|
||||||
this.label4 = new System.Windows.Forms.Label();
|
this.label4 = new System.Windows.Forms.Label();
|
||||||
@@ -124,7 +125,7 @@
|
|||||||
this.saveMappingsToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
|
this.saveMappingsToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
|
||||||
this.openMapFileDialog = new System.Windows.Forms.OpenFileDialog();
|
this.openMapFileDialog = new System.Windows.Forms.OpenFileDialog();
|
||||||
this.saveMapFileDialog = new System.Windows.Forms.SaveFileDialog();
|
this.saveMapFileDialog = new System.Windows.Forms.SaveFileDialog();
|
||||||
this.rememberCertCheckBox = new System.Windows.Forms.CheckBox();
|
this.tokenRememberCheckBox = new System.Windows.Forms.CheckBox();
|
||||||
this.panel5.SuspendLayout();
|
this.panel5.SuspendLayout();
|
||||||
this.mainPanel.SuspendLayout();
|
this.mainPanel.SuspendLayout();
|
||||||
this.mainTabControl.SuspendLayout();
|
this.mainTabControl.SuspendLayout();
|
||||||
@@ -308,6 +309,7 @@
|
|||||||
//
|
//
|
||||||
// panel2
|
// panel2
|
||||||
//
|
//
|
||||||
|
this.panel2.Controls.Add(this.tokenRememberCheckBox);
|
||||||
this.panel2.Controls.Add(this.emailTokenButton);
|
this.panel2.Controls.Add(this.emailTokenButton);
|
||||||
this.panel2.Controls.Add(this.smsTokenButton);
|
this.panel2.Controls.Add(this.smsTokenButton);
|
||||||
this.panel2.Controls.Add(this.tokenEmailSentLabel);
|
this.panel2.Controls.Add(this.tokenEmailSentLabel);
|
||||||
@@ -406,6 +408,12 @@
|
|||||||
resources.ApplyResources(this.panel3, "panel3");
|
resources.ApplyResources(this.panel3, "panel3");
|
||||||
this.panel3.Name = "panel3";
|
this.panel3.Name = "panel3";
|
||||||
//
|
//
|
||||||
|
// rememberCertCheckBox
|
||||||
|
//
|
||||||
|
resources.ApplyResources(this.rememberCertCheckBox, "rememberCertCheckBox");
|
||||||
|
this.rememberCertCheckBox.Name = "rememberCertCheckBox";
|
||||||
|
this.rememberCertCheckBox.UseVisualStyleBackColor = true;
|
||||||
|
//
|
||||||
// certDetailsTextBox
|
// certDetailsTextBox
|
||||||
//
|
//
|
||||||
resources.ApplyResources(this.certDetailsTextBox, "certDetailsTextBox");
|
resources.ApplyResources(this.certDetailsTextBox, "certDetailsTextBox");
|
||||||
@@ -855,11 +863,11 @@
|
|||||||
this.saveMapFileDialog.DefaultExt = "mcrouter";
|
this.saveMapFileDialog.DefaultExt = "mcrouter";
|
||||||
resources.ApplyResources(this.saveMapFileDialog, "saveMapFileDialog");
|
resources.ApplyResources(this.saveMapFileDialog, "saveMapFileDialog");
|
||||||
//
|
//
|
||||||
// rememberCertCheckBox
|
// tokenRememberCheckBox
|
||||||
//
|
//
|
||||||
resources.ApplyResources(this.rememberCertCheckBox, "rememberCertCheckBox");
|
resources.ApplyResources(this.tokenRememberCheckBox, "tokenRememberCheckBox");
|
||||||
this.rememberCertCheckBox.Name = "rememberCertCheckBox";
|
this.tokenRememberCheckBox.Name = "tokenRememberCheckBox";
|
||||||
this.rememberCertCheckBox.UseVisualStyleBackColor = true;
|
this.tokenRememberCheckBox.UseVisualStyleBackColor = true;
|
||||||
//
|
//
|
||||||
// MainForm
|
// MainForm
|
||||||
//
|
//
|
||||||
@@ -1005,6 +1013,7 @@
|
|||||||
private System.Windows.Forms.ToolStripSeparator toolStripMenuItem3;
|
private System.Windows.Forms.ToolStripSeparator toolStripMenuItem3;
|
||||||
private System.Windows.Forms.ToolStripMenuItem remoteDesktopToolStripMenuItem;
|
private System.Windows.Forms.ToolStripMenuItem remoteDesktopToolStripMenuItem;
|
||||||
private System.Windows.Forms.CheckBox rememberCertCheckBox;
|
private System.Windows.Forms.CheckBox rememberCertCheckBox;
|
||||||
|
private System.Windows.Forms.CheckBox tokenRememberCheckBox;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
60
MainForm.cs
60
MainForm.cs
@@ -51,13 +51,6 @@ namespace MeshCentralRouter
|
|||||||
public ArrayList mappingsToSetup = null;
|
public ArrayList mappingsToSetup = null;
|
||||||
public bool deviceListViewMode = true;
|
public bool deviceListViewMode = true;
|
||||||
|
|
||||||
public void setRegValue(string name, string value) {
|
|
||||||
try { Registry.SetValue(@"HKEY_CURRENT_USER\SOFTWARE\Open Source\MeshCentral Router", name, value); } catch (Exception) { }
|
|
||||||
}
|
|
||||||
public string getRegValue(string name, string value) {
|
|
||||||
try { return Registry.GetValue(@"HKEY_CURRENT_USER\SOFTWARE\Open Source\MeshCentral Router", name, value).ToString(); } catch (Exception) { return value; }
|
|
||||||
}
|
|
||||||
|
|
||||||
public bool isRouterHooked()
|
public bool isRouterHooked()
|
||||||
{
|
{
|
||||||
try
|
try
|
||||||
@@ -144,13 +137,13 @@ namespace MeshCentralRouter
|
|||||||
[DllImport("user32.dll", CharSet = CharSet.Auto)]
|
[DllImport("user32.dll", CharSet = CharSet.Auto)]
|
||||||
private static extern Int32 SendMessage(IntPtr hWnd, int msg, int wParam, [MarshalAs(UnmanagedType.LPWStr)]string lParam);
|
private static extern Int32 SendMessage(IntPtr hWnd, int msg, int wParam, [MarshalAs(UnmanagedType.LPWStr)]string lParam);
|
||||||
|
|
||||||
public static void saveToRegistry(string name, string value)
|
public void setRegValue(string name, string value)
|
||||||
{
|
{
|
||||||
try { Registry.SetValue(@"HKEY_CURRENT_USER\SOFTWARE\OpenSource\MeshRouter", name, value); } catch (Exception) { }
|
try { Registry.SetValue(@"HKEY_CURRENT_USER\SOFTWARE\Open Source\MeshCentral Router", name, value); } catch (Exception) { }
|
||||||
}
|
}
|
||||||
public static string loadFromRegistry(string name)
|
public string getRegValue(string name, string value)
|
||||||
{
|
{
|
||||||
try { return Registry.GetValue(@"HKEY_CURRENT_USER\SOFTWARE\OpenSource\MeshRouter", name, "").ToString(); } catch (Exception) { return ""; }
|
try { return Registry.GetValue(@"HKEY_CURRENT_USER\SOFTWARE\Open Source\MeshCentral Router", name, value).ToString(); } catch (Exception) { return value; }
|
||||||
}
|
}
|
||||||
|
|
||||||
public MainForm(string[] args)
|
public MainForm(string[] args)
|
||||||
@@ -165,8 +158,8 @@ namespace MeshCentralRouter
|
|||||||
Version version = Assembly.GetEntryAssembly().GetName().Version;
|
Version version = Assembly.GetEntryAssembly().GetName().Version;
|
||||||
versionLabel.Text = "v" + version.Major + "." + version.Minor + "." + version.Build;
|
versionLabel.Text = "v" + version.Major + "." + version.Minor + "." + version.Build;
|
||||||
|
|
||||||
serverNameComboBox.Text = loadFromRegistry("ServerName");
|
serverNameComboBox.Text = getRegValue("ServerName", "");
|
||||||
userNameTextBox.Text = loadFromRegistry("UserName");
|
userNameTextBox.Text = getRegValue("UserName", "");
|
||||||
title = this.Text;
|
title = this.Text;
|
||||||
|
|
||||||
int argflags = 0;
|
int argflags = 0;
|
||||||
@@ -203,6 +196,7 @@ namespace MeshCentralRouter
|
|||||||
currentPanel = newPanel;
|
currentPanel = newPanel;
|
||||||
|
|
||||||
// Setup stuff
|
// Setup stuff
|
||||||
|
if (newPanel == 1) { tokenRememberCheckBox.Checked = false; }
|
||||||
nextButton2.Enabled = (tokenTextBox.Text.Replace(" ", "") != "");
|
nextButton2.Enabled = (tokenTextBox.Text.Replace(" ", "") != "");
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -314,16 +308,21 @@ namespace MeshCentralRouter
|
|||||||
meshcentral.onNodesChanged += Meshcentral_onNodesChanged;
|
meshcentral.onNodesChanged += Meshcentral_onNodesChanged;
|
||||||
meshcentral.onLoginTokenChanged += Meshcentral_onLoginTokenChanged;
|
meshcentral.onLoginTokenChanged += Meshcentral_onLoginTokenChanged;
|
||||||
meshcentral.onClipboardData += Meshcentral_onClipboardData;
|
meshcentral.onClipboardData += Meshcentral_onClipboardData;
|
||||||
|
meshcentral.onTwoFactorCookie += Meshcentral_onTwoFactorCookie;
|
||||||
if (lastBadConnectCert != null)
|
if (lastBadConnectCert != null)
|
||||||
{
|
{
|
||||||
meshcentral.okCertHash = lastBadConnectCert.GetCertHashString();
|
meshcentral.okCertHash = lastBadConnectCert.GetCertHashString();
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
string ignoreCert = loadFromRegistry("IgnoreCert");
|
string ignoreCert = getRegValue("IgnoreCert", null);
|
||||||
if (ignoreCert != null) { meshcentral.okCertHash = ignoreCert; }
|
if (ignoreCert != null) { meshcentral.okCertHash = ignoreCert; }
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Load two factor cookie if present
|
||||||
|
string twoFactorCookie = getRegValue("TwoFactorCookie", null);
|
||||||
|
if ((twoFactorCookie != null) && (twoFactorCookie != "")) { twoFactorCookie = "cookie=" + twoFactorCookie; } else { twoFactorCookie = null; }
|
||||||
|
|
||||||
Uri serverurl = null;
|
Uri serverurl = null;
|
||||||
if (authLoginUrl != null) {
|
if (authLoginUrl != null) {
|
||||||
try {
|
try {
|
||||||
@@ -333,7 +332,7 @@ namespace MeshCentralRouter
|
|||||||
meshcentral.connect(serverurl, null, null, null);
|
meshcentral.connect(serverurl, null, null, null);
|
||||||
} else {
|
} else {
|
||||||
try { serverurl = new Uri("wss://" + serverNameComboBox.Text + "/control.ashx"); } catch (Exception) { }
|
try { serverurl = new Uri("wss://" + serverNameComboBox.Text + "/control.ashx"); } catch (Exception) { }
|
||||||
meshcentral.connect(serverurl, userNameTextBox.Text, passwordTextBox.Text, null);
|
meshcentral.connect(serverurl, userNameTextBox.Text, passwordTextBox.Text, twoFactorCookie);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -343,10 +342,16 @@ namespace MeshCentralRouter
|
|||||||
Clipboard.SetData(DataFormats.Text, (Object)data);
|
Clipboard.SetData(DataFormats.Text, (Object)data);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private void Meshcentral_onTwoFactorCookie(string cookie)
|
||||||
|
{
|
||||||
|
if (this.InvokeRequired) { this.Invoke(new MeshCentralServer.twoFactorCookieHandler(Meshcentral_onTwoFactorCookie), cookie); return; }
|
||||||
|
setRegValue("TwoFactorCookie", cookie);
|
||||||
|
}
|
||||||
|
|
||||||
private void nextButton3_Click(object sender, EventArgs e)
|
private void nextButton3_Click(object sender, EventArgs e)
|
||||||
{
|
{
|
||||||
// If we need to remember this certificate
|
// If we need to remember this certificate
|
||||||
if (rememberCertCheckBox.Checked) { saveToRegistry("IgnoreCert", lastBadConnectCert.GetCertHashString()); }
|
if (rememberCertCheckBox.Checked) { setRegValue("IgnoreCert", lastBadConnectCert.GetCertHashString()); }
|
||||||
|
|
||||||
// Attempt to login, ignore bad cert.
|
// Attempt to login, ignore bad cert.
|
||||||
addButton.Enabled = false;
|
addButton.Enabled = false;
|
||||||
@@ -359,6 +364,7 @@ namespace MeshCentralRouter
|
|||||||
meshcentral.onNodesChanged += Meshcentral_onNodesChanged;
|
meshcentral.onNodesChanged += Meshcentral_onNodesChanged;
|
||||||
meshcentral.onLoginTokenChanged += Meshcentral_onLoginTokenChanged;
|
meshcentral.onLoginTokenChanged += Meshcentral_onLoginTokenChanged;
|
||||||
meshcentral.onClipboardData += Meshcentral_onClipboardData;
|
meshcentral.onClipboardData += Meshcentral_onClipboardData;
|
||||||
|
meshcentral.onTwoFactorCookie += Meshcentral_onTwoFactorCookie;
|
||||||
meshcentral.okCertHash = lastBadConnectCert.GetCertHashString();
|
meshcentral.okCertHash = lastBadConnectCert.GetCertHashString();
|
||||||
|
|
||||||
Uri serverurl = null;
|
Uri serverurl = null;
|
||||||
@@ -367,8 +373,11 @@ namespace MeshCentralRouter
|
|||||||
serverurl = new Uri("wss://" + authLoginUrl.Host + ":" + ((authLoginUrl.Port > 0) ? authLoginUrl.Port : 443) + authLoginUrl.LocalPath + "?auth=" + getValueFromQueryString(authLoginUrl.Query, "c"));
|
serverurl = new Uri("wss://" + authLoginUrl.Host + ":" + ((authLoginUrl.Port > 0) ? authLoginUrl.Port : 443) + authLoginUrl.LocalPath + "?auth=" + getValueFromQueryString(authLoginUrl.Query, "c"));
|
||||||
meshcentral.connect(serverurl, null, null, null);
|
meshcentral.connect(serverurl, null, null, null);
|
||||||
} else {
|
} else {
|
||||||
|
// Load two factor cookie if present
|
||||||
|
string twoFactorCookie = getRegValue("TwoFactorCookie", null);
|
||||||
|
if ((twoFactorCookie != null) && (twoFactorCookie != "")) { twoFactorCookie = "cookie=" + twoFactorCookie; } else { twoFactorCookie = null; }
|
||||||
serverurl = new Uri("wss://" + serverNameComboBox.Text + "/control.ashx");
|
serverurl = new Uri("wss://" + serverNameComboBox.Text + "/control.ashx");
|
||||||
meshcentral.connect(serverurl, userNameTextBox.Text, passwordTextBox.Text, null);
|
meshcentral.connect(serverurl, userNameTextBox.Text, passwordTextBox.Text, twoFactorCookie);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -577,6 +586,13 @@ namespace MeshCentralRouter
|
|||||||
smsTokenButton.Left = emailTokenButton.Left;
|
smsTokenButton.Left = emailTokenButton.Left;
|
||||||
}
|
}
|
||||||
tokenTextBox.Text = "";
|
tokenTextBox.Text = "";
|
||||||
|
if (meshcentral.twoFactorCookieDays > 0) {
|
||||||
|
tokenRememberCheckBox.Visible = true;
|
||||||
|
tokenRememberCheckBox.Text = string.Format(Properties.Resources.DontAskXDays, meshcentral.twoFactorCookieDays);
|
||||||
|
} else {
|
||||||
|
tokenRememberCheckBox.Visible = false;
|
||||||
|
}
|
||||||
|
|
||||||
setPanel(2);
|
setPanel(2);
|
||||||
tokenTextBox.Focus();
|
tokenTextBox.Focus();
|
||||||
} else { setPanel(1); }
|
} else { setPanel(1); }
|
||||||
@@ -652,8 +668,8 @@ namespace MeshCentralRouter
|
|||||||
addButton.Focus();
|
addButton.Focus();
|
||||||
if (authLoginUrl == null)
|
if (authLoginUrl == null)
|
||||||
{
|
{
|
||||||
saveToRegistry("ServerName", serverNameComboBox.Text);
|
setRegValue("ServerName", serverNameComboBox.Text);
|
||||||
saveToRegistry("UserName", userNameTextBox.Text);
|
setRegValue("UserName", userNameTextBox.Text);
|
||||||
}
|
}
|
||||||
if (meshcentral.username != null) {
|
if (meshcentral.username != null) {
|
||||||
this.Text = title + " - " + meshcentral.username;
|
this.Text = title + " - " + meshcentral.username;
|
||||||
@@ -661,6 +677,9 @@ namespace MeshCentralRouter
|
|||||||
this.Text = title + " - " + userNameTextBox.Text;
|
this.Text = title + " - " + userNameTextBox.Text;
|
||||||
}
|
}
|
||||||
cookieRefreshTimer.Enabled = true;
|
cookieRefreshTimer.Enabled = true;
|
||||||
|
|
||||||
|
// If we need to remember the 2nd factor, ask for a cookie now.
|
||||||
|
if (tokenRememberCheckBox.Checked) { meshcentral.sendCommand("{\"action\":\"twoFactorCookie\"}"); }
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -885,13 +904,14 @@ namespace MeshCentralRouter
|
|||||||
if (lastBadConnectCert != null) {
|
if (lastBadConnectCert != null) {
|
||||||
meshcentral.okCertHash = lastBadConnectCert.GetCertHashString();
|
meshcentral.okCertHash = lastBadConnectCert.GetCertHashString();
|
||||||
} else {
|
} else {
|
||||||
string ignoreCert = loadFromRegistry("IgnoreCert");
|
string ignoreCert = getRegValue("IgnoreCert", null);
|
||||||
if (ignoreCert != null) { meshcentral.okCertHash = ignoreCert; }
|
if (ignoreCert != null) { meshcentral.okCertHash = ignoreCert; }
|
||||||
}
|
}
|
||||||
meshcentral.onStateChanged += Meshcentral_onStateChanged;
|
meshcentral.onStateChanged += Meshcentral_onStateChanged;
|
||||||
meshcentral.onNodesChanged += Meshcentral_onNodesChanged;
|
meshcentral.onNodesChanged += Meshcentral_onNodesChanged;
|
||||||
meshcentral.onLoginTokenChanged += Meshcentral_onLoginTokenChanged;
|
meshcentral.onLoginTokenChanged += Meshcentral_onLoginTokenChanged;
|
||||||
meshcentral.onClipboardData += Meshcentral_onClipboardData;
|
meshcentral.onClipboardData += Meshcentral_onClipboardData;
|
||||||
|
meshcentral.onTwoFactorCookie += Meshcentral_onTwoFactorCookie;
|
||||||
if (sendEmailToken == true)
|
if (sendEmailToken == true)
|
||||||
{
|
{
|
||||||
sendEmailToken = false;
|
sendEmailToken = false;
|
||||||
|
|||||||
@@ -600,6 +600,39 @@
|
|||||||
<data name=">>tabPage1.ZOrder" xml:space="preserve">
|
<data name=">>tabPage1.ZOrder" xml:space="preserve">
|
||||||
<value>0</value>
|
<value>0</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="tokenRememberCheckBox.AutoSize" type="System.Boolean, mscorlib">
|
||||||
|
<value>True</value>
|
||||||
|
</data>
|
||||||
|
<data name="tokenRememberCheckBox.ImeMode" type="System.Windows.Forms.ImeMode, System.Windows.Forms">
|
||||||
|
<value>NoControl</value>
|
||||||
|
</data>
|
||||||
|
<data name="tokenRememberCheckBox.Location" type="System.Drawing.Point, System.Drawing">
|
||||||
|
<value>241, 221</value>
|
||||||
|
</data>
|
||||||
|
<data name="tokenRememberCheckBox.Size" type="System.Drawing.Size, System.Drawing">
|
||||||
|
<value>131, 17</value>
|
||||||
|
</data>
|
||||||
|
<data name="tokenRememberCheckBox.TabIndex" type="System.Int32, mscorlib">
|
||||||
|
<value>23</value>
|
||||||
|
</data>
|
||||||
|
<data name="tokenRememberCheckBox.Text" xml:space="preserve">
|
||||||
|
<value>Don't ask for {0} days.</value>
|
||||||
|
</data>
|
||||||
|
<data name="tokenRememberCheckBox.Visible" type="System.Boolean, mscorlib">
|
||||||
|
<value>False</value>
|
||||||
|
</data>
|
||||||
|
<data name=">>tokenRememberCheckBox.Name" xml:space="preserve">
|
||||||
|
<value>tokenRememberCheckBox</value>
|
||||||
|
</data>
|
||||||
|
<data name=">>tokenRememberCheckBox.Type" xml:space="preserve">
|
||||||
|
<value>System.Windows.Forms.CheckBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||||
|
</data>
|
||||||
|
<data name=">>tokenRememberCheckBox.Parent" xml:space="preserve">
|
||||||
|
<value>panel2</value>
|
||||||
|
</data>
|
||||||
|
<data name=">>tokenRememberCheckBox.ZOrder" xml:space="preserve">
|
||||||
|
<value>0</value>
|
||||||
|
</data>
|
||||||
<data name="emailTokenButton.ImeMode" type="System.Windows.Forms.ImeMode, System.Windows.Forms">
|
<data name="emailTokenButton.ImeMode" type="System.Windows.Forms.ImeMode, System.Windows.Forms">
|
||||||
<value>NoControl</value>
|
<value>NoControl</value>
|
||||||
</data>
|
</data>
|
||||||
@@ -628,7 +661,7 @@
|
|||||||
<value>panel2</value>
|
<value>panel2</value>
|
||||||
</data>
|
</data>
|
||||||
<data name=">>emailTokenButton.ZOrder" xml:space="preserve">
|
<data name=">>emailTokenButton.ZOrder" xml:space="preserve">
|
||||||
<value>0</value>
|
<value>1</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="smsTokenButton.ImeMode" type="System.Windows.Forms.ImeMode, System.Windows.Forms">
|
<data name="smsTokenButton.ImeMode" type="System.Windows.Forms.ImeMode, System.Windows.Forms">
|
||||||
<value>NoControl</value>
|
<value>NoControl</value>
|
||||||
@@ -658,7 +691,7 @@
|
|||||||
<value>panel2</value>
|
<value>panel2</value>
|
||||||
</data>
|
</data>
|
||||||
<data name=">>smsTokenButton.ZOrder" xml:space="preserve">
|
<data name=">>smsTokenButton.ZOrder" xml:space="preserve">
|
||||||
<value>1</value>
|
<value>2</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="tokenEmailSentLabel.AutoSize" type="System.Boolean, mscorlib">
|
<data name="tokenEmailSentLabel.AutoSize" type="System.Boolean, mscorlib">
|
||||||
<value>True</value>
|
<value>True</value>
|
||||||
@@ -691,7 +724,7 @@
|
|||||||
<value>panel2</value>
|
<value>panel2</value>
|
||||||
</data>
|
</data>
|
||||||
<data name=">>tokenEmailSentLabel.ZOrder" xml:space="preserve">
|
<data name=">>tokenEmailSentLabel.ZOrder" xml:space="preserve">
|
||||||
<value>2</value>
|
<value>3</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="label3.AutoSize" type="System.Boolean, mscorlib">
|
<data name="label3.AutoSize" type="System.Boolean, mscorlib">
|
||||||
<value>True</value>
|
<value>True</value>
|
||||||
@@ -721,7 +754,7 @@
|
|||||||
<value>panel2</value>
|
<value>panel2</value>
|
||||||
</data>
|
</data>
|
||||||
<data name=">>label3.ZOrder" xml:space="preserve">
|
<data name=">>label3.ZOrder" xml:space="preserve">
|
||||||
<value>3</value>
|
<value>4</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="tokenTextBox.Anchor" type="System.Windows.Forms.AnchorStyles, System.Windows.Forms">
|
<data name="tokenTextBox.Anchor" type="System.Windows.Forms.AnchorStyles, System.Windows.Forms">
|
||||||
<value>Top, Left, Right</value>
|
<value>Top, Left, Right</value>
|
||||||
@@ -745,7 +778,7 @@
|
|||||||
<value>panel2</value>
|
<value>panel2</value>
|
||||||
</data>
|
</data>
|
||||||
<data name=">>tokenTextBox.ZOrder" xml:space="preserve">
|
<data name=">>tokenTextBox.ZOrder" xml:space="preserve">
|
||||||
<value>4</value>
|
<value>5</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="pictureBox6.Anchor" type="System.Windows.Forms.AnchorStyles, System.Windows.Forms">
|
<data name="pictureBox6.Anchor" type="System.Windows.Forms.AnchorStyles, System.Windows.Forms">
|
||||||
<value>Top, Bottom, Left, Right</value>
|
<value>Top, Bottom, Left, Right</value>
|
||||||
@@ -775,7 +808,7 @@
|
|||||||
<value>panel2</value>
|
<value>panel2</value>
|
||||||
</data>
|
</data>
|
||||||
<data name=">>pictureBox6.ZOrder" xml:space="preserve">
|
<data name=">>pictureBox6.ZOrder" xml:space="preserve">
|
||||||
<value>5</value>
|
<value>6</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="backButton2.Anchor" type="System.Windows.Forms.AnchorStyles, System.Windows.Forms">
|
<data name="backButton2.Anchor" type="System.Windows.Forms.AnchorStyles, System.Windows.Forms">
|
||||||
<value>Bottom, Right</value>
|
<value>Bottom, Right</value>
|
||||||
@@ -805,7 +838,7 @@
|
|||||||
<value>panel2</value>
|
<value>panel2</value>
|
||||||
</data>
|
</data>
|
||||||
<data name=">>backButton2.ZOrder" xml:space="preserve">
|
<data name=">>backButton2.ZOrder" xml:space="preserve">
|
||||||
<value>6</value>
|
<value>7</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="nextButton2.Anchor" type="System.Windows.Forms.AnchorStyles, System.Windows.Forms">
|
<data name="nextButton2.Anchor" type="System.Windows.Forms.AnchorStyles, System.Windows.Forms">
|
||||||
<value>Bottom, Right</value>
|
<value>Bottom, Right</value>
|
||||||
@@ -835,7 +868,7 @@
|
|||||||
<value>panel2</value>
|
<value>panel2</value>
|
||||||
</data>
|
</data>
|
||||||
<data name=">>nextButton2.ZOrder" xml:space="preserve">
|
<data name=">>nextButton2.ZOrder" xml:space="preserve">
|
||||||
<value>7</value>
|
<value>8</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="pictureBox4.Anchor" type="System.Windows.Forms.AnchorStyles, System.Windows.Forms">
|
<data name="pictureBox4.Anchor" type="System.Windows.Forms.AnchorStyles, System.Windows.Forms">
|
||||||
<value>Bottom, Left, Right</value>
|
<value>Bottom, Left, Right</value>
|
||||||
@@ -865,7 +898,7 @@
|
|||||||
<value>panel2</value>
|
<value>panel2</value>
|
||||||
</data>
|
</data>
|
||||||
<data name=">>pictureBox4.ZOrder" xml:space="preserve">
|
<data name=">>pictureBox4.ZOrder" xml:space="preserve">
|
||||||
<value>8</value>
|
<value>9</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="label2.Anchor" type="System.Windows.Forms.AnchorStyles, System.Windows.Forms">
|
<data name="label2.Anchor" type="System.Windows.Forms.AnchorStyles, System.Windows.Forms">
|
||||||
<value>Top, Left, Right</value>
|
<value>Top, Left, Right</value>
|
||||||
@@ -895,7 +928,7 @@
|
|||||||
<value>panel2</value>
|
<value>panel2</value>
|
||||||
</data>
|
</data>
|
||||||
<data name=">>label2.ZOrder" xml:space="preserve">
|
<data name=">>label2.ZOrder" xml:space="preserve">
|
||||||
<value>9</value>
|
<value>10</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="panel2.Dock" type="System.Windows.Forms.DockStyle, System.Windows.Forms">
|
<data name="panel2.Dock" type="System.Windows.Forms.DockStyle, System.Windows.Forms">
|
||||||
<value>Fill</value>
|
<value>Fill</value>
|
||||||
@@ -1439,7 +1472,7 @@
|
|||||||
AAEAAAD/////AQAAAAAAAAAMAgAAAFdTeXN0ZW0uV2luZG93cy5Gb3JtcywgVmVyc2lvbj00LjAuMC4w
|
AAEAAAD/////AQAAAAAAAAAMAgAAAFdTeXN0ZW0uV2luZG93cy5Gb3JtcywgVmVyc2lvbj00LjAuMC4w
|
||||||
LCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI3N2E1YzU2MTkzNGUwODkFAQAAACZTeXN0
|
LCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI3N2E1YzU2MTkzNGUwODkFAQAAACZTeXN0
|
||||||
ZW0uV2luZG93cy5Gb3Jtcy5JbWFnZUxpc3RTdHJlYW1lcgEAAAAERGF0YQcCAgAAAAkDAAAADwMAAADg
|
ZW0uV2luZG93cy5Gb3Jtcy5JbWFnZUxpc3RTdHJlYW1lcgEAAAAERGF0YQcCAgAAAAkDAAAADwMAAADg
|
||||||
HQAAAk1TRnQBSQFMAgEBEAEAARgBAAEYAQABEAEAARABAAT/ARkBAAj/AUIBTQE2BwABNgMAASgDAAFA
|
HQAAAk1TRnQBSQFMAgEBEAEAASABAAEgAQABEAEAARABAAT/ARkBAAj/AUIBTQE2BwABNgMAASgDAAFA
|
||||||
AwABUAMAAQEBAAEYBgABPP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AJYAA/0D+AP3A/sD/yEAA/0D+gP5
|
AwABUAMAAQEBAAEYBgABPP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AJYAA/0D+AP3A/sD/yEAA/0D+gP5
|
||||||
A/wD/xgAAfoB+wH6A/4qAAP9A/8tAAP7A88D1QPbA88D1AO+A9QYAAP8A90D4APjA90D4APUA+MSAAP8
|
A/wD/xgAAfoB+wH6A/4qAAP9A/8tAAP7A88D1QPbA88D1AO+A9QYAAP8A90D4APjA90D4APUA+MSAAP8
|
||||||
AZEBjwF9AU4BaAEhAfQB9QH0JAAD/gPRA8YD+ioAAcYCxwHPAtAB2ALZA90DywPBA68DmgP3FQAD2APd
|
AZEBjwF9AU4BaAEhAfQB9QH0JAAD/gPRA8YD+ioAAcYCxwHPAtAB2ALZA90DywPBA68DmgP3FQAD2APd
|
||||||
@@ -1606,7 +1639,7 @@
|
|||||||
<value>2, 88</value>
|
<value>2, 88</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="noSearchResultsLabel.Size" type="System.Drawing.Size, System.Drawing">
|
<data name="noSearchResultsLabel.Size" type="System.Drawing.Size, System.Drawing">
|
||||||
<value>446, 52</value>
|
<value>442, 52</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="noSearchResultsLabel.TabIndex" type="System.Int32, mscorlib">
|
<data name="noSearchResultsLabel.TabIndex" type="System.Int32, mscorlib">
|
||||||
<value>5</value>
|
<value>5</value>
|
||||||
@@ -1645,7 +1678,7 @@
|
|||||||
<value>2, 88</value>
|
<value>2, 88</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="noDevicesLabel.Size" type="System.Drawing.Size, System.Drawing">
|
<data name="noDevicesLabel.Size" type="System.Drawing.Size, System.Drawing">
|
||||||
<value>446, 52</value>
|
<value>442, 52</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="noDevicesLabel.TabIndex" type="System.Int32, mscorlib">
|
<data name="noDevicesLabel.TabIndex" type="System.Int32, mscorlib">
|
||||||
<value>4</value>
|
<value>4</value>
|
||||||
@@ -1735,7 +1768,7 @@
|
|||||||
<value>2, 79</value>
|
<value>2, 79</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="noMapLabel.Size" type="System.Drawing.Size, System.Drawing">
|
<data name="noMapLabel.Size" type="System.Drawing.Size, System.Drawing">
|
||||||
<value>446, 52</value>
|
<value>442, 52</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="noMapLabel.TabIndex" type="System.Int32, mscorlib">
|
<data name="noMapLabel.TabIndex" type="System.Int32, mscorlib">
|
||||||
<value>4</value>
|
<value>4</value>
|
||||||
|
|||||||
@@ -18,40 +18,11 @@
|
|||||||
"MainForm.resx%$this.Text"
|
"MainForm.resx%$this.Text"
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
{
|
|
||||||
"en": "&Connect...",
|
|
||||||
"fr": "&Relier...",
|
|
||||||
"xloc": [
|
|
||||||
"KVMViewer.resx%MenuItemConnect.Text"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"en": "&Control",
|
|
||||||
"fr": "&Contrôle",
|
|
||||||
"xloc": [
|
|
||||||
"KVMViewer.resx%toolStripMenuItem2.Text"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"en": "&Debug",
|
|
||||||
"fr": "&Déboguer",
|
|
||||||
"xloc": [
|
|
||||||
"KVMViewer.resx%debugToolStripMenuItem.Text"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"en": "&Disconnect",
|
|
||||||
"fr": "& Déconnecter",
|
|
||||||
"xloc": [
|
|
||||||
"KVMViewer.resx%MenuItemDisconnect.Text"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
{
|
{
|
||||||
"cs": "& Informace ...",
|
"cs": "& Informace ...",
|
||||||
"de": "&Die Info...",
|
"de": "&Die Info...",
|
||||||
"en": "&Info...",
|
"en": "&Info...",
|
||||||
"es": "& Info ...",
|
"es": "& Info ...",
|
||||||
"fr": "&Info...",
|
|
||||||
"hi": "और जानकारी ...",
|
"hi": "और जानकारी ...",
|
||||||
"it": "&Informazioni...",
|
"it": "&Informazioni...",
|
||||||
"ja": "情報...",
|
"ja": "情報...",
|
||||||
@@ -66,7 +37,6 @@
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
"en": "&Open Mappings...",
|
"en": "&Open Mappings...",
|
||||||
"fr": "& Ouvrir les mappages ...",
|
|
||||||
"xloc": [
|
"xloc": [
|
||||||
"MainForm.resx%openMappingsToolStripMenuItem.Text"
|
"MainForm.resx%openMappingsToolStripMenuItem.Text"
|
||||||
]
|
]
|
||||||
@@ -88,46 +58,16 @@
|
|||||||
"MainForm.resx%openToolStripMenuItem.Text"
|
"MainForm.resx%openToolStripMenuItem.Text"
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
{
|
|
||||||
"en": "&Pause",
|
|
||||||
"fr": "&Pause",
|
|
||||||
"xloc": [
|
|
||||||
"KVMViewer.resx%pauseToolStripMenuItem.Text"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"en": "&Refresh",
|
|
||||||
"fr": "&Rafraîchir",
|
|
||||||
"xloc": [
|
|
||||||
"KVMViewer.resx%refreshToolStripMenuItem.Text"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
{
|
{
|
||||||
"en": "&Save Mappings...",
|
"en": "&Save Mappings...",
|
||||||
"fr": "& Enregistrer les mappages ...",
|
|
||||||
"xloc": [
|
"xloc": [
|
||||||
"MainForm.resx%saveMappingsToolStripMenuItem.Text"
|
"MainForm.resx%saveMappingsToolStripMenuItem.Text"
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"en": "&Status",
|
"en": "(Individual Devices)",
|
||||||
"fr": "&Statut",
|
|
||||||
"xloc": [
|
"xloc": [
|
||||||
"KVMViewer.resx%statusToolStripMenuItem.Text"
|
"Properties%Resources.resx%IndividualDevices"
|
||||||
]
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"en": "&View",
|
|
||||||
"fr": "&Vue",
|
|
||||||
"xloc": [
|
|
||||||
"KVMViewer.resx%viewToolStripMenuItem.Text"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"en": "&Zoom-to-fit",
|
|
||||||
"fr": "& Zoomer pour ajuster",
|
|
||||||
"xloc": [
|
|
||||||
"KVMViewer.resx%zoomtofitToolStripMenuItem.Text"
|
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
@@ -168,44 +108,54 @@
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
"en": "---",
|
"en": "---",
|
||||||
"fr": "---",
|
|
||||||
"xloc": [
|
"xloc": [
|
||||||
"KVMViewer.resx%mainToolStripStatusLabel.Text"
|
"KVMViewer.resx%mainToolStripStatusLabel.Text"
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
"en": "0 Bytes",
|
||||||
|
"xloc": [
|
||||||
|
"KVMStats.resx%kvmCompInBytesLabel.Text",
|
||||||
|
"KVMStats.resx%kvmCompOutBytesLabel.Text",
|
||||||
|
"KVMStats.resx%kvmInBytesLabel.Text",
|
||||||
|
"KVMStats.resx%kvmOutBytesLabel.Text",
|
||||||
|
"MappingStats.resx%kvmCompInBytesLabel.Text",
|
||||||
|
"MappingStats.resx%kvmCompOutBytesLabel.Text",
|
||||||
|
"MappingStats.resx%kvmInBytesLabel.Text",
|
||||||
|
"MappingStats.resx%kvmOutBytesLabel.Text"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"en": "0%",
|
||||||
|
"xloc": [
|
||||||
|
"KVMStats.resx%inRatioLabel.Text",
|
||||||
|
"KVMStats.resx%outRatioLabel.Text",
|
||||||
|
"MappingStats.resx%inRatioLabel.Text",
|
||||||
|
"MappingStats.resx%outRatioLabel.Text"
|
||||||
|
]
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"cs": "127,0,0,1",
|
"cs": "127,0,0,1",
|
||||||
"en": "127.0.0.1",
|
"en": "127.0.0.1",
|
||||||
"fr": "127.0.0.1",
|
|
||||||
"xloc": [
|
"xloc": [
|
||||||
"AddRelayMapForm.resx%remoteIpTextBox.Text"
|
"AddRelayMapForm.resx%remoteIpTextBox.Text"
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"en": "AMT",
|
"en": "AMT",
|
||||||
"fr": "AMT",
|
|
||||||
"hi": "एएमटी",
|
"hi": "एएमटी",
|
||||||
"xloc": [
|
"xloc": [
|
||||||
"Properties%Resources.resx%AMT"
|
"Properties%Resources.resx%AMT"
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
{
|
|
||||||
"en": "Actions",
|
|
||||||
"fr": "Actions",
|
|
||||||
"xloc": [
|
|
||||||
"KVMViewer.resx%actionsToolStripMenuItem.Text"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
{
|
{
|
||||||
"en": "Add &Map...",
|
"en": "Add &Map...",
|
||||||
"fr": "Ajouter une & carte ...",
|
|
||||||
"xloc": [
|
"xloc": [
|
||||||
"MainForm.resx%addMapToolStripMenuItem.Text"
|
"MainForm.resx%addMapToolStripMenuItem.Text"
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"en": "Add &Relay Map...",
|
"en": "Add &Relay Map...",
|
||||||
"fr": "Ajouter une carte de & relais ...",
|
|
||||||
"xloc": [
|
"xloc": [
|
||||||
"MainForm.resx%addRelayMapToolStripMenuItem.Text"
|
"MainForm.resx%addRelayMapToolStripMenuItem.Text"
|
||||||
]
|
]
|
||||||
@@ -250,7 +200,6 @@
|
|||||||
"cs": "Činidlo",
|
"cs": "Činidlo",
|
||||||
"en": "Agent",
|
"en": "Agent",
|
||||||
"es": "Agente",
|
"es": "Agente",
|
||||||
"fr": "Agent",
|
|
||||||
"hi": "एजेंट",
|
"hi": "एजेंट",
|
||||||
"it": "Agente",
|
"it": "Agente",
|
||||||
"ja": "エージェント",
|
"ja": "エージェント",
|
||||||
@@ -287,7 +236,6 @@
|
|||||||
"de": "Anwendung",
|
"de": "Anwendung",
|
||||||
"en": "Application",
|
"en": "Application",
|
||||||
"es": "Solicitud",
|
"es": "Solicitud",
|
||||||
"fr": "Application",
|
|
||||||
"hi": "आवेदन",
|
"hi": "आवेदन",
|
||||||
"it": "Applicazione",
|
"it": "Applicazione",
|
||||||
"ja": "応用",
|
"ja": "応用",
|
||||||
@@ -394,7 +342,6 @@
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
"en": "CIRA",
|
"en": "CIRA",
|
||||||
"fr": "CIRA",
|
|
||||||
"hi": "सीआईआरए",
|
"hi": "सीआईआरए",
|
||||||
"ja": "チラ",
|
"ja": "チラ",
|
||||||
"ko": "시라",
|
"ko": "시라",
|
||||||
@@ -499,6 +446,13 @@
|
|||||||
"MainForm.resx%nextButton5.Text"
|
"MainForm.resx%nextButton5.Text"
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
"en": "Compressed Network Traffic",
|
||||||
|
"xloc": [
|
||||||
|
"KVMStats.resx%groupBox1.Text",
|
||||||
|
"MappingStats.resx%groupBox1.Text"
|
||||||
|
]
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"en": "Compression Settings",
|
"en": "Compression Settings",
|
||||||
"fr": "Paramètres de compression",
|
"fr": "Paramètres de compression",
|
||||||
@@ -612,6 +566,13 @@
|
|||||||
"MainForm.resx%devicesTabPage.Text"
|
"MainForm.resx%devicesTabPage.Text"
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
"en": "Don't ask for {0} days.",
|
||||||
|
"xloc": [
|
||||||
|
"MainForm.resx%tokenRememberCheckBox.Text",
|
||||||
|
"Properties%Resources.resx%DontAskXDays"
|
||||||
|
]
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"cs": "Výstup",
|
"cs": "Výstup",
|
||||||
"de": "Ausgang",
|
"de": "Ausgang",
|
||||||
@@ -627,7 +588,6 @@
|
|||||||
"ru": "Выход",
|
"ru": "Выход",
|
||||||
"zh-chs": "出口",
|
"zh-chs": "出口",
|
||||||
"xloc": [
|
"xloc": [
|
||||||
"KVMViewer.resx%MenuItemExit.Text",
|
|
||||||
"MainForm.resx%exitToolStripMenuItem.Text"
|
"MainForm.resx%exitToolStripMenuItem.Text"
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
@@ -635,7 +595,6 @@
|
|||||||
"cs": "E-mailem",
|
"cs": "E-mailem",
|
||||||
"en": "Email",
|
"en": "Email",
|
||||||
"es": "Correo electrónico",
|
"es": "Correo electrónico",
|
||||||
"fr": "Email",
|
|
||||||
"hi": "ईमेल",
|
"hi": "ईमेल",
|
||||||
"it": "E-mail",
|
"it": "E-mail",
|
||||||
"ja": "Eメール",
|
"ja": "Eメール",
|
||||||
@@ -748,7 +707,6 @@
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
"en": "HTTP",
|
"en": "HTTP",
|
||||||
"fr": "HTTP",
|
|
||||||
"hi": "एचटीटीपी",
|
"hi": "एचटीटीपी",
|
||||||
"xloc": [
|
"xloc": [
|
||||||
"DeviceUserControl.resx%httpButton.Text",
|
"DeviceUserControl.resx%httpButton.Text",
|
||||||
@@ -757,7 +715,6 @@
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
"en": "HTTPS",
|
"en": "HTTPS",
|
||||||
"fr": "HTTPS",
|
|
||||||
"xloc": [
|
"xloc": [
|
||||||
"DeviceUserControl.resx%httpsButton.Text",
|
"DeviceUserControl.resx%httpsButton.Text",
|
||||||
"MainForm.resx%httpsToolStripMenuItem.Text"
|
"MainForm.resx%httpsToolStripMenuItem.Text"
|
||||||
@@ -781,6 +738,22 @@
|
|||||||
"MainForm.resx%nextButton3.Text"
|
"MainForm.resx%nextButton3.Text"
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
"en": "Incoming Bytes",
|
||||||
|
"xloc": [
|
||||||
|
"KVMStats.resx%label12.Text",
|
||||||
|
"KVMStats.resx%label4.Text",
|
||||||
|
"MappingStats.resx%label12.Text",
|
||||||
|
"MappingStats.resx%label4.Text"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"en": "Incoming Compression",
|
||||||
|
"xloc": [
|
||||||
|
"KVMStats.resx%label11.Text",
|
||||||
|
"MappingStats.resx%label11.Text"
|
||||||
|
]
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"cs": "Nainstalujte...",
|
"cs": "Nainstalujte...",
|
||||||
"de": "Installieren...",
|
"de": "Installieren...",
|
||||||
@@ -803,7 +776,6 @@
|
|||||||
"cs": "Instalace",
|
"cs": "Instalace",
|
||||||
"en": "Installation",
|
"en": "Installation",
|
||||||
"es": "Instalación",
|
"es": "Instalación",
|
||||||
"fr": "Installation",
|
|
||||||
"hi": "स्थापना",
|
"hi": "स्थापना",
|
||||||
"it": "Installazione",
|
"it": "Installazione",
|
||||||
"ja": "取り付け",
|
"ja": "取り付け",
|
||||||
@@ -910,7 +882,6 @@
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
"en": "MQTT",
|
"en": "MQTT",
|
||||||
"fr": "MQTT",
|
|
||||||
"xloc": [
|
"xloc": [
|
||||||
"Properties%Resources.resx%MQTT"
|
"Properties%Resources.resx%MQTT"
|
||||||
]
|
]
|
||||||
@@ -936,7 +907,6 @@
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
"en": "MeshCentral",
|
"en": "MeshCentral",
|
||||||
"fr": "MeshCentral",
|
|
||||||
"zh-chs": "网格中心",
|
"zh-chs": "网格中心",
|
||||||
"xloc": [
|
"xloc": [
|
||||||
"Properties%Resources.resx%MeshCentralTitle"
|
"Properties%Resources.resx%MeshCentralTitle"
|
||||||
@@ -1008,6 +978,8 @@
|
|||||||
"ru": "имя",
|
"ru": "имя",
|
||||||
"zh-chs": "名称",
|
"zh-chs": "名称",
|
||||||
"xloc": [
|
"xloc": [
|
||||||
|
"AddPortMapForm.resx%label8.Text",
|
||||||
|
"AddRelayMapForm.resx%label8.Text",
|
||||||
"AppLaunchForm.resx%label1.Text",
|
"AppLaunchForm.resx%label1.Text",
|
||||||
"MainForm.resx%nameColumnHeader.Text"
|
"MainForm.resx%nameColumnHeader.Text"
|
||||||
]
|
]
|
||||||
@@ -1100,6 +1072,8 @@
|
|||||||
"AppLaunchForm.resx%okButton.Text",
|
"AppLaunchForm.resx%okButton.Text",
|
||||||
"InstallForm.resx%okButton.Text",
|
"InstallForm.resx%okButton.Text",
|
||||||
"KVMSettingsForm.resx%okButton.Text",
|
"KVMSettingsForm.resx%okButton.Text",
|
||||||
|
"KVMStats.resx%okButton.Text",
|
||||||
|
"MappingStats.resx%okButton.Text",
|
||||||
"SettingsForm.resx%okButton.Text",
|
"SettingsForm.resx%okButton.Text",
|
||||||
"altPortForm.resx%okButton.Text",
|
"altPortForm.resx%okButton.Text",
|
||||||
"rdpPortForm.resx%okButton.Text"
|
"rdpPortForm.resx%okButton.Text"
|
||||||
@@ -1173,6 +1147,22 @@
|
|||||||
"MapUserControl.resx%appButton.Text"
|
"MapUserControl.resx%appButton.Text"
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
"en": "Outgoing Bytes",
|
||||||
|
"xloc": [
|
||||||
|
"KVMStats.resx%label2.Text",
|
||||||
|
"KVMStats.resx%label3.Text",
|
||||||
|
"MappingStats.resx%label2.Text",
|
||||||
|
"MappingStats.resx%label3.Text"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"en": "Outgoing Compression",
|
||||||
|
"xloc": [
|
||||||
|
"KVMStats.resx%label10.Text",
|
||||||
|
"MappingStats.resx%label10.Text"
|
||||||
|
]
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"cs": "Heslo",
|
"cs": "Heslo",
|
||||||
"de": "Passwort",
|
"de": "Passwort",
|
||||||
@@ -1287,7 +1277,6 @@
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
"en": "RDP",
|
"en": "RDP",
|
||||||
"fr": "RDP",
|
|
||||||
"hi": "आरडीपी",
|
"hi": "आरडीपी",
|
||||||
"xloc": [
|
"xloc": [
|
||||||
"DeviceUserControl.resx%rdpButton.Text",
|
"DeviceUserControl.resx%rdpButton.Text",
|
||||||
@@ -1367,6 +1356,12 @@
|
|||||||
"AddRelayMapForm.resx%$this.Text"
|
"AddRelayMapForm.resx%$this.Text"
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
"en": "Remember this certificate",
|
||||||
|
"xloc": [
|
||||||
|
"MainForm.resx%rememberCertCheckBox.Text"
|
||||||
|
]
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"en": "Remote Desktop",
|
"en": "Remote Desktop",
|
||||||
"fr": "Bureau à distance",
|
"fr": "Bureau à distance",
|
||||||
@@ -1374,6 +1369,12 @@
|
|||||||
"KVMViewer.resx%$this.Text"
|
"KVMViewer.resx%$this.Text"
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
"en": "Remote Desktop Data",
|
||||||
|
"xloc": [
|
||||||
|
"KVMStats.resx%groupBox2.Text"
|
||||||
|
]
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"en": "Remote Desktop Settings",
|
"en": "Remote Desktop Settings",
|
||||||
"fr": "Paramètres du bureau à distance",
|
"fr": "Paramètres du bureau à distance",
|
||||||
@@ -1381,9 +1382,14 @@
|
|||||||
"KVMSettingsForm.resx%$this.Text"
|
"KVMSettingsForm.resx%$this.Text"
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
"en": "Remote Desktop Stats",
|
||||||
|
"xloc": [
|
||||||
|
"KVMStats.resx%$this.Text"
|
||||||
|
]
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"en": "Remote Desktop...",
|
"en": "Remote Desktop...",
|
||||||
"fr": "Bureau à distance...",
|
|
||||||
"xloc": [
|
"xloc": [
|
||||||
"MainForm.resx%remoteDesktopToolStripMenuItem.Text"
|
"MainForm.resx%remoteDesktopToolStripMenuItem.Text"
|
||||||
]
|
]
|
||||||
@@ -1468,6 +1474,12 @@
|
|||||||
"MapUserControl.resx%closeButton.Text"
|
"MapUserControl.resx%closeButton.Text"
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
"en": "Routing Stats",
|
||||||
|
"xloc": [
|
||||||
|
"MappingStats.resx%$this.Text"
|
||||||
|
]
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"cs": "Stav směrování",
|
"cs": "Stav směrování",
|
||||||
"de": "Routing-Status",
|
"de": "Routing-Status",
|
||||||
@@ -1488,7 +1500,6 @@
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
"en": "SCP",
|
"en": "SCP",
|
||||||
"fr": "SCP",
|
|
||||||
"xloc": [
|
"xloc": [
|
||||||
"DeviceUserControl.resx%scpButton.Text",
|
"DeviceUserControl.resx%scpButton.Text",
|
||||||
"MainForm.resx%scpToolStripMenuItem.Text"
|
"MainForm.resx%scpToolStripMenuItem.Text"
|
||||||
@@ -1496,7 +1507,6 @@
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
"en": "SMS",
|
"en": "SMS",
|
||||||
"fr": "SMS",
|
|
||||||
"hi": "एसएमएस",
|
"hi": "एसएमएस",
|
||||||
"it": "sms",
|
"it": "sms",
|
||||||
"nl": "sms",
|
"nl": "sms",
|
||||||
@@ -1526,7 +1536,6 @@
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
"en": "SSH",
|
"en": "SSH",
|
||||||
"fr": "SSH",
|
|
||||||
"zh-chs": "SSH协议",
|
"zh-chs": "SSH协议",
|
||||||
"xloc": [
|
"xloc": [
|
||||||
"DeviceUserControl.resx%sshButton.Text",
|
"DeviceUserControl.resx%sshButton.Text",
|
||||||
@@ -1558,13 +1567,6 @@
|
|||||||
"Properties%Resources.resx%SearchPlaceHolder"
|
"Properties%Resources.resx%SearchPlaceHolder"
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
{
|
|
||||||
"en": "Send &Ctrl-Alt-Del",
|
|
||||||
"fr": "Envoyer & Ctrl-Alt-Suppr",
|
|
||||||
"xloc": [
|
|
||||||
"KVMViewer.resx%sendCtrlAltDelToolStripMenuItem.Text"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
{
|
{
|
||||||
"cs": "Odeslat token na zaregistrovanou e-mailovou adresu?",
|
"cs": "Odeslat token na zaregistrovanou e-mailovou adresu?",
|
||||||
"de": "Token an registrierte E-Mail-Adresse senden?",
|
"de": "Token an registrierte E-Mail-Adresse senden?",
|
||||||
@@ -1652,13 +1654,6 @@
|
|||||||
"ServerUserControl.resx%serverNameLabel.Text"
|
"ServerUserControl.resx%serverNameLabel.Text"
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
{
|
|
||||||
"en": "Session Settings...",
|
|
||||||
"fr": "Paramètres de session ...",
|
|
||||||
"xloc": [
|
|
||||||
"KVMViewer.resx%settingsToolStripMenuItem.Text"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
{
|
{
|
||||||
"cs": "Nastavit port RDP ...",
|
"cs": "Nastavit port RDP ...",
|
||||||
"de": "RDP-Port einstellen ...",
|
"de": "RDP-Port einstellen ...",
|
||||||
@@ -1757,7 +1752,6 @@
|
|||||||
"de": "Seite? ˅",
|
"de": "Seite? ˅",
|
||||||
"en": "Site",
|
"en": "Site",
|
||||||
"es": "Sitio",
|
"es": "Sitio",
|
||||||
"fr": "Site",
|
|
||||||
"hi": "साइट",
|
"hi": "साइट",
|
||||||
"it": "Luogo",
|
"it": "Luogo",
|
||||||
"ja": "地点",
|
"ja": "地点",
|
||||||
@@ -1825,11 +1819,22 @@
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
"en": "State",
|
"en": "State",
|
||||||
"fr": "Etat",
|
|
||||||
"xloc": [
|
"xloc": [
|
||||||
"MainForm.resx%stateColumnHeader.Text"
|
"MainForm.resx%stateColumnHeader.Text"
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
"en": "Stats",
|
||||||
|
"xloc": [
|
||||||
|
"KVMViewer.resx%statsButton.Text"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"en": "Stats...",
|
||||||
|
"xloc": [
|
||||||
|
"MapUserControl.resx%statsToolStripMenuItem.Text"
|
||||||
|
]
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"cs": "Zastavil",
|
"cs": "Zastavil",
|
||||||
"de": "Gestoppt",
|
"de": "Gestoppt",
|
||||||
@@ -1868,7 +1873,6 @@
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
"en": "TCP",
|
"en": "TCP",
|
||||||
"fr": "TCP",
|
|
||||||
"hi": "टीसीपी",
|
"hi": "टीसीपी",
|
||||||
"zh-chs": "TCP协议",
|
"zh-chs": "TCP协议",
|
||||||
"xloc": [
|
"xloc": [
|
||||||
@@ -1912,6 +1916,12 @@
|
|||||||
"MainForm.resx%tabPage2.Text"
|
"MainForm.resx%tabPage2.Text"
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
"en": "Tunnelling Data",
|
||||||
|
"xloc": [
|
||||||
|
"MappingStats.resx%groupBox2.Text"
|
||||||
|
]
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"cs": "Dvoufaktorové ověření",
|
"cs": "Dvoufaktorové ověření",
|
||||||
"de": "Zwei-Faktor-Authentifizierung",
|
"de": "Zwei-Faktor-Authentifizierung",
|
||||||
@@ -1932,7 +1942,6 @@
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
"en": "UDP",
|
"en": "UDP",
|
||||||
"fr": "UDP",
|
|
||||||
"hi": "यूडीपी",
|
"hi": "यूडीपी",
|
||||||
"zh-chs": "UDP协议",
|
"zh-chs": "UDP协议",
|
||||||
"xloc": [
|
"xloc": [
|
||||||
@@ -2067,22 +2076,13 @@
|
|||||||
]
|
]
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"en": "Zoom-to-Fit",
|
"en": "label1",
|
||||||
"fr": "Ajustement Zoom",
|
|
||||||
"xloc": [
|
"xloc": [
|
||||||
"KVMViewer.resx%zoomButton.Text"
|
"KVMViewer.resx%consoleMessage.Text"
|
||||||
]
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"en": "menuStrip1",
|
|
||||||
"fr": "menuStrip1",
|
|
||||||
"xloc": [
|
|
||||||
"KVMViewer.resx%mainMenu.Text"
|
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"en": "statusStrip1",
|
"en": "statusStrip1",
|
||||||
"fr": "statusStrip1",
|
|
||||||
"xloc": [
|
"xloc": [
|
||||||
"KVMViewer.resx%mainStatusStrip.Text"
|
"KVMViewer.resx%mainStatusStrip.Text"
|
||||||
]
|
]
|
||||||
@@ -2095,7 +2095,6 @@
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
"en": "v0.8.0",
|
"en": "v0.8.0",
|
||||||
"fr": "v0.8.0",
|
|
||||||
"xloc": [
|
"xloc": [
|
||||||
"MainForm.resx%versionLabel.Text"
|
"MainForm.resx%versionLabel.Text"
|
||||||
]
|
]
|
||||||
|
|||||||
@@ -62,6 +62,7 @@ namespace MeshCentralRouter
|
|||||||
public bool ignoreCert = false;
|
public bool ignoreCert = false;
|
||||||
public string userid = null;
|
public string userid = null;
|
||||||
public string username = null;
|
public string username = null;
|
||||||
|
public int twoFactorCookieDays = 0;
|
||||||
public Dictionary<string, ulong> userRights = null;
|
public Dictionary<string, ulong> userRights = null;
|
||||||
public Dictionary<string, string> userGroups = null;
|
public Dictionary<string, string> userGroups = null;
|
||||||
|
|
||||||
@@ -205,6 +206,7 @@ namespace MeshCentralRouter
|
|||||||
if (jsonAction.ContainsKey("email2fasent")) { disconnectEmail2FASent = (bool)jsonAction["email2fasent"]; } else { disconnectEmail2FASent = false; }
|
if (jsonAction.ContainsKey("email2fasent")) { disconnectEmail2FASent = (bool)jsonAction["email2fasent"]; } else { disconnectEmail2FASent = false; }
|
||||||
if (jsonAction.ContainsKey("sms2fa")) { disconnectSms2FA = (bool)jsonAction["sms2fa"]; } else { disconnectSms2FA = false; }
|
if (jsonAction.ContainsKey("sms2fa")) { disconnectSms2FA = (bool)jsonAction["sms2fa"]; } else { disconnectSms2FA = false; }
|
||||||
if (jsonAction.ContainsKey("sms2fasent")) { disconnectSms2FASent = (bool)jsonAction["sms2fasent"]; } else { disconnectSms2FASent = false; }
|
if (jsonAction.ContainsKey("sms2fasent")) { disconnectSms2FASent = (bool)jsonAction["sms2fasent"]; } else { disconnectSms2FASent = false; }
|
||||||
|
if (jsonAction.ContainsKey("twoFactorCookieDays") && (jsonAction["twoFactorCookieDays"].GetType() == typeof(int))) { twoFactorCookieDays = (int)jsonAction["twoFactorCookieDays"]; }
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
case "serverinfo":
|
case "serverinfo":
|
||||||
@@ -569,6 +571,15 @@ namespace MeshCentralRouter
|
|||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
case "twoFactorCookie":
|
||||||
|
{
|
||||||
|
if (jsonAction.ContainsKey("cookie"))
|
||||||
|
{
|
||||||
|
string cookie = (string)jsonAction["cookie"];
|
||||||
|
if (onTwoFactorCookie != null) { onTwoFactorCookie(cookie); }
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
}
|
||||||
default:
|
default:
|
||||||
{
|
{
|
||||||
break;
|
break;
|
||||||
@@ -586,6 +597,8 @@ namespace MeshCentralRouter
|
|||||||
public event onLoginTokenChangedHandler onLoginTokenChanged;
|
public event onLoginTokenChangedHandler onLoginTokenChanged;
|
||||||
public delegate void onClipboardDataHandler(string nodeid, string data);
|
public delegate void onClipboardDataHandler(string nodeid, string data);
|
||||||
public event onClipboardDataHandler onClipboardData;
|
public event onClipboardDataHandler onClipboardData;
|
||||||
|
public delegate void twoFactorCookieHandler(string cookie);
|
||||||
|
public event twoFactorCookieHandler onTwoFactorCookie;
|
||||||
|
|
||||||
public class xwebclient : IDisposable
|
public class xwebclient : IDisposable
|
||||||
{
|
{
|
||||||
|
|||||||
37
Properties/Resources.Designer.cs
generated
37
Properties/Resources.Designer.cs
generated
@@ -60,16 +60,6 @@ namespace MeshCentralRouter.Properties {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/// <summary>
|
|
||||||
/// Looks up a localized resource of type System.Drawing.Bitmap.
|
|
||||||
/// </summary>
|
|
||||||
internal static System.Drawing.Bitmap _50_Computer {
|
|
||||||
get {
|
|
||||||
object obj = ResourceManager.GetObject("50-Computer", resourceCulture);
|
|
||||||
return ((System.Drawing.Bitmap)(obj));
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Looks up a localized string similar to Agent.
|
/// Looks up a localized string similar to Agent.
|
||||||
/// </summary>
|
/// </summary>
|
||||||
@@ -97,6 +87,25 @@ namespace MeshCentralRouter.Properties {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Looks up a localized resource of type System.Drawing.Bitmap.
|
||||||
|
/// </summary>
|
||||||
|
internal static System.Drawing.Bitmap Computer50 {
|
||||||
|
get {
|
||||||
|
object obj = ResourceManager.GetObject("Computer50", resourceCulture);
|
||||||
|
return ((System.Drawing.Bitmap)(obj));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Looks up a localized string similar to Don't ask for {0} days..
|
||||||
|
/// </summary>
|
||||||
|
internal static string DontAskXDays {
|
||||||
|
get {
|
||||||
|
return ResourceManager.GetString("DontAskXDays", resourceCulture);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Looks up a localized string similar to Email sent.
|
/// Looks up a localized string similar to Email sent.
|
||||||
/// </summary>
|
/// </summary>
|
||||||
@@ -168,9 +177,9 @@ namespace MeshCentralRouter.Properties {
|
|||||||
/// <summary>
|
/// <summary>
|
||||||
/// Looks up a localized resource of type System.Drawing.Bitmap.
|
/// Looks up a localized resource of type System.Drawing.Bitmap.
|
||||||
/// </summary>
|
/// </summary>
|
||||||
internal static System.Drawing.Bitmap icon_clipboard_in {
|
internal static System.Drawing.Bitmap iconClipboardIn {
|
||||||
get {
|
get {
|
||||||
object obj = ResourceManager.GetObject("icon-clipboard-in", resourceCulture);
|
object obj = ResourceManager.GetObject("iconClipboardIn", resourceCulture);
|
||||||
return ((System.Drawing.Bitmap)(obj));
|
return ((System.Drawing.Bitmap)(obj));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -178,9 +187,9 @@ namespace MeshCentralRouter.Properties {
|
|||||||
/// <summary>
|
/// <summary>
|
||||||
/// Looks up a localized resource of type System.Drawing.Bitmap.
|
/// Looks up a localized resource of type System.Drawing.Bitmap.
|
||||||
/// </summary>
|
/// </summary>
|
||||||
internal static System.Drawing.Bitmap icon_clipboard_out {
|
internal static System.Drawing.Bitmap iconClipboardOut {
|
||||||
get {
|
get {
|
||||||
object obj = ResourceManager.GetObject("icon-clipboard-out", resourceCulture);
|
object obj = ResourceManager.GetObject("iconClipboardOut", resourceCulture);
|
||||||
return ((System.Drawing.Bitmap)(obj));
|
return ((System.Drawing.Bitmap)(obj));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -166,7 +166,7 @@
|
|||||||
<data name="MeshCentral" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
<data name="MeshCentral" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||||
<value>..\Resources\MeshCentral.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
<value>..\Resources\MeshCentral.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="icon-clipboard-out" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
<data name="iconClipboardOut" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||||
<value>..\Resources\icon-clipboard-out.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
<value>..\Resources\icon-clipboard-out.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="Offline" xml:space="preserve">
|
<data name="Offline" xml:space="preserve">
|
||||||
@@ -205,7 +205,7 @@
|
|||||||
<data name="Starting" xml:space="preserve">
|
<data name="Starting" xml:space="preserve">
|
||||||
<value>Starting...</value>
|
<value>Starting...</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="50-Computer" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
<data name="Computer50" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||||
<value>..\Resources\50-Computer.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
<value>..\Resources\50-Computer.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="IndividualDevices" xml:space="preserve">
|
<data name="IndividualDevices" xml:space="preserve">
|
||||||
@@ -232,7 +232,7 @@
|
|||||||
<data name="UnableToBindToLocalPort" xml:space="preserve">
|
<data name="UnableToBindToLocalPort" xml:space="preserve">
|
||||||
<value>Unable to bind to local port</value>
|
<value>Unable to bind to local port</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="icon-clipboard-in" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
<data name="iconClipboardIn" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||||
<value>..\Resources\icon-clipboard-in.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
<value>..\Resources\icon-clipboard-in.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="InvalidUsernameOrPassword" xml:space="preserve">
|
<data name="InvalidUsernameOrPassword" xml:space="preserve">
|
||||||
@@ -241,4 +241,7 @@
|
|||||||
<data name="ZoomToFit" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
<data name="ZoomToFit" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||||
<value>..\Resources\ZoomToFit.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
<value>..\Resources\ZoomToFit.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="DontAskXDays" xml:space="preserve">
|
||||||
|
<value>Don't ask for {0} days.</value>
|
||||||
|
</data>
|
||||||
</root>
|
</root>
|
||||||
Reference in New Issue
Block a user