diff --git a/v2rayN/v2rayN/Forms/GlobalHotkeySettingForm.Designer.cs b/v2rayN/v2rayN/Forms/GlobalHotkeySettingForm.Designer.cs new file mode 100644 index 00000000..ba25fdee --- /dev/null +++ b/v2rayN/v2rayN/Forms/GlobalHotkeySettingForm.Designer.cs @@ -0,0 +1,186 @@ +namespace v2rayN.Forms +{ + partial class GlobalHotkeySettingForm + { + /// <summary> + /// Required designer variable. + /// </summary> + private System.ComponentModel.IContainer components = null; + + /// <summary> + /// Clean up any resources being used. + /// </summary> + /// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param> + protected override void Dispose(bool disposing) + { + if (disposing && (components != null)) + { + components.Dispose(); + } + base.Dispose(disposing); + } + + #region Windows Form Designer generated code + + /// <summary> + /// Required method for Designer support - do not modify + /// the contents of this method with the code editor. + /// </summary> + private void InitializeComponent() + { + System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(GlobalHotkeySettingForm)); + this.btnClose = new System.Windows.Forms.Button(); + this.panel2 = new System.Windows.Forms.Panel(); + this.btnReset = new System.Windows.Forms.Button(); + this.btnOK = new System.Windows.Forms.Button(); + this.panel1 = new System.Windows.Forms.Panel(); + this.label6 = new System.Windows.Forms.Label(); + this.label5 = new System.Windows.Forms.Label(); + this.txtGlobalHotkey3 = new System.Windows.Forms.TextBox(); + this.label4 = new System.Windows.Forms.Label(); + this.txtGlobalHotkey2 = new System.Windows.Forms.TextBox(); + this.label3 = new System.Windows.Forms.Label(); + this.txtGlobalHotkey1 = new System.Windows.Forms.TextBox(); + this.label1 = new System.Windows.Forms.Label(); + this.txtGlobalHotkey0 = new System.Windows.Forms.TextBox(); + this.label2 = new System.Windows.Forms.Label(); + this.panel2.SuspendLayout(); + this.panel1.SuspendLayout(); + this.SuspendLayout(); + // + // btnClose + // + resources.ApplyResources(this.btnClose, "btnClose"); + this.btnClose.DialogResult = System.Windows.Forms.DialogResult.Cancel; + this.btnClose.Name = "btnClose"; + this.btnClose.UseVisualStyleBackColor = true; + this.btnClose.Click += new System.EventHandler(this.btnClose_Click); + // + // panel2 + // + resources.ApplyResources(this.panel2, "panel2"); + this.panel2.Controls.Add(this.btnReset); + this.panel2.Controls.Add(this.btnClose); + this.panel2.Controls.Add(this.btnOK); + this.panel2.Name = "panel2"; + // + // btnReset + // + resources.ApplyResources(this.btnReset, "btnReset"); + this.btnReset.Name = "btnReset"; + this.btnReset.UseVisualStyleBackColor = true; + this.btnReset.Click += new System.EventHandler(this.btnReset_Click); + // + // btnOK + // + resources.ApplyResources(this.btnOK, "btnOK"); + this.btnOK.Name = "btnOK"; + this.btnOK.UseVisualStyleBackColor = true; + this.btnOK.Click += new System.EventHandler(this.btnOK_Click); + // + // panel1 + // + resources.ApplyResources(this.panel1, "panel1"); + this.panel1.Controls.Add(this.label6); + this.panel1.Controls.Add(this.label5); + this.panel1.Controls.Add(this.txtGlobalHotkey3); + this.panel1.Controls.Add(this.label4); + this.panel1.Controls.Add(this.txtGlobalHotkey2); + this.panel1.Controls.Add(this.label3); + this.panel1.Controls.Add(this.txtGlobalHotkey1); + this.panel1.Controls.Add(this.label1); + this.panel1.Controls.Add(this.txtGlobalHotkey0); + this.panel1.Controls.Add(this.label2); + this.panel1.Name = "panel1"; + // + // label6 + // + resources.ApplyResources(this.label6, "label6"); + this.label6.ForeColor = System.Drawing.Color.Red; + this.label6.Name = "label6"; + // + // label5 + // + resources.ApplyResources(this.label5, "label5"); + this.label5.ForeColor = System.Drawing.Color.Red; + this.label5.Name = "label5"; + // + // txtGlobalHotkey3 + // + resources.ApplyResources(this.txtGlobalHotkey3, "txtGlobalHotkey3"); + this.txtGlobalHotkey3.Name = "txtGlobalHotkey3"; + this.txtGlobalHotkey3.ReadOnly = true; + // + // label4 + // + resources.ApplyResources(this.label4, "label4"); + this.label4.Name = "label4"; + // + // txtGlobalHotkey2 + // + resources.ApplyResources(this.txtGlobalHotkey2, "txtGlobalHotkey2"); + this.txtGlobalHotkey2.Name = "txtGlobalHotkey2"; + this.txtGlobalHotkey2.ReadOnly = true; + // + // label3 + // + resources.ApplyResources(this.label3, "label3"); + this.label3.Name = "label3"; + // + // txtGlobalHotkey1 + // + resources.ApplyResources(this.txtGlobalHotkey1, "txtGlobalHotkey1"); + this.txtGlobalHotkey1.Name = "txtGlobalHotkey1"; + this.txtGlobalHotkey1.ReadOnly = true; + // + // label1 + // + resources.ApplyResources(this.label1, "label1"); + this.label1.Name = "label1"; + // + // txtGlobalHotkey0 + // + resources.ApplyResources(this.txtGlobalHotkey0, "txtGlobalHotkey0"); + this.txtGlobalHotkey0.Name = "txtGlobalHotkey0"; + this.txtGlobalHotkey0.ReadOnly = true; + // + // label2 + // + resources.ApplyResources(this.label2, "label2"); + this.label2.Name = "label2"; + // + // GlobalHotkeySettingForm + // + resources.ApplyResources(this, "$this"); + this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; + this.CancelButton = this.btnClose; + this.Controls.Add(this.panel1); + this.Controls.Add(this.panel2); + this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedSingle; + this.Name = "GlobalHotkeySettingForm"; + this.Load += new System.EventHandler(this.GlobalHotkeySettingForm_Load); + this.panel2.ResumeLayout(false); + this.panel1.ResumeLayout(false); + this.panel1.PerformLayout(); + this.ResumeLayout(false); + + } + + #endregion + private System.Windows.Forms.Button btnClose; + private System.Windows.Forms.Button btnOK; + private System.Windows.Forms.Panel panel2; + private System.Windows.Forms.Panel panel1; + private System.Windows.Forms.TextBox txtGlobalHotkey0; + private System.Windows.Forms.Label label2; + private System.Windows.Forms.TextBox txtGlobalHotkey3; + private System.Windows.Forms.Label label4; + private System.Windows.Forms.TextBox txtGlobalHotkey2; + private System.Windows.Forms.Label label3; + private System.Windows.Forms.TextBox txtGlobalHotkey1; + private System.Windows.Forms.Label label1; + private System.Windows.Forms.Label label5; + private System.Windows.Forms.Button btnReset; + private System.Windows.Forms.Label label6; + } +} \ No newline at end of file diff --git a/v2rayN/v2rayN/Forms/GlobalHotkeySettingForm.cs b/v2rayN/v2rayN/Forms/GlobalHotkeySettingForm.cs new file mode 100644 index 00000000..66799af0 --- /dev/null +++ b/v2rayN/v2rayN/Forms/GlobalHotkeySettingForm.cs @@ -0,0 +1,138 @@ +using System; +using System.Collections.Generic; +using System.Windows.Forms; +using v2rayN.Base; +using v2rayN.Handler; +using v2rayN.Mode; + +namespace v2rayN.Forms +{ + public partial class GlobalHotkeySettingForm : BaseForm + { + List<KeyEventItem> lstKey; + public GlobalHotkeySettingForm() + { + InitializeComponent(); + } + + private void GlobalHotkeySettingForm_Load(object sender, EventArgs e) + { + if (config.globalHotkeys == null) + { + config.globalHotkeys = new List<KeyEventItem>(); + } + + foreach (EGlobalHotkey it in Enum.GetValues(typeof(EGlobalHotkey))) + { + if (config.globalHotkeys.FindIndex(t => t.eGlobalHotkey == it) >= 0) + { + continue; + } + + config.globalHotkeys.Add(new KeyEventItem() + { + eGlobalHotkey = it, + Alt = false, + Control = false, + Shift = false, + KeyCode = null + }); + } + + lstKey = Utils.DeepCopy(config.globalHotkeys); + + txtGlobalHotkey0.KeyDown += TxtGlobalHotkey_KeyDown; + txtGlobalHotkey1.KeyDown += TxtGlobalHotkey_KeyDown; + txtGlobalHotkey2.KeyDown += TxtGlobalHotkey_KeyDown; + txtGlobalHotkey3.KeyDown += TxtGlobalHotkey_KeyDown; + + BindingData(-1); + } + + private void TxtGlobalHotkey_KeyDown(object sender, KeyEventArgs e) + { + var txt = ((TextBox)sender); + var index = Utils.ToInt(txt.Name.Substring(txt.Name.Length - 1, 1)); + + lstKey[index].KeyCode = e.KeyCode; + lstKey[index].Alt = e.Alt; + lstKey[index].Control = e.Control; + lstKey[index].Shift = e.Shift; + + BindingData(index); + } + + private void BindingData(int index) + { + for (int k = 0; k < lstKey.Count; k++) + { + if (index >= 0 && index != k) + { + continue; + } + var item = lstKey[k]; + var keys = string.Empty; + + if (item.Control) + { + keys += $"{Keys.Control.ToString()} + "; + } + if (item.Alt) + { + keys += $"{Keys.Alt.ToString()} + "; + } + if (item.Shift) + { + keys += $"{Keys.Shift.ToString()} + "; + } + if (item.KeyCode != null) + { + keys += $"{item.KeyCode.ToString()}"; + } + + panel1.Controls[$"txtGlobalHotkey{k}"].Text = keys; + } + } + + private void btnOK_Click(object sender, EventArgs e) + { + config.globalHotkeys = lstKey; + + if (ConfigHandler.SaveConfig(ref config, false) == 0) + { + this.DialogResult = DialogResult.OK; + } + else + { + UI.ShowWarning(UIRes.I18N("OperationFailed")); + } + } + + private void btnClose_Click(object sender, EventArgs e) + { + this.DialogResult = DialogResult.Cancel; + } + + private void btnReset_Click(object sender, EventArgs e) + { + lstKey.Clear(); + foreach (EGlobalHotkey it in Enum.GetValues(typeof(EGlobalHotkey))) + { + if (lstKey.FindIndex(t => t.eGlobalHotkey == it) >= 0) + { + continue; + } + + lstKey.Add(new KeyEventItem() + { + eGlobalHotkey = it, + Alt = false, + Control = false, + Shift = false, + KeyCode = null + }); + } + BindingData(-1); + } + } +} diff --git a/v2rayN/v2rayN/Forms/RoutingRuleQuicklyAddForm.resx b/v2rayN/v2rayN/Forms/GlobalHotkeySettingForm.resx similarity index 57% rename from v2rayN/v2rayN/Forms/RoutingRuleQuicklyAddForm.resx rename to v2rayN/v2rayN/Forms/GlobalHotkeySettingForm.resx index b081d36d..62c49a4f 100644 --- a/v2rayN/v2rayN/Forms/RoutingRuleQuicklyAddForm.resx +++ b/v2rayN/v2rayN/Forms/GlobalHotkeySettingForm.resx @@ -117,346 +117,421 @@ <resheader name="writer"> <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> </resheader> - <data name=">>txtIP.Name" xml:space="preserve"> - <value>txtIP</value> + <data name="label1.Text" xml:space="preserve"> + <value>Clear system proxy</value> </data> <assembly alias="System.Windows.Forms" name="System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" /> - <data name="panel2.Dock" type="System.Windows.Forms.DockStyle, System.Windows.Forms"> - <value>Fill</value> + <data name="label2.ImeMode" type="System.Windows.Forms.ImeMode, System.Windows.Forms"> + <value>NoControl</value> </data> - <assembly alias="mscorlib" name="mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" /> - <data name="panel3.TabIndex" type="System.Int32, mscorlib"> - <value>8</value> + <data name=">>label6.Type" xml:space="preserve"> + <value>System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> + </data> + <data name="panel2.Dock" type="System.Windows.Forms.DockStyle, System.Windows.Forms"> + <value>Bottom</value> + </data> + <data name=">>panel2.ZOrder" xml:space="preserve"> + <value>1</value> </data> <assembly alias="System.Drawing" name="System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" /> - <data name="cmbOutboundTag.Size" type="System.Drawing.Size, System.Drawing"> - <value>119, 20</value> + <data name="btnReset.Size" type="System.Drawing.Size, System.Drawing"> + <value>75, 23</value> </data> - <data name=">>panel4.Type" xml:space="preserve"> - <value>System.Windows.Forms.Panel, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> + <data name=">>panel2.Name" xml:space="preserve"> + <value>panel2</value> </data> - <data name="txtDomain.Dock" type="System.Windows.Forms.DockStyle, System.Windows.Forms"> - <value>Fill</value> + <data name=">>label3.Parent" xml:space="preserve"> + <value>panel1</value> </data> - <data name="txtDomain.Location" type="System.Drawing.Point, System.Drawing"> - <value>3, 17</value> + <data name="btnReset.Text" xml:space="preserve"> + <value>&Reset</value> </data> - <data name="txtIP.Size" type="System.Drawing.Size, System.Drawing"> - <value>220, 207</value> + <assembly alias="mscorlib" name="mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" /> + <data name="label4.AutoSize" type="System.Boolean, mscorlib"> + <value>True</value> + </data> + <data name=">>btnReset.ZOrder" xml:space="preserve"> + <value>0</value> </data> <data name=">>btnOK.Type" xml:space="preserve"> <value>System.Windows.Forms.Button, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> </data> - <data name="panel4.TabIndex" type="System.Int32, mscorlib"> - <value>10</value> + <data name="btnClose.ImeMode" type="System.Windows.Forms.ImeMode, System.Windows.Forms"> + <value>NoControl</value> </data> <data name=">>btnOK.Name" xml:space="preserve"> <value>btnOK</value> </data> + <data name=">>btnReset.Parent" xml:space="preserve"> + <value>panel2</value> + </data> <data name=">>panel2.Type" xml:space="preserve"> <value>System.Windows.Forms.Panel, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> </data> + <data name=">>label3.ZOrder" xml:space="preserve"> + <value>5</value> + </data> <data name=">>$this.Name" xml:space="preserve"> - <value>RoutingRuleQuicklyAddForm</value> + <value>GlobalHotkeySettingForm</value> </data> - <data name=">>panel4.Parent" xml:space="preserve"> - <value>$this</value> + <data name=">>label1.Name" xml:space="preserve"> + <value>label1</value> </data> - <data name="panel4.Location" type="System.Drawing.Point, System.Drawing"> - <value>0, 288</value> + <data name="txtGlobalHotkey3.Location" type="System.Drawing.Point, System.Drawing"> + <value>189, 138</value> </data> - <data name="panel4.Dock" type="System.Windows.Forms.DockStyle, System.Windows.Forms"> - <value>Bottom</value> - </data> - <data name="txtIP.Dock" type="System.Windows.Forms.DockStyle, System.Windows.Forms"> - <value>Fill</value> + <data name="txtGlobalHotkey1.TabIndex" type="System.Int32, mscorlib"> + <value>34</value> </data> <data name="label4.TabIndex" type="System.Int32, mscorlib"> - <value>32</value> + <value>37</value> </data> <data name=">>btnClose.Parent" xml:space="preserve"> - <value>panel4</value> + <value>panel2</value> </data> - <data name="cmbOutboundTag.Items" xml:space="preserve"> - <value>proxy</value> + <data name="label6.Location" type="System.Drawing.Point, System.Drawing"> + <value>18, 215</value> </data> - <data name="groupBox1.Dock" type="System.Windows.Forms.DockStyle, System.Windows.Forms"> - <value>Left</value> + <data name=">>txtGlobalHotkey1.ZOrder" xml:space="preserve"> + <value>6</value> </data> - <data name="txtDomain.TabIndex" type="System.Int32, mscorlib"> - <value>24</value> + <data name="label3.Size" type="System.Drawing.Size, System.Drawing"> + <value>101, 12</value> + </data> + <data name=">>txtGlobalHotkey0.ZOrder" xml:space="preserve"> + <value>8</value> </data> <data name="btnOK.Size" type="System.Drawing.Size, System.Drawing"> <value>75, 23</value> </data> - <data name="$this.AutoScaleDimensions" type="System.Drawing.SizeF, System.Drawing"> - <value>6, 12</value> - </data> - <data name="panel1.Size" type="System.Drawing.Size, System.Drawing"> - <value>506, 10</value> - </data> - <data name="panel1.TabIndex" type="System.Int32, mscorlib"> - <value>7</value> - </data> - <data name=">>txtIP.Type" xml:space="preserve"> - <value>System.Windows.Forms.TextBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> - </data> - <data name="panel2.TabIndex" type="System.Int32, mscorlib"> - <value>11</value> - </data> - <data name=">>panel1.Name" xml:space="preserve"> - <value>panel1</value> - </data> - <data name="groupBox1.Text" xml:space="preserve"> - <value>Domain</value> - </data> - <data name=">>txtDomain.Parent" xml:space="preserve"> - <value>groupBox1</value> - </data> - <data name="panel3.Location" type="System.Drawing.Point, System.Drawing"> - <value>0, 10</value> - </data> - <data name=">>btnClose.Type" xml:space="preserve"> - <value>System.Windows.Forms.Button, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> - </data> - <data name=">>label4.Type" xml:space="preserve"> - <value>System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> - </data> - <data name=">>panel3.Name" xml:space="preserve"> - <value>panel3</value> - </data> - <data name="cmbOutboundTag.TabIndex" type="System.Int32, mscorlib"> - <value>31</value> - </data> - <data name=">>cmbOutboundTag.ZOrder" xml:space="preserve"> - <value>1</value> - </data> - <data name="panel3.Size" type="System.Drawing.Size, System.Drawing"> - <value>506, 51</value> - </data> - <data name="groupBox2.Dock" type="System.Windows.Forms.DockStyle, System.Windows.Forms"> - <value>Fill</value> - </data> - <data name=">>txtDomain.Name" xml:space="preserve"> - <value>txtDomain</value> - </data> - <data name=">>cmbOutboundTag.Parent" xml:space="preserve"> - <value>panel3</value> + <data name="label6.ImeMode" type="System.Windows.Forms.ImeMode, System.Windows.Forms"> + <value>NoControl</value> </data> <data name="label4.ImeMode" type="System.Windows.Forms.ImeMode, System.Windows.Forms"> <value>NoControl</value> </data> - <data name="btnOK.TabIndex" type="System.Int32, mscorlib"> - <value>5</value> + <data name="label6.Text" xml:space="preserve"> + <value>Take effect after restart</value> </data> - <data name="panel3.Dock" type="System.Windows.Forms.DockStyle, System.Windows.Forms"> - <value>Top</value> + <data name="txtGlobalHotkey0.Size" type="System.Drawing.Size, System.Drawing"> + <value>278, 21</value> </data> - <data name=">>panel4.Name" xml:space="preserve"> - <value>panel4</value> + <data name="txtGlobalHotkey0.Location" type="System.Drawing.Point, System.Drawing"> + <value>189, 18</value> </data> - <data name="groupBox2.Text" xml:space="preserve"> - <value>IP</value> + <data name="panel1.TabIndex" type="System.Int32, mscorlib"> + <value>11</value> </data> - <data name="groupBox2.Location" type="System.Drawing.Point, System.Drawing"> - <value>280, 0</value> + <data name="panel2.TabIndex" type="System.Int32, mscorlib"> + <value>7</value> + </data> + <data name=">>label1.Parent" xml:space="preserve"> + <value>panel1</value> + </data> + <data name="label3.Location" type="System.Drawing.Point, System.Drawing"> + <value>18, 103</value> + </data> + <data name="label5.Location" type="System.Drawing.Point, System.Drawing"> + <value>18, 190</value> + </data> + <data name=">>txtGlobalHotkey3.Parent" xml:space="preserve"> + <value>panel1</value> + </data> + <data name="txtGlobalHotkey1.Size" type="System.Drawing.Size, System.Drawing"> + <value>278, 21</value> + </data> + <data name=">>btnClose.Type" xml:space="preserve"> + <value>System.Windows.Forms.Button, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> + </data> + <data name=">>label5.Type" xml:space="preserve"> + <value>System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> + </data> + <data name=">>label4.Type" xml:space="preserve"> + <value>System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> + </data> + <data name="panel2.Size" type="System.Drawing.Size, System.Drawing"> + <value>527, 60</value> + </data> + <data name="label1.Size" type="System.Drawing.Size, System.Drawing"> + <value>113, 12</value> + </data> + <data name="txtGlobalHotkey0.TabIndex" type="System.Int32, mscorlib"> + <value>32</value> + </data> + <data name=">>txtGlobalHotkey2.Name" xml:space="preserve"> + <value>txtGlobalHotkey2</value> + </data> + <data name=">>label2.Type" xml:space="preserve"> + <value>System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> + </data> + <data name=">>label5.Name" xml:space="preserve"> + <value>label5</value> + </data> + <data name="panel1.Size" type="System.Drawing.Size, System.Drawing"> + <value>527, 242</value> + </data> + <data name="btnReset.Location" type="System.Drawing.Point, System.Drawing"> + <value>211, 17</value> + </data> + <data name=">>label2.ZOrder" xml:space="preserve"> + <value>9</value> + </data> + <data name="label6.TabIndex" type="System.Int32, mscorlib"> + <value>40</value> + </data> + <data name="label2.Size" type="System.Drawing.Size, System.Drawing"> + <value>71, 12</value> + </data> + <data name=">>label5.Parent" xml:space="preserve"> + <value>panel1</value> + </data> + <data name=">>txtGlobalHotkey1.Parent" xml:space="preserve"> + <value>panel1</value> </data> <data name="btnClose.Size" type="System.Drawing.Size, System.Drawing"> <value>75, 23</value> </data> - <data name="txtIP.Location" type="System.Drawing.Point, System.Drawing"> - <value>3, 17</value> + <data name=">>label5.ZOrder" xml:space="preserve"> + <value>1</value> + </data> + <data name=">>txtGlobalHotkey0.Parent" xml:space="preserve"> + <value>panel1</value> + </data> + <data name="label2.Location" type="System.Drawing.Point, System.Drawing"> + <value>18, 22</value> </data> <data name=">>label4.Name" xml:space="preserve"> <value>label4</value> </data> + <data name=">>txtGlobalHotkey1.Name" xml:space="preserve"> + <value>txtGlobalHotkey1</value> + </data> + <data name="label1.TabIndex" type="System.Int32, mscorlib"> + <value>33</value> + </data> <data name="label4.Text" xml:space="preserve"> - <value>outboundTag</value> + <value>Do not change system proxy</value> + </data> + <data name="label3.Text" xml:space="preserve"> + <value>Set system proxy</value> + </data> + <data name=">>txtGlobalHotkey3.Type" xml:space="preserve"> + <value>System.Windows.Forms.TextBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> + </data> + <data name="label1.ImeMode" type="System.Windows.Forms.ImeMode, System.Windows.Forms"> + <value>NoControl</value> + </data> + <data name=">>txtGlobalHotkey0.Name" xml:space="preserve"> + <value>txtGlobalHotkey0</value> + </data> + <data name="label5.TabIndex" type="System.Int32, mscorlib"> + <value>39</value> </data> <data name=">>btnClose.Name" xml:space="preserve"> <value>btnClose</value> </data> - <data name="cmbOutboundTag.Items2" xml:space="preserve"> - <value>block</value> - </data> - <data name="cmbOutboundTag.Items1" xml:space="preserve"> - <value>direct</value> - </data> - <data name=">>groupBox1.ZOrder" xml:space="preserve"> - <value>1</value> - </data> - <data name=">>panel3.ZOrder" xml:space="preserve"> - <value>2</value> - </data> - <data name=">>txtIP.ZOrder" xml:space="preserve"> - <value>0</value> - </data> <data name="btnOK.Location" type="System.Drawing.Point, System.Drawing"> - <value>305, 25</value> + <value>303, 17</value> + </data> + <data name="panel2.Location" type="System.Drawing.Point, System.Drawing"> + <value>0, 242</value> + </data> + <data name=">>btnReset.Type" xml:space="preserve"> + <value>System.Windows.Forms.Button, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> </data> <data name=">>label4.Parent" xml:space="preserve"> - <value>panel3</value> + <value>panel1</value> </data> <data name="panel1.Dock" type="System.Windows.Forms.DockStyle, System.Windows.Forms"> - <value>Top</value> + <value>Fill</value> </data> - <data name="groupBox1.Location" type="System.Drawing.Point, System.Drawing"> - <value>0, 0</value> + <data name=">>label4.ZOrder" xml:space="preserve"> + <value>3</value> </data> - <data name="panel2.Size" type="System.Drawing.Size, System.Drawing"> - <value>506, 227</value> + <data name=">>btnReset.Name" xml:space="preserve"> + <value>btnReset</value> </data> - <data name="txtDomain.Multiline" type="System.Boolean, mscorlib"> - <value>True</value> + <data name="$this.AutoScaleDimensions" type="System.Drawing.SizeF, System.Drawing"> + <value>6, 12</value> + </data> + <data name="btnReset.TabIndex" type="System.Int32, mscorlib"> + <value>6</value> + </data> + <data name="txtGlobalHotkey1.Location" type="System.Drawing.Point, System.Drawing"> + <value>189, 58</value> </data> <data name=">>panel1.ZOrder" xml:space="preserve"> - <value>3</value> + <value>0</value> </data> - <data name="groupBox1.Size" type="System.Drawing.Size, System.Drawing"> - <value>280, 227</value> + <data name=">>label1.ZOrder" xml:space="preserve"> + <value>7</value> </data> - <data name=">>txtDomain.Type" xml:space="preserve"> + <data name=">>label2.Parent" xml:space="preserve"> + <value>panel1</value> + </data> + <data name="label5.ImeMode" type="System.Windows.Forms.ImeMode, System.Windows.Forms"> + <value>NoControl</value> + </data> + <data name="txtGlobalHotkey2.TabIndex" type="System.Int32, mscorlib"> + <value>36</value> + </data> + <data name=">>txtGlobalHotkey2.Type" xml:space="preserve"> <value>System.Windows.Forms.TextBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> </data> - <data name="btnClose.TabIndex" type="System.Int32, mscorlib"> - <value>4</value> + <data name="label5.AutoSize" type="System.Boolean, mscorlib"> + <value>True</value> </data> - <data name="groupBox1.TabIndex" type="System.Int32, mscorlib"> - <value>3</value> + <data name="label2.TabIndex" type="System.Int32, mscorlib"> + <value>31</value> </data> <data name="btnOK.ImeMode" type="System.Windows.Forms.ImeMode, System.Windows.Forms"> <value>NoControl</value> </data> - <data name="btnOK.Text" xml:space="preserve"> - <value>&OK</value> + <data name="label3.AutoSize" type="System.Boolean, mscorlib"> + <value>True</value> </data> - <data name=">>panel1.Type" xml:space="preserve"> - <value>System.Windows.Forms.Panel, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> + <data name="txtGlobalHotkey2.Size" type="System.Drawing.Size, System.Drawing"> + <value>278, 21</value> </data> - <data name=">>cmbOutboundTag.Name" xml:space="preserve"> - <value>cmbOutboundTag</value> + <data name="label1.AutoSize" type="System.Boolean, mscorlib"> + <value>True</value> </data> - <data name=">>groupBox1.Type" xml:space="preserve"> - <value>System.Windows.Forms.GroupBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> + <data name="label3.ImeMode" type="System.Windows.Forms.ImeMode, System.Windows.Forms"> + <value>NoControl</value> </data> - <data name="panel4.Size" type="System.Drawing.Size, System.Drawing"> - <value>506, 60</value> + <data name="txtGlobalHotkey2.Location" type="System.Drawing.Point, System.Drawing"> + <value>189, 99</value> </data> - <data name=">>cmbOutboundTag.Type" xml:space="preserve"> - <value>System.Windows.Forms.ComboBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> + <data name=">>label2.Name" xml:space="preserve"> + <value>label2</value> </data> - <data name=">>label4.ZOrder" xml:space="preserve"> + <data name=">>label3.Name" xml:space="preserve"> + <value>label3</value> + </data> + <data name="label2.AutoSize" type="System.Boolean, mscorlib"> + <value>True</value> + </data> + <data name="label5.Text" xml:space="preserve"> + <value>Set directly by pressing the keyboard</value> + </data> + <data name=">>txtGlobalHotkey1.Type" xml:space="preserve"> + <value>System.Windows.Forms.TextBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> + </data> + <data name=">>label6.ZOrder" xml:space="preserve"> <value>0</value> </data> - <data name=">>groupBox2.Type" xml:space="preserve"> - <value>System.Windows.Forms.GroupBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> - </data> <data name="btnClose.Text" xml:space="preserve"> <value>&Cancel</value> </data> - <data name="groupBox2.Size" type="System.Drawing.Size, System.Drawing"> - <value>226, 227</value> + <data name="label1.Location" type="System.Drawing.Point, System.Drawing"> + <value>18, 62</value> </data> - <data name="cmbOutboundTag.Location" type="System.Drawing.Point, System.Drawing"> - <value>107, 16</value> - </data> - <data name="$this.Text" xml:space="preserve"> - <value>RoutingRuleQuicklyAddForm</value> - </data> - <data name="btnClose.ImeMode" type="System.Windows.Forms.ImeMode, System.Windows.Forms"> - <value>NoControl</value> + <data name="btnOK.Text" xml:space="preserve"> + <value>&OK</value> </data> <data name=">>btnClose.ZOrder" xml:space="preserve"> - <value>0</value> - </data> - <data name=">>btnOK.ZOrder" xml:space="preserve"> <value>1</value> </data> - <data name="label4.AutoSize" type="System.Boolean, mscorlib"> + <data name="label2.Text" xml:space="preserve"> + <value>Display GUI</value> + </data> + <data name="label3.TabIndex" type="System.Int32, mscorlib"> + <value>35</value> + </data> + <data name="btnReset.ImeMode" type="System.Windows.Forms.ImeMode, System.Windows.Forms"> + <value>NoControl</value> + </data> + <data name="label6.AutoSize" type="System.Boolean, mscorlib"> <value>True</value> </data> - <data name=">>groupBox2.Name" xml:space="preserve"> - <value>groupBox2</value> + <data name=">>label6.Parent" xml:space="preserve"> + <value>panel1</value> </data> <data name="label4.Location" type="System.Drawing.Point, System.Drawing"> - <value>19, 20</value> + <value>18, 142</value> + </data> + <data name=">>txtGlobalHotkey3.ZOrder" xml:space="preserve"> + <value>2</value> </data> <data name=">>panel1.Parent" xml:space="preserve"> <value>$this</value> </data> <data name="label4.Size" type="System.Drawing.Size, System.Drawing"> - <value>71, 12</value> + <value>161, 12</value> </data> - <data name=">>groupBox1.Parent" xml:space="preserve"> - <value>panel2</value> + <data name=">>txtGlobalHotkey0.Type" xml:space="preserve"> + <value>System.Windows.Forms.TextBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> </data> - <data name=">>txtIP.Parent" xml:space="preserve"> - <value>groupBox2</value> + <data name="label5.Size" type="System.Drawing.Size, System.Drawing"> + <value>227, 12</value> </data> - <data name="groupBox2.TabIndex" type="System.Int32, mscorlib"> - <value>4</value> + <data name=">>$this.Type" xml:space="preserve"> + <value>v2rayN.Forms.BaseForm, v2rayN, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null</value> </data> <data name="panel1.Location" type="System.Drawing.Point, System.Drawing"> <value>0, 0</value> </data> <data name=">>btnOK.Parent" xml:space="preserve"> - <value>panel4</value> - </data> - <data name=">>panel3.Parent" xml:space="preserve"> - <value>$this</value> - </data> - <data name=">>groupBox1.Name" xml:space="preserve"> - <value>groupBox1</value> - </data> - <data name=">>panel2.Name" xml:space="preserve"> <value>panel2</value> </data> - <data name="panel2.Location" type="System.Drawing.Point, System.Drawing"> - <value>0, 61</value> + <data name=">>txtGlobalHotkey2.ZOrder" xml:space="preserve"> + <value>4</value> </data> - <data name=">>txtDomain.ZOrder" xml:space="preserve"> - <value>0</value> + <data name="label6.Size" type="System.Drawing.Size, System.Drawing"> + <value>155, 12</value> </data> - <data name=">>panel4.ZOrder" xml:space="preserve"> - <value>1</value> + <data name="$this.Text" xml:space="preserve"> + <value>GlobalHotkey Setting</value> </data> - <data name="txtDomain.Size" type="System.Drawing.Size, System.Drawing"> - <value>274, 207</value> + <data name=">>btnOK.ZOrder" xml:space="preserve"> + <value>2</value> + </data> + <data name="btnOK.TabIndex" type="System.Int32, mscorlib"> + <value>5</value> </data> <data name="$this.ClientSize" type="System.Drawing.Size, System.Drawing"> - <value>506, 348</value> + <value>527, 302</value> </data> - <data name="txtIP.TabIndex" type="System.Int32, mscorlib"> - <value>25</value> + <data name="btnClose.TabIndex" type="System.Int32, mscorlib"> + <value>4</value> </data> - <data name=">>$this.Type" xml:space="preserve"> - <value>v2rayN.Forms.BaseForm, v2rayN, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null</value> + <data name="txtGlobalHotkey3.TabIndex" type="System.Int32, mscorlib"> + <value>38</value> </data> - <data name=">>groupBox2.ZOrder" xml:space="preserve"> - <value>0</value> + <data name=">>txtGlobalHotkey3.Name" xml:space="preserve"> + <value>txtGlobalHotkey3</value> </data> - <data name=">>groupBox2.Parent" xml:space="preserve"> - <value>panel2</value> + <data name="txtGlobalHotkey3.Size" type="System.Drawing.Size, System.Drawing"> + <value>278, 21</value> </data> <data name=">>panel2.Parent" xml:space="preserve"> <value>$this</value> </data> <data name="btnClose.Location" type="System.Drawing.Point, System.Drawing"> - <value>398, 25</value> + <value>396, 17</value> </data> - <data name="txtIP.Multiline" type="System.Boolean, mscorlib"> - <value>True</value> + <data name=">>label1.Type" xml:space="preserve"> + <value>System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> </data> - <data name=">>panel2.ZOrder" xml:space="preserve"> - <value>0</value> + <data name=">>label6.Name" xml:space="preserve"> + <value>label6</value> </data> - <data name=">>panel3.Type" xml:space="preserve"> + <data name=">>panel1.Type" xml:space="preserve"> <value>System.Windows.Forms.Panel, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> </data> + <data name=">>panel1.Name" xml:space="preserve"> + <value>panel1</value> + </data> + <data name=">>label3.Type" xml:space="preserve"> + <value>System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> + </data> + <data name=">>txtGlobalHotkey2.Parent" xml:space="preserve"> + <value>panel1</value> + </data> <metadata name="$this.Localizable" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"> <value>True</value> </metadata> - <metadata name="$this.Language" type="System.Globalization.CultureInfo, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"> - <value>zh-Hans</value> + <metadata name="$this.TrayHeight" type="System.Int32, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"> + <value>25</value> </metadata> </root> \ No newline at end of file diff --git a/v2rayN/v2rayN/Forms/RoutingSettingDetailsForm.zh-Hans.resx b/v2rayN/v2rayN/Forms/GlobalHotkeySettingForm.zh-Hans.resx similarity index 86% rename from v2rayN/v2rayN/Forms/RoutingSettingDetailsForm.zh-Hans.resx rename to v2rayN/v2rayN/Forms/GlobalHotkeySettingForm.zh-Hans.resx index bac9081a..06a7a69c 100644 --- a/v2rayN/v2rayN/Forms/RoutingSettingDetailsForm.zh-Hans.resx +++ b/v2rayN/v2rayN/Forms/GlobalHotkeySettingForm.zh-Hans.resx @@ -117,29 +117,50 @@ <resheader name="writer"> <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> </resheader> - <data name="labRoutingTips.Text" xml:space="preserve"> - <value>*设置的路由规则,用逗号(,)分隔;正则中的逗号用<COMMA>替代</value> - </data> - <assembly alias="System.Drawing" name="System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" /> - <data name="label4.Size" type="System.Drawing.Size, System.Drawing"> - <value>71, 12</value> - </data> - <data name="label4.Text" xml:space="preserve"> - <value>OutboundTag</value> - </data> - <data name="label2.Size" type="System.Drawing.Size, System.Drawing"> - <value>29, 12</value> - </data> - <data name="label2.Text" xml:space="preserve"> - <value>别名</value> - </data> <data name="btnClose.Text" xml:space="preserve"> <value>取消(&C)</value> </data> + <data name="btnReset.Text" xml:space="preserve"> + <value>重置(&R)</value> + </data> <data name="btnOK.Text" xml:space="preserve"> <value>确定(&O)</value> </data> + <assembly alias="System.Drawing" name="System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" /> + <data name="label6.Size" type="System.Drawing.Size, System.Drawing"> + <value>65, 12</value> + </data> + <data name="label6.Text" xml:space="preserve"> + <value>重启后生效</value> + </data> + <data name="label5.Size" type="System.Drawing.Size, System.Drawing"> + <value>113, 12</value> + </data> + <data name="label5.Text" xml:space="preserve"> + <value>直接按键盘进行设置</value> + </data> + <data name="label4.Size" type="System.Drawing.Size, System.Drawing"> + <value>89, 12</value> + </data> + <data name="label4.Text" xml:space="preserve"> + <value>不改变系统代理</value> + </data> + <data name="label3.Text" xml:space="preserve"> + <value>自动配置系统代理</value> + </data> + <data name="label1.Size" type="System.Drawing.Size, System.Drawing"> + <value>77, 12</value> + </data> + <data name="label1.Text" xml:space="preserve"> + <value>清除系统代理</value> + </data> + <data name="label2.Size" type="System.Drawing.Size, System.Drawing"> + <value>65, 12</value> + </data> + <data name="label2.Text" xml:space="preserve"> + <value>显示主界面</value> + </data> <data name="$this.Text" xml:space="preserve"> - <value>路由规则详情设置</value> + <value>全局热键设置</value> </data> </root> \ No newline at end of file diff --git a/v2rayN/v2rayN/Forms/MainForm.Designer.cs b/v2rayN/v2rayN/Forms/MainForm.Designer.cs index cea1cf45..425eebe3 100644 --- a/v2rayN/v2rayN/Forms/MainForm.Designer.cs +++ b/v2rayN/v2rayN/Forms/MainForm.Designer.cs @@ -64,8 +64,8 @@ this.menuExport2ServerConfig = new System.Windows.Forms.ToolStripMenuItem(); this.menuExport2ShareUrl = new System.Windows.Forms.ToolStripMenuItem(); this.menuExport2SubContent = new System.Windows.Forms.ToolStripMenuItem(); - this.qrCodeControl = new v2rayN.Forms.QRCodeControl(); this.tsbServer = new System.Windows.Forms.ToolStripDropDownButton(); + this.qrCodeControl = new v2rayN.Forms.QRCodeControl(); this.splitContainer1 = new System.Windows.Forms.SplitContainer(); this.groupBox1 = new System.Windows.Forms.GroupBox(); this.gbMsgTitle = new System.Windows.Forms.GroupBox(); @@ -113,6 +113,7 @@ this.tsbSetting = new System.Windows.Forms.ToolStripDropDownButton(); this.tsbOptionSetting = new System.Windows.Forms.ToolStripMenuItem(); this.tsbRoutingSetting = new System.Windows.Forms.ToolStripMenuItem(); + this.tsbGlobalHotkeySetting = new System.Windows.Forms.ToolStripMenuItem(); this.toolStripSeparator14 = new System.Windows.Forms.ToolStripSeparator(); this.tsbBackupGuiNConfig = new System.Windows.Forms.ToolStripMenuItem(); this.toolStripSeparator5 = new System.Windows.Forms.ToolStripSeparator(); @@ -160,17 +161,19 @@ // // scMain.Panel1 // + resources.ApplyResources(this.scMain.Panel1, "scMain.Panel1"); this.scMain.Panel1.Controls.Add(this.lvServers); // // scMain.Panel2 // + resources.ApplyResources(this.scMain.Panel2, "scMain.Panel2"); this.scMain.Panel2.Controls.Add(this.qrCodeControl); this.scMain.TabStop = false; // // lvServers // - this.lvServers.ContextMenuStrip = this.cmsLv; resources.ApplyResources(this.lvServers, "lvServers"); + this.lvServers.ContextMenuStrip = this.cmsLv; this.lvServers.FullRowSelect = true; this.lvServers.GridLines = true; this.lvServers.HeaderStyle = System.Windows.Forms.ColumnHeaderStyle.Nonclickable; @@ -189,6 +192,7 @@ // // cmsLv // + resources.ApplyResources(this.cmsLv, "cmsLv"); this.cmsLv.ImageScalingSize = new System.Drawing.Size(20, 20); this.cmsLv.Items.AddRange(new System.Windows.Forms.ToolStripItem[] { this.menuAddVmessServer, @@ -223,202 +227,201 @@ this.menuExport2ShareUrl, this.menuExport2SubContent}); this.cmsLv.Name = "cmsLv"; - resources.ApplyResources(this.cmsLv, "cmsLv"); // // menuAddVmessServer // - this.menuAddVmessServer.Name = "menuAddVmessServer"; resources.ApplyResources(this.menuAddVmessServer, "menuAddVmessServer"); + this.menuAddVmessServer.Name = "menuAddVmessServer"; this.menuAddVmessServer.Click += new System.EventHandler(this.menuAddVmessServer_Click); // // menuAddVlessServer // - this.menuAddVlessServer.Name = "menuAddVlessServer"; resources.ApplyResources(this.menuAddVlessServer, "menuAddVlessServer"); + this.menuAddVlessServer.Name = "menuAddVlessServer"; this.menuAddVlessServer.Click += new System.EventHandler(this.menuAddVlessServer_Click); // // menuAddShadowsocksServer // - this.menuAddShadowsocksServer.Name = "menuAddShadowsocksServer"; resources.ApplyResources(this.menuAddShadowsocksServer, "menuAddShadowsocksServer"); + this.menuAddShadowsocksServer.Name = "menuAddShadowsocksServer"; this.menuAddShadowsocksServer.Click += new System.EventHandler(this.menuAddShadowsocksServer_Click); // // menuAddSocksServer // - this.menuAddSocksServer.Name = "menuAddSocksServer"; resources.ApplyResources(this.menuAddSocksServer, "menuAddSocksServer"); + this.menuAddSocksServer.Name = "menuAddSocksServer"; this.menuAddSocksServer.Click += new System.EventHandler(this.menuAddSocksServer_Click); // // menuAddTrojanServer // - this.menuAddTrojanServer.Name = "menuAddTrojanServer"; resources.ApplyResources(this.menuAddTrojanServer, "menuAddTrojanServer"); + this.menuAddTrojanServer.Name = "menuAddTrojanServer"; this.menuAddTrojanServer.Click += new System.EventHandler(this.menuAddTrojanServer_Click); // // menuAddCustomServer // - this.menuAddCustomServer.Name = "menuAddCustomServer"; resources.ApplyResources(this.menuAddCustomServer, "menuAddCustomServer"); + this.menuAddCustomServer.Name = "menuAddCustomServer"; this.menuAddCustomServer.Click += new System.EventHandler(this.menuAddCustomServer_Click); // // menuAddServers // - this.menuAddServers.Name = "menuAddServers"; resources.ApplyResources(this.menuAddServers, "menuAddServers"); + this.menuAddServers.Name = "menuAddServers"; this.menuAddServers.Click += new System.EventHandler(this.menuAddServers_Click); // // menuScanScreen // - this.menuScanScreen.Name = "menuScanScreen"; resources.ApplyResources(this.menuScanScreen, "menuScanScreen"); + this.menuScanScreen.Name = "menuScanScreen"; this.menuScanScreen.Click += new System.EventHandler(this.menuScanScreen_Click); // // toolStripSeparator1 // - this.toolStripSeparator1.Name = "toolStripSeparator1"; resources.ApplyResources(this.toolStripSeparator1, "toolStripSeparator1"); + this.toolStripSeparator1.Name = "toolStripSeparator1"; // // menuRemoveServer // - this.menuRemoveServer.Name = "menuRemoveServer"; resources.ApplyResources(this.menuRemoveServer, "menuRemoveServer"); + this.menuRemoveServer.Name = "menuRemoveServer"; this.menuRemoveServer.Click += new System.EventHandler(this.menuRemoveServer_Click); // // menuRemoveDuplicateServer // - this.menuRemoveDuplicateServer.Name = "menuRemoveDuplicateServer"; resources.ApplyResources(this.menuRemoveDuplicateServer, "menuRemoveDuplicateServer"); + this.menuRemoveDuplicateServer.Name = "menuRemoveDuplicateServer"; this.menuRemoveDuplicateServer.Click += new System.EventHandler(this.menuRemoveDuplicateServer_Click); // // menuCopyServer // - this.menuCopyServer.Name = "menuCopyServer"; resources.ApplyResources(this.menuCopyServer, "menuCopyServer"); + this.menuCopyServer.Name = "menuCopyServer"; this.menuCopyServer.Click += new System.EventHandler(this.menuCopyServer_Click); // // menuSetDefaultServer // - this.menuSetDefaultServer.Name = "menuSetDefaultServer"; resources.ApplyResources(this.menuSetDefaultServer, "menuSetDefaultServer"); + this.menuSetDefaultServer.Name = "menuSetDefaultServer"; this.menuSetDefaultServer.Click += new System.EventHandler(this.menuSetDefaultServer_Click); // // toolStripSeparator3 // - this.toolStripSeparator3.Name = "toolStripSeparator3"; resources.ApplyResources(this.toolStripSeparator3, "toolStripSeparator3"); + this.toolStripSeparator3.Name = "toolStripSeparator3"; // // menuMoveTop // - this.menuMoveTop.Name = "menuMoveTop"; resources.ApplyResources(this.menuMoveTop, "menuMoveTop"); + this.menuMoveTop.Name = "menuMoveTop"; this.menuMoveTop.Click += new System.EventHandler(this.menuMoveTop_Click); // // menuMoveUp // - this.menuMoveUp.Name = "menuMoveUp"; resources.ApplyResources(this.menuMoveUp, "menuMoveUp"); + this.menuMoveUp.Name = "menuMoveUp"; this.menuMoveUp.Click += new System.EventHandler(this.menuMoveUp_Click); // // menuMoveDown // - this.menuMoveDown.Name = "menuMoveDown"; resources.ApplyResources(this.menuMoveDown, "menuMoveDown"); + this.menuMoveDown.Name = "menuMoveDown"; this.menuMoveDown.Click += new System.EventHandler(this.menuMoveDown_Click); // // menuMoveBottom // - this.menuMoveBottom.Name = "menuMoveBottom"; resources.ApplyResources(this.menuMoveBottom, "menuMoveBottom"); + this.menuMoveBottom.Name = "menuMoveBottom"; this.menuMoveBottom.Click += new System.EventHandler(this.menuMoveBottom_Click); // // menuSelectAll // - this.menuSelectAll.Name = "menuSelectAll"; resources.ApplyResources(this.menuSelectAll, "menuSelectAll"); + this.menuSelectAll.Name = "menuSelectAll"; this.menuSelectAll.Click += new System.EventHandler(this.menuSelectAll_Click); // // toolStripSeparator9 // - this.toolStripSeparator9.Name = "toolStripSeparator9"; resources.ApplyResources(this.toolStripSeparator9, "toolStripSeparator9"); + this.toolStripSeparator9.Name = "toolStripSeparator9"; // // menuPingServer // - this.menuPingServer.Name = "menuPingServer"; resources.ApplyResources(this.menuPingServer, "menuPingServer"); + this.menuPingServer.Name = "menuPingServer"; this.menuPingServer.Click += new System.EventHandler(this.menuPingServer_Click); // // menuTcpingServer // - this.menuTcpingServer.Name = "menuTcpingServer"; resources.ApplyResources(this.menuTcpingServer, "menuTcpingServer"); + this.menuTcpingServer.Name = "menuTcpingServer"; this.menuTcpingServer.Click += new System.EventHandler(this.menuTcpingServer_Click); // // menuRealPingServer // - this.menuRealPingServer.Name = "menuRealPingServer"; resources.ApplyResources(this.menuRealPingServer, "menuRealPingServer"); + this.menuRealPingServer.Name = "menuRealPingServer"; this.menuRealPingServer.Click += new System.EventHandler(this.menuRealPingServer_Click); // // menuSpeedServer // - this.menuSpeedServer.Name = "menuSpeedServer"; resources.ApplyResources(this.menuSpeedServer, "menuSpeedServer"); + this.menuSpeedServer.Name = "menuSpeedServer"; this.menuSpeedServer.Click += new System.EventHandler(this.menuSpeedServer_Click); // // tsbTestMe // - this.tsbTestMe.Name = "tsbTestMe"; resources.ApplyResources(this.tsbTestMe, "tsbTestMe"); + this.tsbTestMe.Name = "tsbTestMe"; this.tsbTestMe.Click += new System.EventHandler(this.tsbTestMe_Click); // // menuClearServerStatistics // - this.menuClearServerStatistics.Name = "menuClearServerStatistics"; resources.ApplyResources(this.menuClearServerStatistics, "menuClearServerStatistics"); + this.menuClearServerStatistics.Name = "menuClearServerStatistics"; this.menuClearServerStatistics.Click += new System.EventHandler(this.menuClearStatistic_Click); // // toolStripSeparator6 // - this.toolStripSeparator6.Name = "toolStripSeparator6"; resources.ApplyResources(this.toolStripSeparator6, "toolStripSeparator6"); + this.toolStripSeparator6.Name = "toolStripSeparator6"; // // menuExport2ClientConfig // - this.menuExport2ClientConfig.Name = "menuExport2ClientConfig"; resources.ApplyResources(this.menuExport2ClientConfig, "menuExport2ClientConfig"); + this.menuExport2ClientConfig.Name = "menuExport2ClientConfig"; this.menuExport2ClientConfig.Click += new System.EventHandler(this.menuExport2ClientConfig_Click); // // menuExport2ServerConfig // - this.menuExport2ServerConfig.Name = "menuExport2ServerConfig"; resources.ApplyResources(this.menuExport2ServerConfig, "menuExport2ServerConfig"); + this.menuExport2ServerConfig.Name = "menuExport2ServerConfig"; this.menuExport2ServerConfig.Click += new System.EventHandler(this.menuExport2ServerConfig_Click); // // menuExport2ShareUrl // - this.menuExport2ShareUrl.Name = "menuExport2ShareUrl"; resources.ApplyResources(this.menuExport2ShareUrl, "menuExport2ShareUrl"); + this.menuExport2ShareUrl.Name = "menuExport2ShareUrl"; this.menuExport2ShareUrl.Click += new System.EventHandler(this.menuExport2ShareUrl_Click); // // menuExport2SubContent // - this.menuExport2SubContent.Name = "menuExport2SubContent"; resources.ApplyResources(this.menuExport2SubContent, "menuExport2SubContent"); + this.menuExport2SubContent.Name = "menuExport2SubContent"; this.menuExport2SubContent.Click += new System.EventHandler(this.menuExport2SubContent_Click); // + // tsbServer + // + resources.ApplyResources(this.tsbServer, "tsbServer"); + this.tsbServer.DropDown = this.cmsLv; + this.tsbServer.Image = global::v2rayN.Properties.Resources.server; + this.tsbServer.Name = "tsbServer"; + // // qrCodeControl // resources.ApplyResources(this.qrCodeControl, "qrCodeControl"); this.qrCodeControl.Name = "qrCodeControl"; // - // tsbServer - // - this.tsbServer.DropDown = this.cmsLv; - this.tsbServer.Image = global::v2rayN.Properties.Resources.server; - resources.ApplyResources(this.tsbServer, "tsbServer"); - this.tsbServer.Name = "tsbServer"; - // // splitContainer1 // resources.ApplyResources(this.splitContainer1, "splitContainer1"); @@ -426,33 +429,35 @@ // // splitContainer1.Panel1 // + resources.ApplyResources(this.splitContainer1.Panel1, "splitContainer1.Panel1"); this.splitContainer1.Panel1.Controls.Add(this.groupBox1); // // splitContainer1.Panel2 // + resources.ApplyResources(this.splitContainer1.Panel2, "splitContainer1.Panel2"); this.splitContainer1.Panel2.Controls.Add(this.gbMsgTitle); // // groupBox1 // - this.groupBox1.Controls.Add(this.scMain); resources.ApplyResources(this.groupBox1, "groupBox1"); + this.groupBox1.Controls.Add(this.scMain); this.groupBox1.Name = "groupBox1"; this.groupBox1.TabStop = false; // // gbMsgTitle // + resources.ApplyResources(this.gbMsgTitle, "gbMsgTitle"); this.gbMsgTitle.Controls.Add(this.txtMsgBox); this.gbMsgTitle.Controls.Add(this.ssMain); - resources.ApplyResources(this.gbMsgTitle, "gbMsgTitle"); this.gbMsgTitle.Name = "gbMsgTitle"; this.gbMsgTitle.TabStop = false; // // txtMsgBox // + resources.ApplyResources(this.txtMsgBox, "txtMsgBox"); this.txtMsgBox.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(41)))), ((int)(((byte)(49)))), ((int)(((byte)(52))))); this.txtMsgBox.BorderStyle = System.Windows.Forms.BorderStyle.None; this.txtMsgBox.ContextMenuStrip = this.cmsMsgBox; - resources.ApplyResources(this.txtMsgBox, "txtMsgBox"); this.txtMsgBox.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(224)))), ((int)(((byte)(226)))), ((int)(((byte)(228))))); this.txtMsgBox.Name = "txtMsgBox"; this.txtMsgBox.ReadOnly = true; @@ -460,6 +465,7 @@ // // cmsMsgBox // + resources.ApplyResources(this.cmsMsgBox, "cmsMsgBox"); this.cmsMsgBox.Items.AddRange(new System.Windows.Forms.ToolStripItem[] { this.menuMsgBoxSelectAll, this.menuMsgBoxCopy, @@ -468,46 +474,46 @@ this.menuMsgBoxAddRoutingRule, this.menuMsgBoxFilter}); this.cmsMsgBox.Name = "cmsMsgBox"; - resources.ApplyResources(this.cmsMsgBox, "cmsMsgBox"); // // menuMsgBoxSelectAll // - this.menuMsgBoxSelectAll.Name = "menuMsgBoxSelectAll"; resources.ApplyResources(this.menuMsgBoxSelectAll, "menuMsgBoxSelectAll"); + this.menuMsgBoxSelectAll.Name = "menuMsgBoxSelectAll"; this.menuMsgBoxSelectAll.Click += new System.EventHandler(this.menuMsgBoxSelectAll_Click); // // menuMsgBoxCopy // - this.menuMsgBoxCopy.Name = "menuMsgBoxCopy"; resources.ApplyResources(this.menuMsgBoxCopy, "menuMsgBoxCopy"); + this.menuMsgBoxCopy.Name = "menuMsgBoxCopy"; this.menuMsgBoxCopy.Click += new System.EventHandler(this.menuMsgBoxCopy_Click); // // menuMsgBoxCopyAll // - this.menuMsgBoxCopyAll.Name = "menuMsgBoxCopyAll"; resources.ApplyResources(this.menuMsgBoxCopyAll, "menuMsgBoxCopyAll"); + this.menuMsgBoxCopyAll.Name = "menuMsgBoxCopyAll"; this.menuMsgBoxCopyAll.Click += new System.EventHandler(this.menuMsgBoxCopyAll_Click); // // menuMsgBoxClear // - this.menuMsgBoxClear.Name = "menuMsgBoxClear"; resources.ApplyResources(this.menuMsgBoxClear, "menuMsgBoxClear"); + this.menuMsgBoxClear.Name = "menuMsgBoxClear"; this.menuMsgBoxClear.Click += new System.EventHandler(this.menuMsgBoxClear_Click); // // menuMsgBoxAddRoutingRule // - this.menuMsgBoxAddRoutingRule.Name = "menuMsgBoxAddRoutingRule"; resources.ApplyResources(this.menuMsgBoxAddRoutingRule, "menuMsgBoxAddRoutingRule"); + this.menuMsgBoxAddRoutingRule.Name = "menuMsgBoxAddRoutingRule"; this.menuMsgBoxAddRoutingRule.Click += new System.EventHandler(this.menuMsgBoxAddRoutingRule_Click); // // menuMsgBoxFilter // - this.menuMsgBoxFilter.Name = "menuMsgBoxFilter"; resources.ApplyResources(this.menuMsgBoxFilter, "menuMsgBoxFilter"); + this.menuMsgBoxFilter.Name = "menuMsgBoxFilter"; this.menuMsgBoxFilter.Click += new System.EventHandler(this.menuMsgBoxFilter_Click); // // ssMain // + resources.ApplyResources(this.ssMain, "ssMain"); this.ssMain.ImageScalingSize = new System.Drawing.Size(20, 20); this.ssMain.Items.AddRange(new System.Windows.Forms.ToolStripItem[] { this.toolSslInboundInfo, @@ -516,14 +522,13 @@ this.toolSslBlank2, this.toolSslServerSpeed, this.toolSslBlank4}); - resources.ApplyResources(this.ssMain, "ssMain"); this.ssMain.Name = "ssMain"; this.ssMain.ItemClicked += new System.Windows.Forms.ToolStripItemClickedEventHandler(this.ssMain_ItemClicked); // // toolSslInboundInfo // - this.toolSslInboundInfo.Name = "toolSslInboundInfo"; resources.ApplyResources(this.toolSslInboundInfo, "toolSslInboundInfo"); + this.toolSslInboundInfo.Name = "toolSslInboundInfo"; // // toolSslBlank1 // @@ -533,13 +538,13 @@ // // toolSslRoutingRule // - this.toolSslRoutingRule.Name = "toolSslRoutingRule"; resources.ApplyResources(this.toolSslRoutingRule, "toolSslRoutingRule"); + this.toolSslRoutingRule.Name = "toolSslRoutingRule"; // // toolSslBlank2 // - this.toolSslBlank2.Name = "toolSslBlank2"; resources.ApplyResources(this.toolSslBlank2, "toolSslBlank2"); + this.toolSslBlank2.Name = "toolSslBlank2"; this.toolSslBlank2.Spring = true; // // toolSslServerSpeed @@ -550,19 +555,19 @@ // // toolSslBlank4 // - this.toolSslBlank4.Name = "toolSslBlank4"; resources.ApplyResources(this.toolSslBlank4, "toolSslBlank4"); + this.toolSslBlank4.Name = "toolSslBlank4"; // // notifyMain // - this.notifyMain.ContextMenuStrip = this.cmsMain; resources.ApplyResources(this.notifyMain, "notifyMain"); + this.notifyMain.ContextMenuStrip = this.cmsMain; this.notifyMain.MouseClick += new System.Windows.Forms.MouseEventHandler(this.notifyMain_MouseClick); // // cmsMain // - this.cmsMain.ImageScalingSize = new System.Drawing.Size(20, 20); resources.ApplyResources(this.cmsMain, "cmsMain"); + this.cmsMain.ImageScalingSize = new System.Drawing.Size(20, 20); this.cmsMain.Items.AddRange(new System.Windows.Forms.ToolStripItem[] { this.menuSysAgentMode, this.menuRoutings, @@ -582,87 +587,87 @@ // // menuSysAgentMode // + resources.ApplyResources(this.menuSysAgentMode, "menuSysAgentMode"); this.menuSysAgentMode.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] { this.menuKeepClear, this.menuGlobal, this.menuKeepNothing}); this.menuSysAgentMode.Name = "menuSysAgentMode"; - resources.ApplyResources(this.menuSysAgentMode, "menuSysAgentMode"); // // menuKeepClear // - this.menuKeepClear.Name = "menuKeepClear"; resources.ApplyResources(this.menuKeepClear, "menuKeepClear"); + this.menuKeepClear.Name = "menuKeepClear"; this.menuKeepClear.Click += new System.EventHandler(this.menuKeepClear_Click); // // menuGlobal // - this.menuGlobal.Name = "menuGlobal"; resources.ApplyResources(this.menuGlobal, "menuGlobal"); + this.menuGlobal.Name = "menuGlobal"; this.menuGlobal.Click += new System.EventHandler(this.menuGlobal_Click); // // menuKeepNothing // - this.menuKeepNothing.Name = "menuKeepNothing"; resources.ApplyResources(this.menuKeepNothing, "menuKeepNothing"); + this.menuKeepNothing.Name = "menuKeepNothing"; this.menuKeepNothing.Click += new System.EventHandler(this.menuKeepNothing_Click); // // menuRoutings // - this.menuRoutings.Name = "menuRoutings"; resources.ApplyResources(this.menuRoutings, "menuRoutings"); + this.menuRoutings.Name = "menuRoutings"; // // menuServers // - this.menuServers.Name = "menuServers"; resources.ApplyResources(this.menuServers, "menuServers"); + this.menuServers.Name = "menuServers"; // // menuServers2 // + resources.ApplyResources(this.menuServers2, "menuServers2"); this.menuServers2.BackColor = System.Drawing.SystemColors.Window; this.menuServers2.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList; this.menuServers2.DropDownWidth = 500; - resources.ApplyResources(this.menuServers2, "menuServers2"); this.menuServers2.Name = "menuServers2"; // // toolStripSeparator13 // - this.toolStripSeparator13.Name = "toolStripSeparator13"; resources.ApplyResources(this.toolStripSeparator13, "toolStripSeparator13"); + this.toolStripSeparator13.Name = "toolStripSeparator13"; // // menuAddServers2 // - this.menuAddServers2.Name = "menuAddServers2"; resources.ApplyResources(this.menuAddServers2, "menuAddServers2"); + this.menuAddServers2.Name = "menuAddServers2"; this.menuAddServers2.Click += new System.EventHandler(this.menuAddServers_Click); // // menuScanScreen2 // - this.menuScanScreen2.Name = "menuScanScreen2"; resources.ApplyResources(this.menuScanScreen2, "menuScanScreen2"); + this.menuScanScreen2.Name = "menuScanScreen2"; this.menuScanScreen2.Click += new System.EventHandler(this.menuScanScreen_Click); // // menuUpdateSubscriptions // - this.menuUpdateSubscriptions.Name = "menuUpdateSubscriptions"; resources.ApplyResources(this.menuUpdateSubscriptions, "menuUpdateSubscriptions"); + this.menuUpdateSubscriptions.Name = "menuUpdateSubscriptions"; this.menuUpdateSubscriptions.Click += new System.EventHandler(this.menuUpdateSubscriptions_Click); // // menuUpdateSubViaProxy // - this.menuUpdateSubViaProxy.Name = "menuUpdateSubViaProxy"; resources.ApplyResources(this.menuUpdateSubViaProxy, "menuUpdateSubViaProxy"); + this.menuUpdateSubViaProxy.Name = "menuUpdateSubViaProxy"; this.menuUpdateSubViaProxy.Click += new System.EventHandler(this.menuUpdateSubViaProxy_Click); // // toolStripSeparator2 // - this.toolStripSeparator2.Name = "toolStripSeparator2"; resources.ApplyResources(this.toolStripSeparator2, "toolStripSeparator2"); + this.toolStripSeparator2.Name = "toolStripSeparator2"; // // menuExit // - this.menuExit.Name = "menuExit"; resources.ApplyResources(this.menuExit, "menuExit"); + this.menuExit.Name = "menuExit"; this.menuExit.Click += new System.EventHandler(this.menuExit_Click); // // bgwScan @@ -678,6 +683,7 @@ // // tsMain // + resources.ApplyResources(this.tsMain, "tsMain"); this.tsMain.ImageScalingSize = new System.Drawing.Size(32, 32); this.tsMain.Items.AddRange(new System.Windows.Forms.ToolStripItem[] { this.tsbServer, @@ -695,95 +701,101 @@ this.tsbPromotion, this.toolStripSeparator11, this.tsbClose}); - resources.ApplyResources(this.tsMain, "tsMain"); this.tsMain.Name = "tsMain"; this.tsMain.TabStop = true; // // toolStripSeparator4 // - this.toolStripSeparator4.Name = "toolStripSeparator4"; resources.ApplyResources(this.toolStripSeparator4, "toolStripSeparator4"); + this.toolStripSeparator4.Name = "toolStripSeparator4"; // // tsbSub // + resources.ApplyResources(this.tsbSub, "tsbSub"); this.tsbSub.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] { this.tsbSubSetting, this.tsbSubUpdate, this.tsbSubUpdateViaProxy}); this.tsbSub.Image = global::v2rayN.Properties.Resources.sub; - resources.ApplyResources(this.tsbSub, "tsbSub"); this.tsbSub.Name = "tsbSub"; // // tsbSubSetting // - this.tsbSubSetting.Name = "tsbSubSetting"; resources.ApplyResources(this.tsbSubSetting, "tsbSubSetting"); + this.tsbSubSetting.Name = "tsbSubSetting"; this.tsbSubSetting.Click += new System.EventHandler(this.tsbSubSetting_Click); // // tsbSubUpdate // - this.tsbSubUpdate.Name = "tsbSubUpdate"; resources.ApplyResources(this.tsbSubUpdate, "tsbSubUpdate"); + this.tsbSubUpdate.Name = "tsbSubUpdate"; this.tsbSubUpdate.Click += new System.EventHandler(this.tsbSubUpdate_Click); // // tsbSubUpdateViaProxy // - this.tsbSubUpdateViaProxy.Name = "tsbSubUpdateViaProxy"; resources.ApplyResources(this.tsbSubUpdateViaProxy, "tsbSubUpdateViaProxy"); + this.tsbSubUpdateViaProxy.Name = "tsbSubUpdateViaProxy"; this.tsbSubUpdateViaProxy.Click += new System.EventHandler(this.tsbSubUpdateViaProxy_Click); // // tsbQRCodeSwitch // + resources.ApplyResources(this.tsbQRCodeSwitch, "tsbQRCodeSwitch"); this.tsbQRCodeSwitch.CheckOnClick = true; this.tsbQRCodeSwitch.ForeColor = System.Drawing.Color.Black; this.tsbQRCodeSwitch.Image = global::v2rayN.Properties.Resources.share; - resources.ApplyResources(this.tsbQRCodeSwitch, "tsbQRCodeSwitch"); this.tsbQRCodeSwitch.Name = "tsbQRCodeSwitch"; this.tsbQRCodeSwitch.CheckedChanged += new System.EventHandler(this.tsbQRCodeSwitch_CheckedChanged); // // toolStripSeparator8 // - this.toolStripSeparator8.Name = "toolStripSeparator8"; resources.ApplyResources(this.toolStripSeparator8, "toolStripSeparator8"); + this.toolStripSeparator8.Name = "toolStripSeparator8"; // // tsbSetting // + resources.ApplyResources(this.tsbSetting, "tsbSetting"); this.tsbSetting.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] { this.tsbOptionSetting, this.tsbRoutingSetting, + this.tsbGlobalHotkeySetting, this.toolStripSeparator14, this.tsbBackupGuiNConfig}); this.tsbSetting.Image = global::v2rayN.Properties.Resources.option; - resources.ApplyResources(this.tsbSetting, "tsbSetting"); this.tsbSetting.Name = "tsbSetting"; // // tsbOptionSetting // - this.tsbOptionSetting.Name = "tsbOptionSetting"; resources.ApplyResources(this.tsbOptionSetting, "tsbOptionSetting"); + this.tsbOptionSetting.Name = "tsbOptionSetting"; this.tsbOptionSetting.Click += new System.EventHandler(this.tsbOptionSetting_Click); // // tsbRoutingSetting // - this.tsbRoutingSetting.Name = "tsbRoutingSetting"; resources.ApplyResources(this.tsbRoutingSetting, "tsbRoutingSetting"); + this.tsbRoutingSetting.Name = "tsbRoutingSetting"; this.tsbRoutingSetting.Click += new System.EventHandler(this.tsbRoutingSetting_Click); // + // tsbGlobalHotkeySetting + // + resources.ApplyResources(this.tsbGlobalHotkeySetting, "tsbGlobalHotkeySetting"); + this.tsbGlobalHotkeySetting.Name = "tsbGlobalHotkeySetting"; + this.tsbGlobalHotkeySetting.Click += new System.EventHandler(this.tsbGlobalHotkeySetting_Click); + // // toolStripSeparator14 // - this.toolStripSeparator14.Name = "toolStripSeparator14"; resources.ApplyResources(this.toolStripSeparator14, "toolStripSeparator14"); + this.toolStripSeparator14.Name = "toolStripSeparator14"; // // tsbBackupGuiNConfig // - this.tsbBackupGuiNConfig.Name = "tsbBackupGuiNConfig"; resources.ApplyResources(this.tsbBackupGuiNConfig, "tsbBackupGuiNConfig"); + this.tsbBackupGuiNConfig.Name = "tsbBackupGuiNConfig"; this.tsbBackupGuiNConfig.Click += new System.EventHandler(this.tsbBackupGuiNConfig_Click); // // toolStripSeparator5 // - this.toolStripSeparator5.Name = "toolStripSeparator5"; resources.ApplyResources(this.toolStripSeparator5, "toolStripSeparator5"); + this.toolStripSeparator5.Name = "toolStripSeparator5"; // // tsbReload // @@ -793,11 +805,12 @@ // // toolStripSeparator7 // - this.toolStripSeparator7.Name = "toolStripSeparator7"; resources.ApplyResources(this.toolStripSeparator7, "toolStripSeparator7"); + this.toolStripSeparator7.Name = "toolStripSeparator7"; // // tsbCheckUpdate // + resources.ApplyResources(this.tsbCheckUpdate, "tsbCheckUpdate"); this.tsbCheckUpdate.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] { this.tsbCheckUpdateN, this.tsbCheckUpdateCore, @@ -806,51 +819,51 @@ this.tsbCheckUpdateGeoSite, this.tsbCheckUpdateGeoIP}); this.tsbCheckUpdate.Image = global::v2rayN.Properties.Resources.checkupdate; - resources.ApplyResources(this.tsbCheckUpdate, "tsbCheckUpdate"); this.tsbCheckUpdate.Name = "tsbCheckUpdate"; // // tsbCheckUpdateN // - this.tsbCheckUpdateN.Name = "tsbCheckUpdateN"; resources.ApplyResources(this.tsbCheckUpdateN, "tsbCheckUpdateN"); + this.tsbCheckUpdateN.Name = "tsbCheckUpdateN"; this.tsbCheckUpdateN.Click += new System.EventHandler(this.tsbCheckUpdateN_Click); // // tsbCheckUpdateCore // - this.tsbCheckUpdateCore.Name = "tsbCheckUpdateCore"; resources.ApplyResources(this.tsbCheckUpdateCore, "tsbCheckUpdateCore"); + this.tsbCheckUpdateCore.Name = "tsbCheckUpdateCore"; this.tsbCheckUpdateCore.Click += new System.EventHandler(this.tsbCheckUpdateCore_Click); // // tsbCheckUpdateXrayCore // - this.tsbCheckUpdateXrayCore.Name = "tsbCheckUpdateXrayCore"; resources.ApplyResources(this.tsbCheckUpdateXrayCore, "tsbCheckUpdateXrayCore"); + this.tsbCheckUpdateXrayCore.Name = "tsbCheckUpdateXrayCore"; this.tsbCheckUpdateXrayCore.Click += new System.EventHandler(this.tsbCheckUpdateXrayCore_Click); // // toolStripSeparator15 // - this.toolStripSeparator15.Name = "toolStripSeparator15"; resources.ApplyResources(this.toolStripSeparator15, "toolStripSeparator15"); + this.toolStripSeparator15.Name = "toolStripSeparator15"; // // tsbCheckUpdateGeoSite // - this.tsbCheckUpdateGeoSite.Name = "tsbCheckUpdateGeoSite"; resources.ApplyResources(this.tsbCheckUpdateGeoSite, "tsbCheckUpdateGeoSite"); + this.tsbCheckUpdateGeoSite.Name = "tsbCheckUpdateGeoSite"; this.tsbCheckUpdateGeoSite.Click += new System.EventHandler(this.tsbCheckUpdateGeoSite_Click); // // tsbCheckUpdateGeoIP // - this.tsbCheckUpdateGeoIP.Name = "tsbCheckUpdateGeoIP"; resources.ApplyResources(this.tsbCheckUpdateGeoIP, "tsbCheckUpdateGeoIP"); + this.tsbCheckUpdateGeoIP.Name = "tsbCheckUpdateGeoIP"; this.tsbCheckUpdateGeoIP.Click += new System.EventHandler(this.tsbCheckUpdateGeoIP_Click); // // toolStripSeparator10 // - this.toolStripSeparator10.Name = "toolStripSeparator10"; resources.ApplyResources(this.toolStripSeparator10, "toolStripSeparator10"); + this.toolStripSeparator10.Name = "toolStripSeparator10"; // // tsbHelp // + resources.ApplyResources(this.tsbHelp, "tsbHelp"); this.tsbHelp.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] { this.tsbAbout, this.tsbV2rayWebsite, @@ -858,50 +871,49 @@ this.tsbLanguageDef, this.tsbLanguageZhHans}); this.tsbHelp.Image = global::v2rayN.Properties.Resources.help; - resources.ApplyResources(this.tsbHelp, "tsbHelp"); this.tsbHelp.Name = "tsbHelp"; // // tsbAbout // - this.tsbAbout.Name = "tsbAbout"; resources.ApplyResources(this.tsbAbout, "tsbAbout"); + this.tsbAbout.Name = "tsbAbout"; this.tsbAbout.Click += new System.EventHandler(this.tsbAbout_Click); // // tsbV2rayWebsite // - this.tsbV2rayWebsite.Name = "tsbV2rayWebsite"; resources.ApplyResources(this.tsbV2rayWebsite, "tsbV2rayWebsite"); + this.tsbV2rayWebsite.Name = "tsbV2rayWebsite"; this.tsbV2rayWebsite.Click += new System.EventHandler(this.tsbV2rayWebsite_Click); // // toolStripSeparator12 // - this.toolStripSeparator12.Name = "toolStripSeparator12"; resources.ApplyResources(this.toolStripSeparator12, "toolStripSeparator12"); + this.toolStripSeparator12.Name = "toolStripSeparator12"; // // tsbLanguageDef // - this.tsbLanguageDef.Name = "tsbLanguageDef"; resources.ApplyResources(this.tsbLanguageDef, "tsbLanguageDef"); + this.tsbLanguageDef.Name = "tsbLanguageDef"; this.tsbLanguageDef.Click += new System.EventHandler(this.tsbLanguageDef_Click); // // tsbLanguageZhHans // - this.tsbLanguageZhHans.Name = "tsbLanguageZhHans"; resources.ApplyResources(this.tsbLanguageZhHans, "tsbLanguageZhHans"); + this.tsbLanguageZhHans.Name = "tsbLanguageZhHans"; this.tsbLanguageZhHans.Click += new System.EventHandler(this.tsbLanguageZhHans_Click); // // tsbPromotion // + resources.ApplyResources(this.tsbPromotion, "tsbPromotion"); this.tsbPromotion.ForeColor = System.Drawing.Color.Black; this.tsbPromotion.Image = global::v2rayN.Properties.Resources.promotion; - resources.ApplyResources(this.tsbPromotion, "tsbPromotion"); this.tsbPromotion.Name = "tsbPromotion"; this.tsbPromotion.Click += new System.EventHandler(this.tsbPromotion_Click); // // toolStripSeparator11 // - this.toolStripSeparator11.Name = "toolStripSeparator11"; resources.ApplyResources(this.toolStripSeparator11, "toolStripSeparator11"); + this.toolStripSeparator11.Name = "toolStripSeparator11"; // // tsbClose // @@ -1054,6 +1066,7 @@ private System.Windows.Forms.ToolStripMenuItem tsbSubUpdateViaProxy; private System.Windows.Forms.ToolStripMenuItem menuUpdateSubViaProxy; private System.Windows.Forms.ToolStripMenuItem menuMsgBoxClear; + private System.Windows.Forms.ToolStripMenuItem tsbGlobalHotkeySetting; } } diff --git a/v2rayN/v2rayN/Forms/MainForm.cs b/v2rayN/v2rayN/Forms/MainForm.cs index a2fec808..dcc36de7 100644 --- a/v2rayN/v2rayN/Forms/MainForm.cs +++ b/v2rayN/v2rayN/Forms/MainForm.cs @@ -1,4 +1,5 @@ -using System; +using NHotkey; +using System; using System.Collections.Generic; using System.Diagnostics; using System.Drawing; @@ -53,7 +54,6 @@ namespace v2rayN.Forms { statistics = new StatisticsHandler(config, UpdateStatisticsHandler); } - MainFormHandler.Instance.UpdateTask(config, UpdateTaskHandler); } private void MainForm_VisibleChanged(object sender, EventArgs e) @@ -80,6 +80,8 @@ namespace v2rayN.Forms HideForm(); + MainFormHandler.Instance.UpdateTask(config, UpdateTaskHandler); + MainFormHandler.Instance.RegisterGlobalHotkey(config, OnHotkeyHandler, UpdateTaskHandler); } private void MainForm_FormClosing(object sender, FormClosingEventArgs e) @@ -163,6 +165,26 @@ namespace v2rayN.Forms } } + private void OnHotkeyHandler(object sender, HotkeyEventArgs e) + { + switch (Utils.ToInt(e.Name)) + { + case (int)EGlobalHotkey.ShowForm: + ShowForm(); + break; + case (int)EGlobalHotkey.SystemProxyClear: + SetListenerType(ESysProxyType.ForcedClear); + break; + case (int)EGlobalHotkey.SystemProxySet: + SetListenerType(ESysProxyType.ForcedChange); + break; + case (int)EGlobalHotkey.SystemProxyUnchanged: + SetListenerType(ESysProxyType.Unchanged); + break; + } + e.Handled = true; + } + #endregion #region 显示服务器 listview 和 menu @@ -792,6 +814,18 @@ namespace v2rayN.Forms } } + private void tsbGlobalHotkeySetting_Click(object sender, EventArgs e) + { + var fm = new GlobalHotkeySettingForm(); + if (fm.ShowDialog() == DialogResult.OK) + { + RefreshRoutingsMenu(); + RefreshServers(); + LoadV2ray(); + } + + } + private void tsbReload_Click(object sender, EventArgs e) { Global.reloadV2ray = true; diff --git a/v2rayN/v2rayN/Forms/MainForm.resx b/v2rayN/v2rayN/Forms/MainForm.resx index 47687761..82b8d55d 100644 --- a/v2rayN/v2rayN/Forms/MainForm.resx +++ b/v2rayN/v2rayN/Forms/MainForm.resx @@ -117,203 +117,785 @@ <resheader name="writer"> <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> </resheader> - <assembly alias="System.Windows.Forms" name="System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" /> - <data name="scMain.Dock" type="System.Windows.Forms.DockStyle, System.Windows.Forms"> - <value>Fill</value> + <data name="menuRemoveDuplicateServer.Text" xml:space="preserve"> + <value>Remove duplicate servers</value> </data> <assembly alias="System.Drawing" name="System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" /> - <data name="scMain.Location" type="System.Drawing.Point, System.Drawing"> - <value>3, 17</value> - </data> - <metadata name="cmsLv.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"> - <value>327, 17</value> - </metadata> - <data name="menuAddVmessServer.Size" type="System.Drawing.Size, System.Drawing"> + <data name="menuAddCustomServer.Size" type="System.Drawing.Size, System.Drawing"> <value>355, 22</value> </data> - <data name="menuAddVmessServer.Text" xml:space="preserve"> - <value>Add [VMess] server</value> + <data name=">>menuCopyServer.Type" xml:space="preserve"> + <value>System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> </data> - <data name="menuAddVlessServer.Size" type="System.Drawing.Size, System.Drawing"> + <data name="menuSpeedServer.Size" type="System.Drawing.Size, System.Drawing"> + <value>355, 22</value> + </data> + <data name="tsbReload.Size" type="System.Drawing.Size, System.Drawing"> + <value>97, 53</value> + </data> + <data name="menuScanScreen.Size" type="System.Drawing.Size, System.Drawing"> <value>355, 22</value> </data> <data name="menuAddVlessServer.Text" xml:space="preserve"> <value>Add [VLESS] server</value> </data> - <data name="menuAddShadowsocksServer.Size" type="System.Drawing.Size, System.Drawing"> - <value>355, 22</value> + <data name=">>groupBox1.ZOrder" xml:space="preserve"> + <value>0</value> </data> - <data name="menuAddShadowsocksServer.Text" xml:space="preserve"> - <value>Add [Shadowsocks] server</value> + <data name=">>menuKeepNothing.Type" xml:space="preserve"> + <value>System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> </data> - <data name="menuAddSocksServer.Size" type="System.Drawing.Size, System.Drawing"> - <value>355, 22</value> + <data name=">>menuAddSocksServer.Type" xml:space="preserve"> + <value>System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> + </data> + <data name="tsbReload.Text" xml:space="preserve"> + <value>Restart service</value> + </data> + <data name="menuServers2.Size" type="System.Drawing.Size, System.Drawing"> + <value>200, 25</value> + </data> + <data name=">>tsbSubSetting.Name" xml:space="preserve"> + <value>tsbSubSetting</value> + </data> + <data name="menuUpdateSubscriptions.Size" type="System.Drawing.Size, System.Drawing"> + <value>264, 22</value> + </data> + <data name=">>toolSslInboundInfo.Name" xml:space="preserve"> + <value>toolSslInboundInfo</value> + </data> + <data name=">>ssMain.Parent" xml:space="preserve"> + <value>gbMsgTitle</value> + </data> + <data name=">>menuMoveUp.Name" xml:space="preserve"> + <value>menuMoveUp</value> </data> <data name="menuAddSocksServer.Text" xml:space="preserve"> <value>Add [Socks] server</value> </data> + <data name=">>toolStripSeparator4.Type" xml:space="preserve"> + <value>System.Windows.Forms.ToolStripSeparator, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> + </data> + <data name=">>menuRoutings.Type" xml:space="preserve"> + <value>System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> + </data> + <data name=">>menuUpdateSubViaProxy.Name" xml:space="preserve"> + <value>menuUpdateSubViaProxy</value> + </data> + <assembly alias="System.Windows.Forms" name="System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" /> + <data name="tsbQRCodeSwitch.TextImageRelation" type="System.Windows.Forms.TextImageRelation, System.Windows.Forms"> + <value>ImageAboveText</value> + </data> + <data name="menuMsgBoxAddRoutingRule.Size" type="System.Drawing.Size, System.Drawing"> + <value>227, 22</value> + </data> + <data name="tsbLanguageZhHans.Text" xml:space="preserve"> + <value>语言-[中文简体]</value> + </data> + <data name=">>cmsMain.Type" xml:space="preserve"> + <value>System.Windows.Forms.ContextMenuStrip, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> + </data> + <data name="tsbSetting.Text" xml:space="preserve"> + <value>Settings</value> + </data> + <data name=">>tsbHelp.Name" xml:space="preserve"> + <value>tsbHelp</value> + </data> + <data name=">>tsbCheckUpdateGeoIP.Type" xml:space="preserve"> + <value>System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> + </data> + <data name=">>splitContainer1.Panel2.Type" xml:space="preserve"> + <value>System.Windows.Forms.SplitterPanel, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> + </data> + <data name=">>toolStripSeparator6.Name" xml:space="preserve"> + <value>toolStripSeparator6</value> + </data> <data name="menuAddTrojanServer.Size" type="System.Drawing.Size, System.Drawing"> <value>355, 22</value> </data> - <data name="menuAddTrojanServer.Text" xml:space="preserve"> - <value>Add [Trojan] server</value> + <data name=">>toolStripSeparator1.Type" xml:space="preserve"> + <value>System.Windows.Forms.ToolStripSeparator, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> </data> - <data name="menuAddCustomServer.Size" type="System.Drawing.Size, System.Drawing"> - <value>355, 22</value> + <data name="tsbSub.Size" type="System.Drawing.Size, System.Drawing"> + <value>99, 53</value> </data> - <data name="menuAddCustomServer.Text" xml:space="preserve"> - <value>Add a custom configuration server</value> + <data name="menuUpdateSubscriptions.Text" xml:space="preserve"> + <value>Update subscriptions</value> </data> - <data name="menuAddServers.Size" type="System.Drawing.Size, System.Drawing"> - <value>355, 22</value> + <data name=">>toolStripSeparator5.Type" xml:space="preserve"> + <value>System.Windows.Forms.ToolStripSeparator, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> </data> - <data name="menuAddServers.Text" xml:space="preserve"> - <value>Import bulk URL from clipboard (Ctrl+V)</value> + <data name="tsbAbout.Size" type="System.Drawing.Size, System.Drawing"> + <value>187, 22</value> </data> - <data name="menuScanScreen.Size" type="System.Drawing.Size, System.Drawing"> - <value>355, 22</value> + <data name="tsbSetting.Size" type="System.Drawing.Size, System.Drawing"> + <value>67, 53</value> </data> - <data name="menuScanScreen.Text" xml:space="preserve"> - <value>Scan QR code on the screen (Ctrl+S)</value> + <data name=">>tsbSetting.Name" xml:space="preserve"> + <value>tsbSetting</value> </data> - <data name="toolStripSeparator1.Size" type="System.Drawing.Size, System.Drawing"> - <value>352, 6</value> + <data name=">>toolSslBlank2.Name" xml:space="preserve"> + <value>toolSslBlank2</value> </data> <data name="menuRemoveServer.Size" type="System.Drawing.Size, System.Drawing"> <value>355, 22</value> </data> - <data name="menuRemoveServer.Text" xml:space="preserve"> - <value>Remove selected servers (Delete)</value> - </data> - <data name="menuRemoveDuplicateServer.Size" type="System.Drawing.Size, System.Drawing"> + <data name="menuExport2ShareUrl.Size" type="System.Drawing.Size, System.Drawing"> <value>355, 22</value> </data> - <data name="menuRemoveDuplicateServer.Text" xml:space="preserve"> - <value>Remove duplicate servers</value> + <data name=">>tsbCheckUpdateN.Name" xml:space="preserve"> + <value>tsbCheckUpdateN</value> + </data> + <data name="tsbQRCodeSwitch.Size" type="System.Drawing.Size, System.Drawing"> + <value>45, 53</value> + </data> + <data name="menuKeepNothing.Text" xml:space="preserve"> + <value>Do not change system proxy</value> + </data> + <data name=">>tsbCheckUpdateGeoSite.Name" xml:space="preserve"> + <value>tsbCheckUpdateGeoSite</value> + </data> + <data name=">>menuMoveBottom.Type" xml:space="preserve"> + <value>System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> + </data> + <data name=">>toolStripSeparator7.Name" xml:space="preserve"> + <value>toolStripSeparator7</value> + </data> + <data name="tsbCheckUpdateCore.Text" xml:space="preserve"> + <value>Update v2flyCore</value> + </data> + <data name="tsbCheckUpdateGeoSite.Text" xml:space="preserve"> + <value>Update GeoSite</value> + </data> + <data name="tsbPromotion.ImageTransparentColor" type="System.Drawing.Color, System.Drawing"> + <value>Magenta</value> + </data> + <data name=">>menuMsgBoxAddRoutingRule.Name" xml:space="preserve"> + <value>menuMsgBoxAddRoutingRule</value> </data> <data name="menuCopyServer.Size" type="System.Drawing.Size, System.Drawing"> <value>355, 22</value> </data> - <data name="menuCopyServer.Text" xml:space="preserve"> - <value>Clone selected server</value> + <data name=">>menuExport2SubContent.Type" xml:space="preserve"> + <value>System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> </data> - <data name="menuSetDefaultServer.Size" type="System.Drawing.Size, System.Drawing"> - <value>355, 22</value> + <data name=">>menuExport2SubContent.Name" xml:space="preserve"> + <value>menuExport2SubContent</value> </data> - <data name="menuSetDefaultServer.Text" xml:space="preserve"> - <value>Set as active server (Enter)</value> + <data name="tsbQRCodeSwitch.Text" xml:space="preserve"> + <value>Share</value> </data> - <data name="toolStripSeparator3.Size" type="System.Drawing.Size, System.Drawing"> - <value>352, 6</value> + <data name="menuMsgBoxCopy.Size" type="System.Drawing.Size, System.Drawing"> + <value>227, 22</value> + </data> + <data name=">>tsbQRCodeSwitch.Name" xml:space="preserve"> + <value>tsbQRCodeSwitch</value> + </data> + <data name="menuMsgBoxAddRoutingRule.Text" xml:space="preserve"> + <value>Add Routing Rule (Ctrl+V)</value> </data> <data name="menuMoveTop.Size" type="System.Drawing.Size, System.Drawing"> <value>355, 22</value> </data> - <data name="menuMoveTop.Text" xml:space="preserve"> - <value>Move to top (T)</value> - </data> - <data name="menuMoveUp.Size" type="System.Drawing.Size, System.Drawing"> - <value>355, 22</value> - </data> - <data name="menuMoveUp.Text" xml:space="preserve"> - <value>Up (U)</value> - </data> - <data name="menuMoveDown.Size" type="System.Drawing.Size, System.Drawing"> - <value>355, 22</value> - </data> - <data name="menuMoveDown.Text" xml:space="preserve"> - <value>Down (D)</value> - </data> - <data name="menuMoveBottom.Size" type="System.Drawing.Size, System.Drawing"> - <value>355, 22</value> - </data> - <data name="menuMoveBottom.Text" xml:space="preserve"> - <value>Move to bottom (B)</value> - </data> - <data name="menuSelectAll.Size" type="System.Drawing.Size, System.Drawing"> - <value>355, 22</value> - </data> - <data name="menuSelectAll.Text" xml:space="preserve"> - <value>Select All (Ctrl+A)</value> - </data> - <data name="toolStripSeparator9.Size" type="System.Drawing.Size, System.Drawing"> - <value>352, 6</value> - </data> - <data name="menuPingServer.Size" type="System.Drawing.Size, System.Drawing"> - <value>355, 22</value> - </data> - <data name="menuPingServer.Text" xml:space="preserve"> - <value>Test servers ping (Ctrl+P)</value> - </data> - <data name="menuTcpingServer.Size" type="System.Drawing.Size, System.Drawing"> - <value>355, 22</value> - </data> - <data name="menuTcpingServer.Text" xml:space="preserve"> - <value>Test servers with tcping (Ctrl+O)</value> - </data> - <data name="menuRealPingServer.Size" type="System.Drawing.Size, System.Drawing"> - <value>355, 22</value> - </data> - <data name="menuRealPingServer.Text" xml:space="preserve"> - <value>Test servers real delay (Ctrl+R)</value> - </data> - <data name="menuSpeedServer.Size" type="System.Drawing.Size, System.Drawing"> - <value>355, 22</value> - </data> - <data name="menuSpeedServer.Text" xml:space="preserve"> - <value>Test servers download speed (Ctrl+T)</value> - </data> - <data name="tsbTestMe.Size" type="System.Drawing.Size, System.Drawing"> - <value>355, 22</value> - </data> - <data name="tsbTestMe.Text" xml:space="preserve"> - <value>Test current service status</value> - </data> - <data name="menuClearServerStatistics.Size" type="System.Drawing.Size, System.Drawing"> - <value>355, 22</value> - </data> - <data name="menuClearServerStatistics.Text" xml:space="preserve"> - <value>Clear all service statistics</value> - </data> - <data name="toolStripSeparator6.Size" type="System.Drawing.Size, System.Drawing"> - <value>352, 6</value> - </data> - <data name="menuExport2ClientConfig.Size" type="System.Drawing.Size, System.Drawing"> - <value>355, 22</value> + <data name="splitContainer1.Orientation" type="System.Windows.Forms.Orientation, System.Windows.Forms"> + <value>Horizontal</value> </data> <data name="menuExport2ClientConfig.Text" xml:space="preserve"> <value>Export selected server for client configuration</value> </data> - <data name="menuExport2ServerConfig.Size" type="System.Drawing.Size, System.Drawing"> - <value>355, 22</value> + <data name=">>tsbRoutingSetting.Name" xml:space="preserve"> + <value>tsbRoutingSetting</value> + </data> + <data name=">>menuMoveTop.Type" xml:space="preserve"> + <value>System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> + </data> + <data name=">>menuAddVmessServer.Type" xml:space="preserve"> + <value>System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> + </data> + <data name="menuMsgBoxSelectAll.Size" type="System.Drawing.Size, System.Drawing"> + <value>227, 22</value> </data> <data name="menuExport2ServerConfig.Text" xml:space="preserve"> <value>Export selected server for server configuration</value> </data> - <data name="menuExport2ShareUrl.Size" type="System.Drawing.Size, System.Drawing"> - <value>355, 22</value> + <data name=">>splitContainer1.Panel2.Parent" xml:space="preserve"> + <value>splitContainer1</value> </data> - <data name="menuExport2ShareUrl.Text" xml:space="preserve"> - <value>Export share URLs to clipboard (Ctrl+C)</value> + <data name=">>splitContainer1.Type" xml:space="preserve"> + <value>System.Windows.Forms.SplitContainer, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> </data> - <data name="menuExport2SubContent.Size" type="System.Drawing.Size, System.Drawing"> - <value>355, 22</value> + <data name="tsbCheckUpdate.Size" type="System.Drawing.Size, System.Drawing"> + <value>128, 53</value> </data> - <data name="menuExport2SubContent.Text" xml:space="preserve"> - <value>Export subscription (base64) share to clipboard</value> + <data name=">>scMain.Type" xml:space="preserve"> + <value>System.Windows.Forms.SplitContainer, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> + </data> + <data name=">>scMain.ZOrder" xml:space="preserve"> + <value>0</value> + </data> + <data name="menuRealPingServer.Text" xml:space="preserve"> + <value>Test servers real delay (Ctrl+R)</value> + </data> + <data name=">>menuTcpingServer.Name" xml:space="preserve"> + <value>menuTcpingServer</value> + </data> + <data name="tsbCheckUpdate.TextImageRelation" type="System.Windows.Forms.TextImageRelation, System.Windows.Forms"> + <value>ImageAboveText</value> + </data> + <data name=">>toolSslRoutingRule.Name" xml:space="preserve"> + <value>toolSslRoutingRule</value> </data> <data name="cmsLv.Size" type="System.Drawing.Size, System.Drawing"> <value>356, 622</value> </data> - <data name=">>cmsLv.Name" xml:space="preserve"> - <value>cmsLv</value> + <data name=">>tsbGlobalHotkeySetting.Name" xml:space="preserve"> + <value>tsbGlobalHotkeySetting</value> + </data> + <data name=">>menuExit.Type" xml:space="preserve"> + <value>System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> + </data> + <data name="$this.Text" xml:space="preserve"> + <value>v2rayN</value> + </data> + <data name="menuExport2ClientConfig.Size" type="System.Drawing.Size, System.Drawing"> + <value>355, 22</value> + </data> + <data name=">>toolStripSeparator1.Name" xml:space="preserve"> + <value>toolStripSeparator1</value> + </data> + <data name="menuExport2SubContent.Size" type="System.Drawing.Size, System.Drawing"> + <value>355, 22</value> + </data> + <data name=">>tsbServer.Type" xml:space="preserve"> + <value>System.Windows.Forms.ToolStripDropDownButton, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> + </data> + <data name="tsbCheckUpdateN.Size" type="System.Drawing.Size, System.Drawing"> + <value>203, 22</value> + </data> + <data name=">>toolStripSeparator14.Type" xml:space="preserve"> + <value>System.Windows.Forms.ToolStripSeparator, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> + </data> + <data name=">>menuMsgBoxCopy.Name" xml:space="preserve"> + <value>menuMsgBoxCopy</value> + </data> + <data name=">>menuRemoveDuplicateServer.Type" xml:space="preserve"> + <value>System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> + </data> + <data name=">>tsbClose.Name" xml:space="preserve"> + <value>tsbClose</value> + </data> + <data name=">>tsbCheckUpdateN.Type" xml:space="preserve"> + <value>System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> + </data> + <data name=">>toolStripSeparator8.Type" xml:space="preserve"> + <value>System.Windows.Forms.ToolStripSeparator, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> + </data> + <data name=">>toolStripSeparator11.Type" xml:space="preserve"> + <value>System.Windows.Forms.ToolStripSeparator, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> + </data> + <data name=">>tsbCheckUpdateCore.Type" xml:space="preserve"> + <value>System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> + </data> + <data name=">>menuPingServer.Name" xml:space="preserve"> + <value>menuPingServer</value> + </data> + <data name="toolStripSeparator15.Size" type="System.Drawing.Size, System.Drawing"> + <value>200, 6</value> + </data> + <data name=">>menuScanScreen2.Type" xml:space="preserve"> + <value>System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> + </data> + <data name=">>tsbLanguageDef.Name" xml:space="preserve"> + <value>tsbLanguageDef</value> + </data> + <data name="tsbReload.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64"> + <value> + iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO + wwAADsMBx2+oZAAAATdJREFUWEftloENAiEMRW8ER3AEN9ANdARHcAPdwBF0A91AN9INtC+5JvUCJwWM + mvCTFw3QUiiU65qa/lUTYT6Ato9rJZyERwT6GFNdU+EihCYNwVhsqmgm3AR1fheOAitd9PCfNvp0HDbY + FolV2MmZZCzX9J0FG0TRTlwFdbahIVE7Qe1IR5bYVnXCyr2yO5F1MNUBec25YtjomcCXSxhr9DmrV2Gr + flyL4GSrYcm9tmnEZ7JsAC7DgWr5ydbXA8hOAcVjG8FTD6ocQgvXKrW8MqFWUfc1DAXgmRwVFaJQAHsh + VbYUU87diqWA934sl/TZ7wV2Lesx0gBwsO5/1Sl5PQhLQb+G+E+bfTm9KXsRAVgHrMK+jO9gbNEzzMSh + 6DlM9nANoa+kdCeLXLNLFtc9b2r6EXXdE4e4mdByNuG1AAAAAElFTkSuQmCC +</value> + </data> + <data name=">>menuServers2.Type" xml:space="preserve"> + <value>System.Windows.Forms.ToolStripComboBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> + </data> + <data name="menuExport2SubContent.Text" xml:space="preserve"> + <value>Export subscription (base64) share to clipboard</value> + </data> + <data name="txtMsgBox.Location" type="System.Drawing.Point, System.Drawing"> + <value>3, 17</value> + </data> + <data name="menuTcpingServer.Size" type="System.Drawing.Size, System.Drawing"> + <value>355, 22</value> + </data> + <data name=">>toolSslBlank4.Type" xml:space="preserve"> + <value>System.Windows.Forms.ToolStripStatusLabel, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> + </data> + <data name="lvServers.Dock" type="System.Windows.Forms.DockStyle, System.Windows.Forms"> + <value>Fill</value> + </data> + <data name="toolStripSeparator7.Size" type="System.Drawing.Size, System.Drawing"> + <value>6, 56</value> + </data> + <data name=">>toolStripSeparator9.Type" xml:space="preserve"> + <value>System.Windows.Forms.ToolStripSeparator, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> + </data> + <data name=">>menuRemoveServer.Type" xml:space="preserve"> + <value>System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> + </data> + <data name="toolSslServerSpeed.Size" type="System.Drawing.Size, System.Drawing"> + <value>250, 21</value> + </data> + <data name=">>menuAddCustomServer.Name" xml:space="preserve"> + <value>menuAddCustomServer</value> + </data> + <data name=">>menuMoveDown.Name" xml:space="preserve"> + <value>menuMoveDown</value> + </data> + <data name=">>menuExport2ServerConfig.Type" xml:space="preserve"> + <value>System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> + </data> + <data name="menuAddServers2.Text" xml:space="preserve"> + <value>Import bulk URL from clipboard</value> + </data> + <data name=">>gbMsgTitle.Name" xml:space="preserve"> + <value>gbMsgTitle</value> + </data> + <data name="menuMoveBottom.Text" xml:space="preserve"> + <value>Move to bottom (B)</value> + </data> + <data name="menuMoveTop.Text" xml:space="preserve"> + <value>Move to top (T)</value> + </data> + <data name="$this.AutoScaleDimensions" type="System.Drawing.SizeF, System.Drawing"> + <value>6, 12</value> + </data> + <data name="tsbHelp.Size" type="System.Drawing.Size, System.Drawing"> + <value>48, 53</value> + </data> + <data name=">>menuKeepClear.Type" xml:space="preserve"> + <value>System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> + </data> + <data name="menuMsgBoxCopyAll.Text" xml:space="preserve"> + <value>Copy All</value> + </data> + <data name=">>bgwScan.Type" xml:space="preserve"> + <value>System.ComponentModel.BackgroundWorker, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> + </data> + <data name=">>panel1.Name" xml:space="preserve"> + <value>panel1</value> + </data> + <data name="splitContainer1.Dock" type="System.Windows.Forms.DockStyle, System.Windows.Forms"> + <value>Fill</value> + </data> + <data name=">>scMain.Panel1.ZOrder" xml:space="preserve"> + <value>0</value> + </data> + <data name="lvServers.Size" type="System.Drawing.Size, System.Drawing"> + <value>686, 280</value> + </data> + <data name=">>toolStripSeparator4.Name" xml:space="preserve"> + <value>toolStripSeparator4</value> + </data> + <data name=">>tsbSubUpdate.Type" xml:space="preserve"> + <value>System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> + </data> + <data name="tsbBackupGuiNConfig.Size" type="System.Drawing.Size, System.Drawing"> + <value>195, 22</value> + </data> + <data name=">>menuPingServer.Type" xml:space="preserve"> + <value>System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> + </data> + <data name=">>toolStripSeparator13.Type" xml:space="preserve"> + <value>System.Windows.Forms.ToolStripSeparator, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> + </data> + <data name=">>menuMsgBoxFilter.Type" xml:space="preserve"> + <value>System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> + </data> + <data name=">>toolSslBlank1.Type" xml:space="preserve"> + <value>System.Windows.Forms.ToolStripStatusLabel, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> + </data> + <data name=">>scMain.Panel2.Name" xml:space="preserve"> + <value>scMain.Panel2</value> + </data> + <data name=">>tsbCheckUpdate.Type" xml:space="preserve"> + <value>System.Windows.Forms.ToolStripDropDownButton, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> + </data> + <data name=">>menuAddServers2.Name" xml:space="preserve"> + <value>menuAddServers2</value> + </data> + <data name="txtMsgBox.Dock" type="System.Windows.Forms.DockStyle, System.Windows.Forms"> + <value>Fill</value> + </data> + <data name=">>tsbServer.Name" xml:space="preserve"> + <value>tsbServer</value> + </data> + <data name="menuAddVmessServer.Text" xml:space="preserve"> + <value>Add [VMess] server</value> + </data> + <data name=">>splitContainer1.Parent" xml:space="preserve"> + <value>$this</value> + </data> + <data name=">>scMain.Panel1.Type" xml:space="preserve"> + <value>System.Windows.Forms.SplitterPanel, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> + </data> + <data name=">>tsbLanguageZhHans.Type" xml:space="preserve"> + <value>System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> + </data> + <data name=">>$this.Type" xml:space="preserve"> + <value>v2rayN.Forms.BaseForm, v2rayN, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null</value> + </data> + <data name=">>tsbAbout.Name" xml:space="preserve"> + <value>tsbAbout</value> + </data> + <data name="toolSslBlank2.Size" type="System.Drawing.Size, System.Drawing"> + <value>300, 21</value> + </data> + <data name=">>toolStripSeparator5.Name" xml:space="preserve"> + <value>toolStripSeparator5</value> + </data> + <data name="tsbSubUpdateViaProxy.Size" type="System.Drawing.Size, System.Drawing"> + <value>182, 22</value> + </data> + <data name=">>menuUpdateSubscriptions.Type" xml:space="preserve"> + <value>System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> + </data> + <data name=">>menuExport2ClientConfig.Type" xml:space="preserve"> + <value>System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> + </data> + <assembly alias="mscorlib" name="mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" /> + <data name="txtMsgBox.Multiline" type="System.Boolean, mscorlib"> + <value>True</value> + </data> + <data name="toolStripSeparator9.Size" type="System.Drawing.Size, System.Drawing"> + <value>352, 6</value> + </data> + <data name=">>tsbPromotion.Name" xml:space="preserve"> + <value>tsbPromotion</value> + </data> + <data name="qrCodeControl.Size" type="System.Drawing.Size, System.Drawing"> + <value>256, 280</value> + </data> + <data name="menuExport2ServerConfig.Size" type="System.Drawing.Size, System.Drawing"> + <value>355, 22</value> + </data> + <data name="$this.Margin" type="System.Windows.Forms.Padding, System.Windows.Forms"> + <value>4, 4, 4, 4</value> + </data> + <data name="menuTcpingServer.Text" xml:space="preserve"> + <value>Test servers with tcping (Ctrl+O)</value> + </data> + <data name=">>menuSpeedServer.Type" xml:space="preserve"> + <value>System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> + </data> + <data name="toolStripSeparator8.Size" type="System.Drawing.Size, System.Drawing"> + <value>6, 56</value> + </data> + <data name="toolStripSeparator6.Size" type="System.Drawing.Size, System.Drawing"> + <value>352, 6</value> + </data> + <data name=">>groupBox1.Name" xml:space="preserve"> + <value>groupBox1</value> + </data> + <data name="toolSslBlank1.Size" type="System.Drawing.Size, System.Drawing"> + <value>300, 21</value> + </data> + <data name="qrCodeControl.TabIndex" type="System.Int32, mscorlib"> + <value>2</value> + </data> + <data name="tsbSubUpdate.Size" type="System.Drawing.Size, System.Drawing"> + <value>182, 22</value> + </data> + <data name="menuClearServerStatistics.Text" xml:space="preserve"> + <value>Clear all service statistics</value> + </data> + <data name=">>qrCodeControl.Parent" xml:space="preserve"> + <value>scMain.Panel2</value> + </data> + <data name="tsbOptionSetting.Size" type="System.Drawing.Size, System.Drawing"> + <value>195, 22</value> + </data> + <data name="gbMsgTitle.TabIndex" type="System.Int32, mscorlib"> + <value>3</value> + </data> + <data name="tsbV2rayWebsite.Size" type="System.Drawing.Size, System.Drawing"> + <value>187, 22</value> + </data> + <data name="toolStripSeparator4.Size" type="System.Drawing.Size, System.Drawing"> + <value>6, 56</value> + </data> + <data name="menuSpeedServer.Text" xml:space="preserve"> + <value>Test servers download speed (Ctrl+T)</value> + </data> + <data name=">>ssMain.Name" xml:space="preserve"> + <value>ssMain</value> + </data> + <data name="scMain.SplitterDistance" type="System.Int32, mscorlib"> + <value>686</value> + </data> + <data name=">>splitContainer1.Panel1.Parent" xml:space="preserve"> + <value>splitContainer1</value> + </data> + <data name="cmsMain.Size" type="System.Drawing.Size, System.Drawing"> + <value>265, 221</value> + </data> + <data name="menuGlobal.Size" type="System.Drawing.Size, System.Drawing"> + <value>243, 22</value> + </data> + <data name=">>menuUpdateSubscriptions.Name" xml:space="preserve"> + <value>menuUpdateSubscriptions</value> + </data> + <data name=">>scMain.Panel2.Parent" xml:space="preserve"> + <value>scMain</value> + </data> + <data name="tsbCheckUpdate.Text" xml:space="preserve"> + <value>Check for updates</value> + </data> + <data name=">>tsbCheckUpdateXrayCore.Name" xml:space="preserve"> + <value>tsbCheckUpdateXrayCore</value> + </data> + <data name="menuMsgBoxCopy.Text" xml:space="preserve"> + <value>Copy (Ctrl+C)</value> + </data> + <data name=">>toolSslServerSpeed.Name" xml:space="preserve"> + <value>toolSslServerSpeed</value> + </data> + <data name=">>menuGlobal.Type" xml:space="preserve"> + <value>System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> + </data> + <data name=">>panel1.ZOrder" xml:space="preserve"> + <value>4</value> + </data> + <data name="tsbSubSetting.Size" type="System.Drawing.Size, System.Drawing"> + <value>182, 22</value> + </data> + <data name="tsbGlobalHotkeySetting.Text" xml:space="preserve"> + <value>GlobalHotkeySetting</value> + </data> + <data name=">>scMain.Name" xml:space="preserve"> + <value>scMain</value> + </data> + <data name="tsbCheckUpdateXrayCore.Size" type="System.Drawing.Size, System.Drawing"> + <value>203, 22</value> + </data> + <data name="panel1.TabIndex" type="System.Int32, mscorlib"> + <value>2</value> + </data> + <data name="tsMain.Size" type="System.Drawing.Size, System.Drawing"> + <value>952, 56</value> + </data> + <data name=">>tsbReload.Name" xml:space="preserve"> + <value>tsbReload</value> + </data> + <data name=">>tsbCheckUpdateGeoSite.Type" xml:space="preserve"> + <value>System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> + </data> + <data name=">>lvServers.ZOrder" xml:space="preserve"> + <value>0</value> + </data> + <data name="tsbHelp.Text" xml:space="preserve"> + <value>Help</value> + </data> + <data name=">>menuMsgBoxSelectAll.Name" xml:space="preserve"> + <value>menuMsgBoxSelectAll</value> + </data> + <data name=">>menuSelectAll.Name" xml:space="preserve"> + <value>menuSelectAll</value> + </data> + <data name=">>groupBox1.Parent" xml:space="preserve"> + <value>splitContainer1.Panel1</value> + </data> + <data name=">>tsbOptionSetting.Type" xml:space="preserve"> + <value>System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> + </data> + <data name="txtMsgBox.ScrollBars" type="System.Windows.Forms.ScrollBars, System.Windows.Forms"> + <value>Vertical</value> + </data> + <data name=">>menuAddServers2.Type" xml:space="preserve"> + <value>System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> + </data> + <data name="menuScanScreen.Text" xml:space="preserve"> + <value>Scan QR code on the screen (Ctrl+S)</value> + </data> + <data name="tsbHelp.TextImageRelation" type="System.Windows.Forms.TextImageRelation, System.Windows.Forms"> + <value>ImageAboveText</value> + </data> + <data name=">>menuSetDefaultServer.Type" xml:space="preserve"> + <value>System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> + </data> + <data name="tsbLanguageZhHans.Size" type="System.Drawing.Size, System.Drawing"> + <value>187, 22</value> + </data> + <data name=">>menuAddServers.Name" xml:space="preserve"> + <value>menuAddServers</value> + </data> + <data name=">>menuServers2.Name" xml:space="preserve"> + <value>menuServers2</value> + </data> + <data name="menuServers2.MaxDropDownItems" type="System.Int32, mscorlib"> + <value>50</value> + </data> + <data name=">>tsbCheckUpdateXrayCore.Type" xml:space="preserve"> + <value>System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> + </data> + <data name=">>tsbLanguageZhHans.Name" xml:space="preserve"> + <value>tsbLanguageZhHans</value> + </data> + <data name=">>menuRemoveDuplicateServer.Name" xml:space="preserve"> + <value>menuRemoveDuplicateServer</value> + </data> + <data name=">>menuMsgBoxCopyAll.Type" xml:space="preserve"> + <value>System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> + </data> + <data name="tsbReload.ImageAlign" type="System.Drawing.ContentAlignment, System.Drawing"> + <value>BottomCenter</value> + </data> + <data name=">>menuExport2ShareUrl.Name" xml:space="preserve"> + <value>menuExport2ShareUrl</value> + </data> + <data name=">>menuMsgBoxClear.Name" xml:space="preserve"> + <value>menuMsgBoxClear</value> + </data> + <data name=">>toolStripSeparator15.Type" xml:space="preserve"> + <value>System.Windows.Forms.ToolStripSeparator, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> + </data> + <data name=">>splitContainer1.ZOrder" xml:space="preserve"> + <value>3</value> + </data> + <data name="tsbCheckUpdateN.Text" xml:space="preserve"> + <value>v2rayN (this software)</value> + </data> + <data name=">>tsbOptionSetting.Name" xml:space="preserve"> + <value>tsbOptionSetting</value> + </data> + <data name="tsbReload.ImageTransparentColor" type="System.Drawing.Color, System.Drawing"> + <value>Magenta</value> + </data> + <data name=">>menuAddVlessServer.Type" xml:space="preserve"> + <value>System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> + </data> + <data name=">>splitContainer1.Panel1.Name" xml:space="preserve"> + <value>splitContainer1.Panel1</value> + </data> + <data name="groupBox1.Location" type="System.Drawing.Point, System.Drawing"> + <value>0, 0</value> + </data> + <data name=">>tsbAbout.Type" xml:space="preserve"> + <value>System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> + </data> + <data name=">>menuMsgBoxSelectAll.Type" xml:space="preserve"> + <value>System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> + </data> + <data name="menuServers.Text" xml:space="preserve"> + <value>Server</value> + </data> + <data name=">>lvServers.Type" xml:space="preserve"> + <value>v2rayN.Base.ListViewFlickerFree, v2rayN, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null</value> + </data> + <data name=">>menuAddShadowsocksServer.Name" xml:space="preserve"> + <value>menuAddShadowsocksServer</value> + </data> + <data name=">>txtMsgBox.Name" xml:space="preserve"> + <value>txtMsgBox</value> + </data> + <data name=">>toolSslBlank4.Name" xml:space="preserve"> + <value>toolSslBlank4</value> + </data> + <data name=">>menuAddTrojanServer.Name" xml:space="preserve"> + <value>menuAddTrojanServer</value> + </data> + <data name="menuSetDefaultServer.Size" type="System.Drawing.Size, System.Drawing"> + <value>355, 22</value> + </data> + <data name="toolSslInboundInfo.Size" type="System.Drawing.Size, System.Drawing"> + <value>80, 21</value> + </data> + <data name="notifyMain.Text" xml:space="preserve"> + <value>v2rayN</value> + </data> + <data name="tsbLanguageDef.Text" xml:space="preserve"> + <value>Language-[English]</value> + </data> + <data name=">>menuAddCustomServer.Type" xml:space="preserve"> + <value>System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> + </data> + <data name="menuSysAgentMode.Size" type="System.Drawing.Size, System.Drawing"> + <value>264, 22</value> + </data> + <data name=">>menuScanScreen2.Name" xml:space="preserve"> + <value>menuScanScreen2</value> + </data> + <data name=">>qrCodeControl.ZOrder" xml:space="preserve"> + <value>0</value> + </data> + <data name="scMain.Dock" type="System.Windows.Forms.DockStyle, System.Windows.Forms"> + <value>Fill</value> + </data> + <data name="menuRoutings.Text" xml:space="preserve"> + <value>Routing</value> + </data> + <data name=">>groupBox1.Type" xml:space="preserve"> + <value>System.Windows.Forms.GroupBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> + </data> + <data name="menuAddTrojanServer.Text" xml:space="preserve"> + <value>Add [Trojan] server</value> + </data> + <data name="tsbRoutingSetting.Size" type="System.Drawing.Size, System.Drawing"> + <value>195, 22</value> + </data> + <data name=">>menuSysAgentMode.Type" xml:space="preserve"> + <value>System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> + </data> + <data name="tsbSub.TextImageRelation" type="System.Windows.Forms.TextImageRelation, System.Windows.Forms"> + <value>ImageAboveText</value> </data> <data name=">>cmsLv.Type" xml:space="preserve"> <value>System.Windows.Forms.ContextMenuStrip, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> </data> - <data name="lvServers.Dock" type="System.Windows.Forms.DockStyle, System.Windows.Forms"> + <data name="menuMsgBoxFilter.Text" xml:space="preserve"> + <value>Set message filters</value> + </data> + <data name="$this.ClientSize" type="System.Drawing.Size, System.Drawing"> + <value>952, 593</value> + </data> + <data name=">>menuMsgBoxClear.Type" xml:space="preserve"> + <value>System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> + </data> + <data name="toolStripSeparator1.Size" type="System.Drawing.Size, System.Drawing"> + <value>352, 6</value> + </data> + <data name=">>cmsMsgBox.Type" xml:space="preserve"> + <value>System.Windows.Forms.ContextMenuStrip, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> + </data> + <data name="tsbV2rayWebsite.Text" xml:space="preserve"> + <value>V2Ray Website</value> + </data> + <data name="gbMsgTitle.Dock" type="System.Windows.Forms.DockStyle, System.Windows.Forms"> <value>Fill</value> </data> + <data name="toolSslServerSpeed.RightToLeft" type="System.Windows.Forms.RightToLeft, System.Windows.Forms"> + <value>No</value> + </data> + <data name=">>scMain.Panel2.ZOrder" xml:space="preserve"> + <value>1</value> + </data> + <data name=">>cmsMsgBox.Name" xml:space="preserve"> + <value>cmsMsgBox</value> + </data> + <data name=">>scMain.Panel2.Type" xml:space="preserve"> + <value>System.Windows.Forms.SplitterPanel, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> + </data> + <data name="tsbOptionSetting.Text" xml:space="preserve"> + <value>OptionSetting</value> + </data> + <data name=">>menuMoveTop.Name" xml:space="preserve"> + <value>menuMoveTop</value> + </data> + <data name=">>tsbCheckUpdateCore.Name" xml:space="preserve"> + <value>tsbCheckUpdateCore</value> + </data> <data name="lvServers.Items" mimetype="application/x-microsoft.net.object.binary.base64"> <value> AAEAAAD/////AQAAAAAAAAAMAgAAAFdTeXN0ZW0uV2luZG93cy5Gb3JtcywgVmVyc2lvbj00LjAuMC4w @@ -331,1340 +913,770 @@ ZW0uRHJhd2luZy5HcmFwaGljc1VuaXQBAAAAB3ZhbHVlX18ACAMAAAADAAAACw== </value> </data> - <data name="lvServers.Location" type="System.Drawing.Point, System.Drawing"> - <value>0, 0</value> + <data name="groupBox1.Size" type="System.Drawing.Size, System.Drawing"> + <value>952, 300</value> </data> - <data name="lvServers.Size" type="System.Drawing.Size, System.Drawing"> - <value>686, 280</value> + <data name=">>tsbCheckUpdateGeoIP.Name" xml:space="preserve"> + <value>tsbCheckUpdateGeoIP</value> </data> - <assembly alias="mscorlib" name="mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" /> - <data name="lvServers.TabIndex" type="System.Int32, mscorlib"> - <value>0</value> + <data name=">>menuScanScreen.Name" xml:space="preserve"> + <value>menuScanScreen</value> </data> - <data name=">>lvServers.Name" xml:space="preserve"> - <value>lvServers</value> - </data> - <data name=">>lvServers.Type" xml:space="preserve"> - <value>v2rayN.Base.ListViewFlickerFree, v2rayN, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null</value> - </data> - <data name=">>lvServers.Parent" xml:space="preserve"> - <value>scMain.Panel1</value> - </data> - <data name=">>lvServers.ZOrder" xml:space="preserve"> - <value>0</value> - </data> - <data name=">>scMain.Panel1.Name" xml:space="preserve"> - <value>scMain.Panel1</value> - </data> - <data name=">>scMain.Panel1.Type" xml:space="preserve"> - <value>System.Windows.Forms.SplitterPanel, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> - </data> - <data name=">>scMain.Panel1.Parent" xml:space="preserve"> - <value>scMain</value> - </data> - <data name=">>scMain.Panel1.ZOrder" xml:space="preserve"> - <value>0</value> - </data> - <data name="qrCodeControl.Dock" type="System.Windows.Forms.DockStyle, System.Windows.Forms"> - <value>Fill</value> - </data> - <data name="qrCodeControl.Location" type="System.Drawing.Point, System.Drawing"> - <value>0, 0</value> - </data> - <data name="qrCodeControl.Margin" type="System.Windows.Forms.Padding, System.Windows.Forms"> - <value>4, 4, 4, 4</value> - </data> - <data name="qrCodeControl.Size" type="System.Drawing.Size, System.Drawing"> - <value>256, 280</value> - </data> - <data name="qrCodeControl.TabIndex" type="System.Int32, mscorlib"> - <value>2</value> - </data> - <data name=">>qrCodeControl.Name" xml:space="preserve"> - <value>qrCodeControl</value> - </data> - <data name=">>qrCodeControl.Type" xml:space="preserve"> - <value>v2rayN.Forms.QRCodeControl, v2rayN, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null</value> - </data> - <data name=">>qrCodeControl.Parent" xml:space="preserve"> - <value>scMain.Panel2</value> - </data> - <data name=">>qrCodeControl.ZOrder" xml:space="preserve"> - <value>0</value> - </data> - <data name=">>scMain.Panel2.Name" xml:space="preserve"> - <value>scMain.Panel2</value> - </data> - <data name=">>scMain.Panel2.Type" xml:space="preserve"> - <value>System.Windows.Forms.SplitterPanel, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> - </data> - <data name=">>scMain.Panel2.Parent" xml:space="preserve"> - <value>scMain</value> - </data> - <data name=">>scMain.Panel2.ZOrder" xml:space="preserve"> - <value>1</value> - </data> - <data name="scMain.Panel2MinSize" type="System.Int32, mscorlib"> - <value>100</value> - </data> - <data name="scMain.Size" type="System.Drawing.Size, System.Drawing"> - <value>946, 280</value> - </data> - <data name="scMain.SplitterDistance" type="System.Int32, mscorlib"> - <value>686</value> - </data> - <data name="scMain.TabIndex" type="System.Int32, mscorlib"> - <value>0</value> - </data> - <data name=">>scMain.Name" xml:space="preserve"> - <value>scMain</value> - </data> - <data name=">>scMain.Type" xml:space="preserve"> - <value>System.Windows.Forms.SplitContainer, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> - </data> - <data name=">>scMain.Parent" xml:space="preserve"> - <value>groupBox1</value> - </data> - <data name=">>scMain.ZOrder" xml:space="preserve"> - <value>0</value> - </data> - <data name="tsbServer.ImageTransparentColor" type="System.Drawing.Color, System.Drawing"> - <value>Magenta</value> - </data> - <data name="tsbServer.Size" type="System.Drawing.Size, System.Drawing"> - <value>64, 53</value> - </data> - <data name="tsbServer.Text" xml:space="preserve"> - <value>Servers</value> - </data> - <data name="tsbServer.TextImageRelation" type="System.Windows.Forms.TextImageRelation, System.Windows.Forms"> + <data name="tsbSetting.TextImageRelation" type="System.Windows.Forms.TextImageRelation, System.Windows.Forms"> <value>ImageAboveText</value> </data> - <data name="splitContainer1.Dock" type="System.Windows.Forms.DockStyle, System.Windows.Forms"> - <value>Fill</value> + <data name=">>cmsLv.Name" xml:space="preserve"> + <value>cmsLv</value> </data> - <data name="splitContainer1.Location" type="System.Drawing.Point, System.Drawing"> - <value>0, 66</value> + <data name=">>toolStripSeparator12.Name" xml:space="preserve"> + <value>toolStripSeparator12</value> </data> - <data name="splitContainer1.Orientation" type="System.Windows.Forms.Orientation, System.Windows.Forms"> - <value>Horizontal</value> + <data name="toolStripSeparator5.Size" type="System.Drawing.Size, System.Drawing"> + <value>6, 56</value> </data> <data name="groupBox1.Dock" type="System.Windows.Forms.DockStyle, System.Windows.Forms"> <value>Fill</value> </data> - <data name="groupBox1.Location" type="System.Drawing.Point, System.Drawing"> - <value>0, 0</value> + <data name=">>toolSslBlank1.Name" xml:space="preserve"> + <value>toolSslBlank1</value> </data> - <data name="groupBox1.Size" type="System.Drawing.Size, System.Drawing"> - <value>952, 300</value> + <data name=">>tsbSubUpdate.Name" xml:space="preserve"> + <value>tsbSubUpdate</value> </data> - <data name="groupBox1.TabIndex" type="System.Int32, mscorlib"> + <data name=">>menuUpdateSubViaProxy.Type" xml:space="preserve"> + <value>System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> + </data> + <data name=">>tsMain.Name" xml:space="preserve"> + <value>tsMain</value> + </data> + <data name="splitContainer1.TabIndex" type="System.Int32, mscorlib"> + <value>5</value> + </data> + <data name="toolSslServerSpeed.Text" xml:space="preserve"> + <value>SPEED Disabled</value> + </data> + <data name="menuClearServerStatistics.Size" type="System.Drawing.Size, System.Drawing"> + <value>355, 22</value> + </data> + <data name="tsbPromotion.Text" xml:space="preserve"> + <value> Promotion </value> + </data> + <data name=">>menuSysAgentMode.Name" xml:space="preserve"> + <value>menuSysAgentMode</value> + </data> + <data name=">>menuKeepNothing.Name" xml:space="preserve"> + <value>menuKeepNothing</value> + </data> + <data name="splitContainer1.Size" type="System.Drawing.Size, System.Drawing"> + <value>952, 527</value> + </data> + <data name=">>tsbV2rayWebsite.Type" xml:space="preserve"> + <value>System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> + </data> + <data name="tsbClose.TextImageRelation" type="System.Windows.Forms.TextImageRelation, System.Windows.Forms"> + <value>ImageAboveText</value> + </data> + <data name="menuMsgBoxFilter.Size" type="System.Drawing.Size, System.Drawing"> + <value>227, 22</value> + </data> + <data name=">>menuAddShadowsocksServer.Type" xml:space="preserve"> + <value>System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> + </data> + <data name=">>splitContainer1.Panel2.ZOrder" xml:space="preserve"> + <value>1</value> + </data> + <data name=">>cmsMain.Name" xml:space="preserve"> + <value>cmsMain</value> + </data> + <data name="menuScanScreen2.Size" type="System.Drawing.Size, System.Drawing"> + <value>264, 22</value> + </data> + <data name=">>menuServers.Name" xml:space="preserve"> + <value>menuServers</value> + </data> + <data name=">>toolStripSeparator12.Type" xml:space="preserve"> + <value>System.Windows.Forms.ToolStripSeparator, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> + </data> + <data name=">>toolStripSeparator13.Name" xml:space="preserve"> + <value>toolStripSeparator13</value> + </data> + <data name=">>toolSslInboundInfo.Type" xml:space="preserve"> + <value>System.Windows.Forms.ToolStripStatusLabel, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> + </data> + <data name=">>menuMsgBoxFilter.Name" xml:space="preserve"> + <value>menuMsgBoxFilter</value> + </data> + <data name="tsbCheckUpdateGeoSite.Size" type="System.Drawing.Size, System.Drawing"> + <value>203, 22</value> + </data> + <data name="tsbRoutingSetting.Text" xml:space="preserve"> + <value>RoutingSetting</value> + </data> + <data name="menuServers2.FlatStyle" type="System.Windows.Forms.FlatStyle, System.Windows.Forms"> + <value>Standard</value> + </data> + <data name="tsbCheckUpdateGeoIP.Text" xml:space="preserve"> + <value>Update GeoIP</value> + </data> + <data name="ssMain.Location" type="System.Drawing.Point, System.Drawing"> + <value>3, 194</value> + </data> + <data name="notifyMain.Visible" type="System.Boolean, mscorlib"> + <value>True</value> + </data> + <data name="menuAddVlessServer.Size" type="System.Drawing.Size, System.Drawing"> + <value>355, 22</value> + </data> + <data name="tsbGlobalHotkeySetting.Size" type="System.Drawing.Size, System.Drawing"> + <value>195, 22</value> + </data> + <data name="tsbSub.Text" xml:space="preserve"> + <value>Subscriptions</value> + </data> + <data name="panel1.Size" type="System.Drawing.Size, System.Drawing"> + <value>952, 10</value> + </data> + <data name="tsbSubUpdate.Text" xml:space="preserve"> + <value>Updates</value> + </data> + <data name="menuServers.Size" type="System.Drawing.Size, System.Drawing"> + <value>264, 22</value> + </data> + <data name=">>toolStripSeparator14.Name" xml:space="preserve"> + <value>toolStripSeparator14</value> + </data> + <data name=">>txtMsgBox.ZOrder" xml:space="preserve"> <value>0</value> </data> + <data name=">>toolStripSeparator8.Name" xml:space="preserve"> + <value>toolStripSeparator8</value> + </data> + <data name=">>menuMsgBoxCopyAll.Name" xml:space="preserve"> + <value>menuMsgBoxCopyAll</value> + </data> + <data name=">>menuExport2ServerConfig.Name" xml:space="preserve"> + <value>menuExport2ServerConfig</value> + </data> + <data name="tsbPromotion.Size" type="System.Drawing.Size, System.Drawing"> + <value>89, 53</value> + </data> + <data name=">>menuMoveUp.Type" xml:space="preserve"> + <value>System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> + </data> + <data name="tsbQRCodeSwitch.TextAlign" type="System.Drawing.ContentAlignment, System.Drawing"> + <value>BottomCenter</value> + </data> + <data name="menuPingServer.Text" xml:space="preserve"> + <value>Test servers ping (Ctrl+P)</value> + </data> + <data name=">>menuExport2ShareUrl.Type" xml:space="preserve"> + <value>System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> + </data> + <data name=">>txtMsgBox.Parent" xml:space="preserve"> + <value>gbMsgTitle</value> + </data> + <data name="menuExit.Size" type="System.Drawing.Size, System.Drawing"> + <value>264, 22</value> + </data> + <data name=">>tsbHelp.Type" xml:space="preserve"> + <value>System.Windows.Forms.ToolStripDropDownButton, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> + </data> + <data name=">>tsbSetting.Type" xml:space="preserve"> + <value>System.Windows.Forms.ToolStripDropDownButton, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> + </data> + <data name="panel1.Dock" type="System.Windows.Forms.DockStyle, System.Windows.Forms"> + <value>Top</value> + </data> + <data name=">>menuSetDefaultServer.Name" xml:space="preserve"> + <value>menuSetDefaultServer</value> + </data> + <data name=">>menuMoveDown.Type" xml:space="preserve"> + <value>System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> + </data> + <data name="tsbCheckUpdateGeoIP.Size" type="System.Drawing.Size, System.Drawing"> + <value>203, 22</value> + </data> + <data name="tsbSubSetting.Text" xml:space="preserve"> + <value>Settings</value> + </data> + <data name=">>menuCopyServer.Name" xml:space="preserve"> + <value>menuCopyServer</value> + </data> + <data name=">>toolSslBlank2.Type" xml:space="preserve"> + <value>System.Windows.Forms.ToolStripStatusLabel, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> + </data> + <data name="menuSysAgentMode.Text" xml:space="preserve"> + <value>System proxy</value> + </data> + <data name=">>tsbTestMe.Type" xml:space="preserve"> + <value>System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> + </data> + <data name="menuAddShadowsocksServer.Size" type="System.Drawing.Size, System.Drawing"> + <value>355, 22</value> + </data> + <data name=">>scMain.Parent" xml:space="preserve"> + <value>groupBox1</value> + </data> + <data name=">>$this.Name" xml:space="preserve"> + <value>MainForm</value> + </data> + <data name=">>toolStripSeparator9.Name" xml:space="preserve"> + <value>toolStripSeparator9</value> + </data> + <data name=">>menuExit.Name" xml:space="preserve"> + <value>menuExit</value> + </data> + <data name="menuMsgBoxCopyAll.Size" type="System.Drawing.Size, System.Drawing"> + <value>227, 22</value> + </data> + <data name=">>tsbSubUpdateViaProxy.Name" xml:space="preserve"> + <value>tsbSubUpdateViaProxy</value> + </data> + <data name="toolSslServerSpeed.AutoSize" type="System.Boolean, mscorlib"> + <value>False</value> + </data> + <data name=">>menuAddTrojanServer.Type" xml:space="preserve"> + <value>System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> + </data> <data name="groupBox1.Text" xml:space="preserve"> <value>Servers list</value> </data> - <data name=">>groupBox1.Name" xml:space="preserve"> - <value>groupBox1</value> + <data name=">>lvServers.Name" xml:space="preserve"> + <value>lvServers</value> </data> - <data name=">>groupBox1.Type" xml:space="preserve"> - <value>System.Windows.Forms.GroupBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> + <data name=">>menuRealPingServer.Name" xml:space="preserve"> + <value>menuRealPingServer</value> </data> - <data name=">>groupBox1.Parent" xml:space="preserve"> - <value>splitContainer1.Panel1</value> + <data name="tsbSub.ImageTransparentColor" type="System.Drawing.Color, System.Drawing"> + <value>Magenta</value> </data> - <data name=">>groupBox1.ZOrder" xml:space="preserve"> + <data name=">>toolSslServerSpeed.Type" xml:space="preserve"> + <value>System.Windows.Forms.ToolStripStatusLabel, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> + </data> + <data name=">>menuGlobal.Name" xml:space="preserve"> + <value>menuGlobal</value> + </data> + <data name=">>tsbPromotion.Type" xml:space="preserve"> + <value>System.Windows.Forms.ToolStripButton, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> + </data> + <data name=">>tsbV2rayWebsite.Name" xml:space="preserve"> + <value>tsbV2rayWebsite</value> + </data> + <data name="tsbClose.ImageTransparentColor" type="System.Drawing.Color, System.Drawing"> + <value>Magenta</value> + </data> + <data name="qrCodeControl.Margin" type="System.Windows.Forms.Padding, System.Windows.Forms"> + <value>4, 4, 4, 4</value> + </data> + <data name="tsbSetting.ImageTransparentColor" type="System.Drawing.Color, System.Drawing"> + <value>Magenta</value> + </data> + <data name="menuMoveUp.Size" type="System.Drawing.Size, System.Drawing"> + <value>355, 22</value> + </data> + <data name="tsbAbout.Text" xml:space="preserve"> + <value>v2rayN Project</value> + </data> + <data name="tsbServer.Text" xml:space="preserve"> + <value>Servers</value> + </data> + <data name=">>toolStripSeparator2.Type" xml:space="preserve"> + <value>System.Windows.Forms.ToolStripSeparator, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> + </data> + <data name="menuSelectAll.Text" xml:space="preserve"> + <value>Select All (Ctrl+A)</value> + </data> + <data name=">>menuRoutings.Name" xml:space="preserve"> + <value>menuRoutings</value> + </data> + <data name="txtMsgBox.TabIndex" type="System.Int32, mscorlib"> + <value>3</value> + </data> + <data name=">>menuClearServerStatistics.Type" xml:space="preserve"> + <value>System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> + </data> + <data name=">>tsbClose.Type" xml:space="preserve"> + <value>System.Windows.Forms.ToolStripButton, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> + </data> + <data name=">>menuSpeedServer.Name" xml:space="preserve"> + <value>menuSpeedServer</value> + </data> + <data name="menuRemoveDuplicateServer.Size" type="System.Drawing.Size, System.Drawing"> + <value>355, 22</value> + </data> + <data name=">>menuRemoveServer.Name" xml:space="preserve"> + <value>menuRemoveServer</value> + </data> + <data name=">>tsbBackupGuiNConfig.Name" xml:space="preserve"> + <value>tsbBackupGuiNConfig</value> + </data> + <data name=">>tsbTestMe.Name" xml:space="preserve"> + <value>tsbTestMe</value> + </data> + <data name=">>toolStripSeparator10.Type" xml:space="preserve"> + <value>System.Windows.Forms.ToolStripSeparator, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> + </data> + <data name=">>gbMsgTitle.ZOrder" xml:space="preserve"> <value>0</value> </data> - <data name=">>splitContainer1.Panel1.Name" xml:space="preserve"> - <value>splitContainer1.Panel1</value> + <data name="txtMsgBox.Size" type="System.Drawing.Size, System.Drawing"> + <value>946, 177</value> + </data> + <data name=">>toolStripSeparator3.Type" xml:space="preserve"> + <value>System.Windows.Forms.ToolStripSeparator, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> + </data> + <data name=">>menuAddVmessServer.Name" xml:space="preserve"> + <value>menuAddVmessServer</value> + </data> + <data name=">>scMain.Panel1.Parent" xml:space="preserve"> + <value>scMain</value> + </data> + <data name="menuMoveDown.Text" xml:space="preserve"> + <value>Down (D)</value> + </data> + <data name="groupBox1.TabIndex" type="System.Int32, mscorlib"> + <value>0</value> + </data> + <data name="toolStripSeparator3.Size" type="System.Drawing.Size, System.Drawing"> + <value>352, 6</value> + </data> + <data name="tsbQRCodeSwitch.ImageTransparentColor" type="System.Drawing.Color, System.Drawing"> + <value>Magenta</value> + </data> + <data name="menuKeepClear.Size" type="System.Drawing.Size, System.Drawing"> + <value>243, 22</value> + </data> + <data name="menuRemoveServer.Text" xml:space="preserve"> + <value>Remove selected servers (Delete)</value> + </data> + <data name="gbMsgTitle.Size" type="System.Drawing.Size, System.Drawing"> + <value>952, 223</value> + </data> + <data name="menuSelectAll.Size" type="System.Drawing.Size, System.Drawing"> + <value>355, 22</value> + </data> + <data name=">>tsbSub.Name" xml:space="preserve"> + <value>tsbSub</value> + </data> + <data name="tsbCheckUpdate.ImageTransparentColor" type="System.Drawing.Color, System.Drawing"> + <value>Magenta</value> + </data> + <data name=">>toolStripSeparator11.Name" xml:space="preserve"> + <value>toolStripSeparator11</value> + </data> + <data name="tsbReload.TextImageRelation" type="System.Windows.Forms.TextImageRelation, System.Windows.Forms"> + <value>ImageAboveText</value> + </data> + <data name="menuCopyServer.Text" xml:space="preserve"> + <value>Clone selected server</value> + </data> + <data name="tsMain.Location" type="System.Drawing.Point, System.Drawing"> + <value>0, 0</value> + </data> + <data name=">>menuMsgBoxCopy.Type" xml:space="preserve"> + <value>System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> + </data> + <data name="menuAddSocksServer.Size" type="System.Drawing.Size, System.Drawing"> + <value>355, 22</value> </data> <data name=">>splitContainer1.Panel1.Type" xml:space="preserve"> <value>System.Windows.Forms.SplitterPanel, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> </data> - <data name=">>splitContainer1.Panel1.Parent" xml:space="preserve"> + <data name=">>tsbBackupGuiNConfig.Type" xml:space="preserve"> + <value>System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> + </data> + <data name=">>tsbLanguageDef.Type" xml:space="preserve"> + <value>System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> + </data> + <data name=">>tsbCheckUpdate.Name" xml:space="preserve"> + <value>tsbCheckUpdate</value> + </data> + <data name=">>txtMsgBox.Type" xml:space="preserve"> + <value>System.Windows.Forms.TextBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> + </data> + <data name="menuMsgBoxClear.Size" type="System.Drawing.Size, System.Drawing"> + <value>227, 22</value> + </data> + <data name="menuExport2ShareUrl.Text" xml:space="preserve"> + <value>Export share URLs to clipboard (Ctrl+C)</value> + </data> + <data name="menuKeepNothing.Size" type="System.Drawing.Size, System.Drawing"> + <value>243, 22</value> + </data> + <data name="menuMoveDown.Size" type="System.Drawing.Size, System.Drawing"> + <value>355, 22</value> + </data> + <data name="menuServers2.ToolTipText" xml:space="preserve"> + <value>Server</value> + </data> + <data name=">>qrCodeControl.Type" xml:space="preserve"> + <value>v2rayN.Forms.QRCodeControl, v2rayN, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null</value> + </data> + <data name="splitContainer1.SplitterDistance" type="System.Int32, mscorlib"> + <value>300</value> + </data> + <data name=">>tsMain.Type" xml:space="preserve"> + <value>System.Windows.Forms.ToolStrip, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> + </data> + <data name=">>menuMsgBoxAddRoutingRule.Type" xml:space="preserve"> + <value>System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> + </data> + <data name="tsbSubUpdateViaProxy.Text" xml:space="preserve"> + <value>Updates via proxy</value> + </data> + <data name="scMain.TabIndex" type="System.Int32, mscorlib"> + <value>0</value> + </data> + <data name=">>panel1.Parent" xml:space="preserve"> + <value>$this</value> + </data> + <data name="qrCodeControl.Location" type="System.Drawing.Point, System.Drawing"> + <value>0, 0</value> + </data> + <data name=">>qrCodeControl.Name" xml:space="preserve"> + <value>qrCodeControl</value> + </data> + <data name=">>menuServers.Type" xml:space="preserve"> + <value>System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> + </data> + <data name="menuUpdateSubViaProxy.Text" xml:space="preserve"> + <value>Update subscriptions via proxy</value> + </data> + <data name="menuKeepClear.Text" xml:space="preserve"> + <value>Clear system proxy</value> + </data> + <data name="menuPingServer.Size" type="System.Drawing.Size, System.Drawing"> + <value>355, 22</value> + </data> + <data name="lvServers.TabIndex" type="System.Int32, mscorlib"> + <value>0</value> + </data> + <data name=">>toolStripSeparator6.Type" xml:space="preserve"> + <value>System.Windows.Forms.ToolStripSeparator, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> + </data> + <data name=">>panel1.Type" xml:space="preserve"> + <value>System.Windows.Forms.Panel, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> + </data> + <data name=">>menuRealPingServer.Type" xml:space="preserve"> + <value>System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> + </data> + <data name="tsbServer.TextImageRelation" type="System.Windows.Forms.TextImageRelation, System.Windows.Forms"> + <value>ImageAboveText</value> + </data> + <data name=">>menuTcpingServer.Type" xml:space="preserve"> + <value>System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> + </data> + <data name="toolSslRoutingRule.Size" type="System.Drawing.Size, System.Drawing"> + <value>0, 21</value> + </data> + <data name="tsbCheckUpdateCore.Size" type="System.Drawing.Size, System.Drawing"> + <value>203, 22</value> + </data> + <data name="toolStripSeparator12.Size" type="System.Drawing.Size, System.Drawing"> + <value>184, 6</value> + </data> + <data name=">>gbMsgTitle.Parent" xml:space="preserve"> + <value>splitContainer1.Panel2</value> + </data> + <data name="gbMsgTitle.Location" type="System.Drawing.Point, System.Drawing"> + <value>0, 0</value> + </data> + <data name=">>lvServers.Parent" xml:space="preserve"> + <value>scMain.Panel1</value> + </data> + <data name="menuMoveUp.Text" xml:space="preserve"> + <value>Up (U)</value> + </data> + <data name=">>menuSelectAll.Type" xml:space="preserve"> + <value>System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> + </data> + <data name=">>notifyMain.Name" xml:space="preserve"> + <value>notifyMain</value> + </data> + <data name="menuGlobal.Text" xml:space="preserve"> + <value>Set system proxy</value> + </data> + <data name=">>tsbQRCodeSwitch.Type" xml:space="preserve"> + <value>System.Windows.Forms.ToolStripButton, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> + </data> + <data name="toolSslServerSpeed.TextAlign" type="System.Drawing.ContentAlignment, System.Drawing"> + <value>MiddleRight</value> + </data> + <data name=">>gbMsgTitle.Type" xml:space="preserve"> + <value>System.Windows.Forms.GroupBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> + </data> + <data name="menuMsgBoxSelectAll.Text" xml:space="preserve"> + <value>Select All (Ctrl+A)</value> + </data> + <data name="splitContainer1.Location" type="System.Drawing.Point, System.Drawing"> + <value>0, 66</value> + </data> + <data name="scMain.Panel2MinSize" type="System.Int32, mscorlib"> + <value>100</value> + </data> + <data name=">>toolStripSeparator7.Type" xml:space="preserve"> + <value>System.Windows.Forms.ToolStripSeparator, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> + </data> + <data name=">>menuAddSocksServer.Name" xml:space="preserve"> + <value>menuAddSocksServer</value> + </data> + <data name=">>scMain.Panel1.Name" xml:space="preserve"> + <value>scMain.Panel1</value> + </data> + <data name="toolSslBlank1.Font" type="System.Drawing.Font, System.Drawing"> + <value>微软雅黑, 8pt</value> + </data> + <data name="tsbServer.Size" type="System.Drawing.Size, System.Drawing"> + <value>64, 53</value> + </data> + <data name="cmsMsgBox.Size" type="System.Drawing.Size, System.Drawing"> + <value>228, 136</value> + </data> + <data name="ssMain.Size" type="System.Drawing.Size, System.Drawing"> + <value>946, 26</value> + </data> + <data name=">>tsMain.ZOrder" xml:space="preserve"> + <value>5</value> + </data> + <data name=">>toolSslRoutingRule.Type" xml:space="preserve"> + <value>System.Windows.Forms.ToolStripStatusLabel, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> + </data> + <data name="menuAddVmessServer.Size" type="System.Drawing.Size, System.Drawing"> + <value>355, 22</value> + </data> + <data name="menuSetDefaultServer.Text" xml:space="preserve"> + <value>Set as active server (Enter)</value> + </data> + <data name=">>menuAddVlessServer.Name" xml:space="preserve"> + <value>menuAddVlessServer</value> + </data> + <data name="scMain.Size" type="System.Drawing.Size, System.Drawing"> + <value>946, 280</value> + </data> + <data name="toolStripSeparator10.Size" type="System.Drawing.Size, System.Drawing"> + <value>6, 56</value> + </data> + <data name="menuAddShadowsocksServer.Text" xml:space="preserve"> + <value>Add [Shadowsocks] server</value> + </data> + <data name="toolStripSeparator13.Size" type="System.Drawing.Size, System.Drawing"> + <value>261, 6</value> + </data> + <data name="toolSslServerSpeed.Font" type="System.Drawing.Font, System.Drawing"> + <value>微软雅黑, 8pt</value> + </data> + <data name=">>splitContainer1.Name" xml:space="preserve"> <value>splitContainer1</value> </data> <data name=">>splitContainer1.Panel1.ZOrder" xml:space="preserve"> <value>0</value> </data> - <metadata name="cmsMsgBox.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"> - <value>603, 17</value> - </metadata> - <data name="menuMsgBoxSelectAll.Size" type="System.Drawing.Size, System.Drawing"> - <value>227, 22</value> + <data name="toolStripSeparator2.Size" type="System.Drawing.Size, System.Drawing"> + <value>261, 6</value> </data> - <data name="menuMsgBoxSelectAll.Text" xml:space="preserve"> - <value>Select All (Ctrl+A)</value> + <data name="tsbTestMe.Text" xml:space="preserve"> + <value>Test current service status</value> </data> - <data name="menuMsgBoxCopy.Size" type="System.Drawing.Size, System.Drawing"> - <value>227, 22</value> + <data name="cmsMain.ImeMode" type="System.Windows.Forms.ImeMode, System.Windows.Forms"> + <value>NoControl</value> </data> - <data name="menuMsgBoxCopy.Text" xml:space="preserve"> - <value>Copy (Ctrl+C)</value> + <data name=">>toolStripSeparator10.Name" xml:space="preserve"> + <value>toolStripSeparator10</value> </data> - <data name="menuMsgBoxCopyAll.Size" type="System.Drawing.Size, System.Drawing"> - <value>227, 22</value> + <data name=">>menuMoveBottom.Name" xml:space="preserve"> + <value>menuMoveBottom</value> </data> - <data name="menuMsgBoxCopyAll.Text" xml:space="preserve"> - <value>Copy All</value> + <data name="menuRealPingServer.Size" type="System.Drawing.Size, System.Drawing"> + <value>355, 22</value> </data> - <data name="menuMsgBoxClear.Size" type="System.Drawing.Size, System.Drawing"> - <value>227, 22</value> + <data name="tsMain.TabIndex" type="System.Int32, mscorlib"> + <value>1</value> </data> - <data name="menuMsgBoxClear.Text" xml:space="preserve"> - <value>Clear All</value> - </data> - <data name="menuMsgBoxAddRoutingRule.Size" type="System.Drawing.Size, System.Drawing"> - <value>227, 22</value> - </data> - <data name="menuMsgBoxAddRoutingRule.Text" xml:space="preserve"> - <value>Add Routing Rule (Ctrl+V)</value> - </data> - <data name="menuMsgBoxFilter.Size" type="System.Drawing.Size, System.Drawing"> - <value>227, 22</value> - </data> - <data name="menuMsgBoxFilter.Text" xml:space="preserve"> - <value>Set message filters</value> - </data> - <data name="cmsMsgBox.Size" type="System.Drawing.Size, System.Drawing"> - <value>228, 136</value> - </data> - <data name=">>cmsMsgBox.Name" xml:space="preserve"> - <value>cmsMsgBox</value> - </data> - <data name=">>cmsMsgBox.Type" xml:space="preserve"> - <value>System.Windows.Forms.ContextMenuStrip, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> - </data> - <data name="txtMsgBox.Dock" type="System.Windows.Forms.DockStyle, System.Windows.Forms"> - <value>Fill</value> - </data> - <data name="txtMsgBox.Location" type="System.Drawing.Point, System.Drawing"> - <value>3, 17</value> - </data> - <data name="txtMsgBox.MaxLength" type="System.Int32, mscorlib"> - <value>0</value> - </data> - <data name="txtMsgBox.Multiline" type="System.Boolean, mscorlib"> - <value>True</value> - </data> - <data name="txtMsgBox.ScrollBars" type="System.Windows.Forms.ScrollBars, System.Windows.Forms"> - <value>Vertical</value> - </data> - <data name="txtMsgBox.Size" type="System.Drawing.Size, System.Drawing"> - <value>946, 177</value> - </data> - <data name="txtMsgBox.TabIndex" type="System.Int32, mscorlib"> - <value>3</value> - </data> - <data name=">>txtMsgBox.Name" xml:space="preserve"> - <value>txtMsgBox</value> - </data> - <data name=">>txtMsgBox.Type" xml:space="preserve"> - <value>System.Windows.Forms.TextBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> - </data> - <data name=">>txtMsgBox.Parent" xml:space="preserve"> - <value>gbMsgTitle</value> - </data> - <data name=">>txtMsgBox.ZOrder" xml:space="preserve"> - <value>0</value> - </data> - <metadata name="ssMain.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"> - <value>228, 18</value> - </metadata> - <data name="toolSslInboundInfo.Size" type="System.Drawing.Size, System.Drawing"> - <value>80, 21</value> + <data name="tsbServer.ImageTransparentColor" type="System.Drawing.Color, System.Drawing"> + <value>Magenta</value> </data> <data name="toolSslInboundInfo.Text" xml:space="preserve"> <value>InboundInfo</value> </data> - <data name="toolSslBlank1.Font" type="System.Drawing.Font, System.Drawing"> - <value>微软雅黑, 8pt</value> + <data name="tsbTestMe.Size" type="System.Drawing.Size, System.Drawing"> + <value>355, 22</value> </data> - <data name="toolSslBlank1.Size" type="System.Drawing.Size, System.Drawing"> - <value>300, 21</value> - </data> - <data name="toolSslRoutingRule.Size" type="System.Drawing.Size, System.Drawing"> - <value>0, 21</value> - </data> - <data name="toolSslBlank2.Size" type="System.Drawing.Size, System.Drawing"> - <value>300, 21</value> - </data> - <data name="toolSslServerSpeed.AutoSize" type="System.Boolean, mscorlib"> - <value>False</value> - </data> - <data name="toolSslServerSpeed.Font" type="System.Drawing.Font, System.Drawing"> - <value>微软雅黑, 8pt</value> - </data> - <data name="toolSslServerSpeed.RightToLeft" type="System.Windows.Forms.RightToLeft, System.Windows.Forms"> - <value>No</value> - </data> - <data name="toolSslServerSpeed.Size" type="System.Drawing.Size, System.Drawing"> - <value>250, 21</value> - </data> - <data name="toolSslServerSpeed.Text" xml:space="preserve"> - <value>SPEED Disabled</value> - </data> - <data name="toolSslServerSpeed.TextAlign" type="System.Drawing.ContentAlignment, System.Drawing"> - <value>MiddleRight</value> - </data> - <data name="toolSslBlank4.Size" type="System.Drawing.Size, System.Drawing"> - <value>0, 21</value> - </data> - <data name="ssMain.Location" type="System.Drawing.Point, System.Drawing"> - <value>3, 194</value> - </data> - <data name="ssMain.Size" type="System.Drawing.Size, System.Drawing"> - <value>946, 26</value> - </data> - <data name="ssMain.TabIndex" type="System.Int32, mscorlib"> - <value>0</value> - </data> - <data name="ssMain.Text" xml:space="preserve"> - <value>statusStrip1</value> - </data> - <data name=">>ssMain.Name" xml:space="preserve"> - <value>ssMain</value> - </data> - <data name=">>ssMain.Type" xml:space="preserve"> - <value>System.Windows.Forms.StatusStrip, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> - </data> - <data name=">>ssMain.Parent" xml:space="preserve"> - <value>gbMsgTitle</value> - </data> - <data name=">>ssMain.ZOrder" xml:space="preserve"> - <value>1</value> - </data> - <data name="gbMsgTitle.Dock" type="System.Windows.Forms.DockStyle, System.Windows.Forms"> - <value>Fill</value> - </data> - <data name="gbMsgTitle.Location" type="System.Drawing.Point, System.Drawing"> - <value>0, 0</value> - </data> - <data name="gbMsgTitle.Size" type="System.Drawing.Size, System.Drawing"> - <value>952, 223</value> - </data> - <data name="gbMsgTitle.TabIndex" type="System.Int32, mscorlib"> - <value>3</value> - </data> - <data name="gbMsgTitle.Text" xml:space="preserve"> - <value>Informations</value> - </data> - <data name=">>gbMsgTitle.Name" xml:space="preserve"> - <value>gbMsgTitle</value> - </data> - <data name=">>gbMsgTitle.Type" xml:space="preserve"> - <value>System.Windows.Forms.GroupBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> - </data> - <data name=">>gbMsgTitle.Parent" xml:space="preserve"> - <value>splitContainer1.Panel2</value> - </data> - <data name=">>gbMsgTitle.ZOrder" xml:space="preserve"> - <value>0</value> - </data> - <data name=">>splitContainer1.Panel2.Name" xml:space="preserve"> - <value>splitContainer1.Panel2</value> - </data> - <data name=">>splitContainer1.Panel2.Type" xml:space="preserve"> - <value>System.Windows.Forms.SplitterPanel, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> - </data> - <data name=">>splitContainer1.Panel2.Parent" xml:space="preserve"> - <value>splitContainer1</value> - </data> - <data name=">>splitContainer1.Panel2.ZOrder" xml:space="preserve"> - <value>1</value> - </data> - <data name="splitContainer1.Size" type="System.Drawing.Size, System.Drawing"> - <value>952, 527</value> - </data> - <data name="splitContainer1.SplitterDistance" type="System.Int32, mscorlib"> - <value>300</value> - </data> - <data name="splitContainer1.TabIndex" type="System.Int32, mscorlib"> - <value>5</value> - </data> - <data name=">>splitContainer1.Name" xml:space="preserve"> - <value>splitContainer1</value> - </data> - <data name=">>splitContainer1.Type" xml:space="preserve"> - <value>System.Windows.Forms.SplitContainer, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> - </data> - <data name=">>splitContainer1.Parent" xml:space="preserve"> - <value>$this</value> - </data> - <data name=">>splitContainer1.ZOrder" xml:space="preserve"> - <value>3</value> - </data> - <metadata name="notifyMain.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"> - <value>17, 17</value> - </metadata> - <metadata name="cmsMain.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"> - <value>137, 17</value> - </metadata> - <data name="cmsMain.ImeMode" type="System.Windows.Forms.ImeMode, System.Windows.Forms"> - <value>NoControl</value> - </data> - <data name="menuKeepClear.Size" type="System.Drawing.Size, System.Drawing"> - <value>243, 22</value> - </data> - <data name="menuKeepClear.Text" xml:space="preserve"> - <value>Clear system proxy</value> - </data> - <data name="menuGlobal.Size" type="System.Drawing.Size, System.Drawing"> - <value>243, 22</value> - </data> - <data name="menuGlobal.Text" xml:space="preserve"> - <value>Set system proxy</value> - </data> - <data name="menuKeepNothing.Size" type="System.Drawing.Size, System.Drawing"> - <value>243, 22</value> - </data> - <data name="menuKeepNothing.Text" xml:space="preserve"> - <value>Do not change system proxy</value> - </data> - <data name="menuSysAgentMode.Size" type="System.Drawing.Size, System.Drawing"> - <value>264, 22</value> - </data> - <data name="menuSysAgentMode.Text" xml:space="preserve"> - <value>Http proxy</value> - </data> - <data name="menuRoutings.Size" type="System.Drawing.Size, System.Drawing"> - <value>264, 22</value> - </data> - <data name="menuRoutings.Text" xml:space="preserve"> - <value>Routing</value> - </data> - <data name="menuServers.Size" type="System.Drawing.Size, System.Drawing"> - <value>264, 22</value> - </data> - <data name="menuServers.Text" xml:space="preserve"> - <value>Server</value> - </data> - <data name="menuServers2.FlatStyle" type="System.Windows.Forms.FlatStyle, System.Windows.Forms"> - <value>Standard</value> - </data> - <data name="menuServers2.MaxDropDownItems" type="System.Int32, mscorlib"> - <value>50</value> - </data> - <data name="menuServers2.Size" type="System.Drawing.Size, System.Drawing"> - <value>200, 25</value> - </data> - <data name="menuServers2.ToolTipText" xml:space="preserve"> - <value>Server</value> - </data> - <data name="toolStripSeparator13.Size" type="System.Drawing.Size, System.Drawing"> - <value>261, 6</value> - </data> - <data name="menuAddServers2.Size" type="System.Drawing.Size, System.Drawing"> - <value>264, 22</value> - </data> - <data name="menuAddServers2.Text" xml:space="preserve"> - <value>Import bulk URL from clipboard</value> - </data> - <data name="menuScanScreen2.Size" type="System.Drawing.Size, System.Drawing"> - <value>264, 22</value> - </data> - <data name="menuScanScreen2.Text" xml:space="preserve"> - <value>Scan QR code on the screen</value> - </data> - <data name="menuUpdateSubscriptions.Size" type="System.Drawing.Size, System.Drawing"> - <value>264, 22</value> - </data> - <data name="menuUpdateSubscriptions.Text" xml:space="preserve"> - <value>Update subscriptions</value> - </data> - <data name="menuUpdateSubViaProxy.Size" type="System.Drawing.Size, System.Drawing"> - <value>264, 22</value> - </data> - <data name="menuUpdateSubViaProxy.Text" xml:space="preserve"> - <value>Update subscriptions via proxy</value> - </data> - <data name="toolStripSeparator2.Size" type="System.Drawing.Size, System.Drawing"> - <value>261, 6</value> - </data> - <data name="menuExit.Size" type="System.Drawing.Size, System.Drawing"> - <value>264, 22</value> - </data> - <data name="menuExit.Text" xml:space="preserve"> - <value>Exit</value> - </data> - <data name="cmsMain.Size" type="System.Drawing.Size, System.Drawing"> - <value>265, 243</value> - </data> - <data name=">>cmsMain.Name" xml:space="preserve"> - <value>cmsMain</value> - </data> - <data name=">>cmsMain.Type" xml:space="preserve"> - <value>System.Windows.Forms.ContextMenuStrip, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> - </data> - <data name="notifyMain.Text" xml:space="preserve"> - <value>v2rayN</value> - </data> - <data name="notifyMain.Visible" type="System.Boolean, mscorlib"> - <value>True</value> - </data> - <metadata name="bgwScan.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"> - <value>498, 17</value> - </metadata> - <data name="panel1.Dock" type="System.Windows.Forms.DockStyle, System.Windows.Forms"> - <value>Top</value> - </data> - <data name="panel1.Location" type="System.Drawing.Point, System.Drawing"> - <value>0, 56</value> - </data> - <data name="panel1.Size" type="System.Drawing.Size, System.Drawing"> - <value>952, 10</value> - </data> - <data name="panel1.TabIndex" type="System.Int32, mscorlib"> - <value>2</value> - </data> - <data name=">>panel1.Name" xml:space="preserve"> - <value>panel1</value> - </data> - <data name=">>panel1.Type" xml:space="preserve"> - <value>System.Windows.Forms.Panel, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> - </data> - <data name=">>panel1.Parent" xml:space="preserve"> - <value>$this</value> - </data> - <data name=">>panel1.ZOrder" xml:space="preserve"> - <value>4</value> - </data> - <metadata name="tsMain.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"> - <value>409, 17</value> - </metadata> - <data name="toolStripSeparator4.Size" type="System.Drawing.Size, System.Drawing"> - <value>6, 56</value> - </data> - <data name="tsbSubSetting.Size" type="System.Drawing.Size, System.Drawing"> - <value>182, 22</value> - </data> - <data name="tsbSubSetting.Text" xml:space="preserve"> - <value>Settings</value> - </data> - <data name="tsbSubUpdate.Size" type="System.Drawing.Size, System.Drawing"> - <value>182, 22</value> - </data> - <data name="tsbSubUpdate.Text" xml:space="preserve"> - <value>Updates</value> - </data> - <data name="tsbSubUpdateViaProxy.Size" type="System.Drawing.Size, System.Drawing"> - <value>182, 22</value> - </data> - <data name="tsbSubUpdateViaProxy.Text" xml:space="preserve"> - <value>Updates via proxy</value> - </data> - <data name="tsbSub.ImageTransparentColor" type="System.Drawing.Color, System.Drawing"> - <value>Magenta</value> - </data> - <data name="tsbSub.Size" type="System.Drawing.Size, System.Drawing"> - <value>99, 53</value> - </data> - <data name="tsbSub.Text" xml:space="preserve"> - <value>Subscriptions</value> - </data> - <data name="tsbSub.TextImageRelation" type="System.Windows.Forms.TextImageRelation, System.Windows.Forms"> - <value>ImageAboveText</value> - </data> - <data name="tsbQRCodeSwitch.ImageTransparentColor" type="System.Drawing.Color, System.Drawing"> - <value>Magenta</value> - </data> - <data name="tsbQRCodeSwitch.Size" type="System.Drawing.Size, System.Drawing"> - <value>45, 53</value> - </data> - <data name="tsbQRCodeSwitch.Text" xml:space="preserve"> - <value>Share</value> - </data> - <data name="tsbQRCodeSwitch.TextAlign" type="System.Drawing.ContentAlignment, System.Drawing"> - <value>BottomCenter</value> - </data> - <data name="tsbQRCodeSwitch.TextImageRelation" type="System.Windows.Forms.TextImageRelation, System.Windows.Forms"> - <value>ImageAboveText</value> - </data> - <data name="toolStripSeparator8.Size" type="System.Drawing.Size, System.Drawing"> - <value>6, 56</value> - </data> - <data name="tsbOptionSetting.Size" type="System.Drawing.Size, System.Drawing"> - <value>176, 22</value> - </data> - <data name="tsbOptionSetting.Text" xml:space="preserve"> - <value>OptionSetting</value> - </data> - <data name="tsbRoutingSetting.Size" type="System.Drawing.Size, System.Drawing"> - <value>176, 22</value> - </data> - <data name="tsbRoutingSetting.Text" xml:space="preserve"> - <value>RoutingSetting</value> - </data> - <data name="toolStripSeparator14.Size" type="System.Drawing.Size, System.Drawing"> - <value>173, 6</value> - </data> - <data name="tsbBackupGuiNConfig.Size" type="System.Drawing.Size, System.Drawing"> - <value>176, 22</value> - </data> - <data name="tsbBackupGuiNConfig.Text" xml:space="preserve"> - <value>BackupGuiConfig</value> - </data> - <data name="tsbSetting.ImageTransparentColor" type="System.Drawing.Color, System.Drawing"> - <value>Magenta</value> - </data> - <data name="tsbSetting.Size" type="System.Drawing.Size, System.Drawing"> - <value>67, 53</value> - </data> - <data name="tsbSetting.Text" xml:space="preserve"> - <value>Settings</value> - </data> - <data name="tsbSetting.TextImageRelation" type="System.Windows.Forms.TextImageRelation, System.Windows.Forms"> - <value>ImageAboveText</value> - </data> - <data name="toolStripSeparator5.Size" type="System.Drawing.Size, System.Drawing"> - <value>6, 56</value> - </data> - <data name="tsbReload.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64"> - <value> - iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 - YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAE3SURBVFhH7ZaBDQIhDEVvBEdwBDfQDXQER3AD3cARdAPd - QDfSDbQvuSb1AicFjJrwkxcN0FIolOuamv5VE2E+gLaPayWchEcE+hhTXVPhIoQmDcFYbKpoJtwEdX4X - jgIrXfTwnzb6dBw22BaJVdjJmWQs1/SdBRtE0U5cBXW2oSFRO0HtSEeW2FZ1wsq9sjuRdTDVAXnNuWLY - 6JnAl0sYa/Q5q1dhq35ci+Bkq2HJvbZpxGeybAAuw4Fq+cnW1wPITgHFYxvBUw+qHEIL1yq1vDKhVlH3 - NQwF4JkcFRWiUAB7IVW2FFPO3YqlgPd+LJf02e8Fdi3rMdIAcLDuf9UpeT0IS0G/hvhPm305vSl7EQFY - B6zCvozvYGzRM8zEoeg5TPZwDaGvpHQni1yzSxbXPW9q+hF13ROHuJnQcjbhtQAAAABJRU5ErkJggg== -</value> - </data> - <data name="tsbReload.ImageAlign" type="System.Drawing.ContentAlignment, System.Drawing"> - <value>BottomCenter</value> - </data> - <data name="tsbReload.ImageTransparentColor" type="System.Drawing.Color, System.Drawing"> - <value>Magenta</value> - </data> - <data name="tsbReload.Size" type="System.Drawing.Size, System.Drawing"> - <value>97, 53</value> - </data> - <data name="tsbReload.Text" xml:space="preserve"> - <value>Restart service</value> - </data> - <data name="tsbReload.TextImageRelation" type="System.Windows.Forms.TextImageRelation, System.Windows.Forms"> - <value>ImageAboveText</value> - </data> - <data name="toolStripSeparator7.Size" type="System.Drawing.Size, System.Drawing"> - <value>6, 56</value> - </data> - <data name="tsbCheckUpdateN.Size" type="System.Drawing.Size, System.Drawing"> - <value>203, 22</value> - </data> - <data name="tsbCheckUpdateN.Text" xml:space="preserve"> - <value>v2rayN (this software)</value> - </data> - <data name="tsbCheckUpdateCore.Size" type="System.Drawing.Size, System.Drawing"> - <value>203, 22</value> - </data> - <data name="tsbCheckUpdateCore.Text" xml:space="preserve"> - <value>Update v2flyCore</value> - </data> - <data name="tsbCheckUpdateXrayCore.Size" type="System.Drawing.Size, System.Drawing"> - <value>203, 22</value> - </data> - <data name="tsbCheckUpdateXrayCore.Text" xml:space="preserve"> - <value>Update XrayCore</value> - </data> - <data name="toolStripSeparator15.Size" type="System.Drawing.Size, System.Drawing"> - <value>200, 6</value> - </data> - <data name="tsbCheckUpdateGeoSite.Size" type="System.Drawing.Size, System.Drawing"> - <value>203, 22</value> - </data> - <data name="tsbCheckUpdateGeoSite.Text" xml:space="preserve"> - <value>Update GeoSite</value> - </data> - <data name="tsbCheckUpdateGeoIP.Size" type="System.Drawing.Size, System.Drawing"> - <value>203, 22</value> - </data> - <data name="tsbCheckUpdateGeoIP.Text" xml:space="preserve"> - <value>Update GeoIP</value> - </data> - <data name="tsbCheckUpdate.ImageTransparentColor" type="System.Drawing.Color, System.Drawing"> - <value>Magenta</value> - </data> - <data name="tsbCheckUpdate.Size" type="System.Drawing.Size, System.Drawing"> - <value>128, 53</value> - </data> - <data name="tsbCheckUpdate.Text" xml:space="preserve"> - <value>Check for updates</value> - </data> - <data name="tsbCheckUpdate.TextImageRelation" type="System.Windows.Forms.TextImageRelation, System.Windows.Forms"> - <value>ImageAboveText</value> - </data> - <data name="toolStripSeparator10.Size" type="System.Drawing.Size, System.Drawing"> - <value>6, 56</value> - </data> - <data name="tsbAbout.Size" type="System.Drawing.Size, System.Drawing"> - <value>187, 22</value> - </data> - <data name="tsbAbout.Text" xml:space="preserve"> - <value>v2rayN Project</value> - </data> - <data name="tsbV2rayWebsite.Size" type="System.Drawing.Size, System.Drawing"> - <value>187, 22</value> - </data> - <data name="tsbV2rayWebsite.Text" xml:space="preserve"> - <value>V2Ray Website</value> - </data> - <data name="toolStripSeparator12.Size" type="System.Drawing.Size, System.Drawing"> - <value>184, 6</value> + <data name=">>menuExport2ClientConfig.Name" xml:space="preserve"> + <value>menuExport2ClientConfig</value> </data> <data name="tsbLanguageDef.Size" type="System.Drawing.Size, System.Drawing"> <value>187, 22</value> </data> - <data name="tsbLanguageDef.Text" xml:space="preserve"> - <value>Language-[English]</value> + <data name="gbMsgTitle.Text" xml:space="preserve"> + <value>Informations</value> </data> - <data name="tsbLanguageZhHans.Size" type="System.Drawing.Size, System.Drawing"> - <value>187, 22</value> + <data name="txtMsgBox.MaxLength" type="System.Int32, mscorlib"> + <value>0</value> </data> - <data name="tsbLanguageZhHans.Text" xml:space="preserve"> - <value>语言-[中文简体]</value> + <data name=">>tsbRoutingSetting.Type" xml:space="preserve"> + <value>System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> </data> - <data name="tsbHelp.ImageTransparentColor" type="System.Drawing.Color, System.Drawing"> - <value>Magenta</value> - </data> - <data name="tsbHelp.Size" type="System.Drawing.Size, System.Drawing"> - <value>48, 53</value> - </data> - <data name="tsbHelp.Text" xml:space="preserve"> - <value>Help</value> - </data> - <data name="tsbHelp.TextImageRelation" type="System.Windows.Forms.TextImageRelation, System.Windows.Forms"> - <value>ImageAboveText</value> - </data> - <data name="tsbPromotion.ImageTransparentColor" type="System.Drawing.Color, System.Drawing"> - <value>Magenta</value> - </data> - <data name="tsbPromotion.Size" type="System.Drawing.Size, System.Drawing"> - <value>89, 53</value> - </data> - <data name="tsbPromotion.Text" xml:space="preserve"> - <value> Promotion </value> - </data> - <data name="tsbPromotion.TextImageRelation" type="System.Windows.Forms.TextImageRelation, System.Windows.Forms"> - <value>ImageAboveText</value> + <data name="menuRoutings.Size" type="System.Drawing.Size, System.Drawing"> + <value>264, 22</value> </data> <data name="toolStripSeparator11.Size" type="System.Drawing.Size, System.Drawing"> <value>6, 56</value> </data> - <data name="tsbClose.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64"> - <value> - iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 - YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAAySURBVFhH7c6xDQAgCEVBRnVTHU2ZABuMxV3yOvJDAAA/ - GqfZVG6X8mg1dfUAAPBQxAZd0SJruVXHWwAAAABJRU5ErkJggg== -</value> + <data name=">>splitContainer1.Panel2.Name" xml:space="preserve"> + <value>splitContainer1.Panel2</value> </data> - <data name="tsbClose.ImageTransparentColor" type="System.Drawing.Color, System.Drawing"> + <data name=">>tsbSubSetting.Type" xml:space="preserve"> + <value>System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> + </data> + <data name="tsbHelp.ImageTransparentColor" type="System.Drawing.Color, System.Drawing"> <value>Magenta</value> </data> <data name="tsbClose.Size" type="System.Drawing.Size, System.Drawing"> <value>52, 53</value> </data> - <data name="tsbClose.Text" xml:space="preserve"> - <value> Close </value> - </data> - <data name="tsbClose.TextImageRelation" type="System.Windows.Forms.TextImageRelation, System.Windows.Forms"> - <value>ImageAboveText</value> - </data> - <data name="tsMain.Location" type="System.Drawing.Point, System.Drawing"> - <value>0, 0</value> - </data> - <data name="tsMain.Size" type="System.Drawing.Size, System.Drawing"> - <value>952, 56</value> - </data> - <data name="tsMain.TabIndex" type="System.Int32, mscorlib"> - <value>1</value> - </data> - <data name=">>tsMain.Name" xml:space="preserve"> - <value>tsMain</value> - </data> - <data name=">>tsMain.Type" xml:space="preserve"> - <value>System.Windows.Forms.ToolStrip, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> - </data> - <data name=">>tsMain.Parent" xml:space="preserve"> - <value>$this</value> - </data> - <data name=">>tsMain.ZOrder" xml:space="preserve"> - <value>5</value> - </data> - <metadata name="$this.Localizable" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"> - <value>True</value> - </metadata> - <metadata name="$this.TrayHeight" type="System.Int32, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"> - <value>88</value> - </metadata> - <data name="$this.AutoScaleDimensions" type="System.Drawing.SizeF, System.Drawing"> - <value>6, 12</value> - </data> - <data name="$this.ClientSize" type="System.Drawing.Size, System.Drawing"> - <value>952, 593</value> - </data> - <data name="$this.Margin" type="System.Windows.Forms.Padding, System.Windows.Forms"> - <value>4, 4, 4, 4</value> - </data> - <data name="$this.Text" xml:space="preserve"> - <value>v2rayN</value> - </data> - <data name=">>menuAddVmessServer.Name" xml:space="preserve"> - <value>menuAddVmessServer</value> - </data> - <data name=">>menuAddVmessServer.Type" xml:space="preserve"> - <value>System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> - </data> - <data name=">>menuAddVlessServer.Name" xml:space="preserve"> - <value>menuAddVlessServer</value> - </data> - <data name=">>menuAddVlessServer.Type" xml:space="preserve"> - <value>System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> - </data> - <data name=">>menuAddShadowsocksServer.Name" xml:space="preserve"> - <value>menuAddShadowsocksServer</value> - </data> - <data name=">>menuAddShadowsocksServer.Type" xml:space="preserve"> - <value>System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> - </data> - <data name=">>menuAddSocksServer.Name" xml:space="preserve"> - <value>menuAddSocksServer</value> - </data> - <data name=">>menuAddSocksServer.Type" xml:space="preserve"> - <value>System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> - </data> - <data name=">>menuAddTrojanServer.Name" xml:space="preserve"> - <value>menuAddTrojanServer</value> - </data> - <data name=">>menuAddTrojanServer.Type" xml:space="preserve"> - <value>System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> - </data> - <data name=">>menuAddCustomServer.Name" xml:space="preserve"> - <value>menuAddCustomServer</value> - </data> - <data name=">>menuAddCustomServer.Type" xml:space="preserve"> - <value>System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> - </data> - <data name=">>menuAddServers.Name" xml:space="preserve"> - <value>menuAddServers</value> - </data> - <data name=">>menuAddServers.Type" xml:space="preserve"> - <value>System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> - </data> - <data name=">>menuScanScreen.Name" xml:space="preserve"> - <value>menuScanScreen</value> + <data name=">>notifyMain.Type" xml:space="preserve"> + <value>System.Windows.Forms.NotifyIcon, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> </data> <data name=">>menuScanScreen.Type" xml:space="preserve"> <value>System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> </data> - <data name=">>toolStripSeparator1.Name" xml:space="preserve"> - <value>toolStripSeparator1</value> + <data name="menuExit.Text" xml:space="preserve"> + <value>Exit</value> </data> - <data name=">>toolStripSeparator1.Type" xml:space="preserve"> - <value>System.Windows.Forms.ToolStripSeparator, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> - </data> - <data name=">>menuRemoveServer.Name" xml:space="preserve"> - <value>menuRemoveServer</value> - </data> - <data name=">>menuRemoveServer.Type" xml:space="preserve"> - <value>System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> - </data> - <data name=">>menuRemoveDuplicateServer.Name" xml:space="preserve"> - <value>menuRemoveDuplicateServer</value> - </data> - <data name=">>menuRemoveDuplicateServer.Type" xml:space="preserve"> - <value>System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> - </data> - <data name=">>menuCopyServer.Name" xml:space="preserve"> - <value>menuCopyServer</value> - </data> - <data name=">>menuCopyServer.Type" xml:space="preserve"> - <value>System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> - </data> - <data name=">>menuSetDefaultServer.Name" xml:space="preserve"> - <value>menuSetDefaultServer</value> - </data> - <data name=">>menuSetDefaultServer.Type" xml:space="preserve"> - <value>System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> - </data> - <data name=">>toolStripSeparator3.Name" xml:space="preserve"> - <value>toolStripSeparator3</value> - </data> - <data name=">>toolStripSeparator3.Type" xml:space="preserve"> - <value>System.Windows.Forms.ToolStripSeparator, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> - </data> - <data name=">>menuMoveTop.Name" xml:space="preserve"> - <value>menuMoveTop</value> - </data> - <data name=">>menuMoveTop.Type" xml:space="preserve"> - <value>System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> - </data> - <data name=">>menuMoveUp.Name" xml:space="preserve"> - <value>menuMoveUp</value> - </data> - <data name=">>menuMoveUp.Type" xml:space="preserve"> - <value>System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> - </data> - <data name=">>menuMoveDown.Name" xml:space="preserve"> - <value>menuMoveDown</value> - </data> - <data name=">>menuMoveDown.Type" xml:space="preserve"> - <value>System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> - </data> - <data name=">>menuMoveBottom.Name" xml:space="preserve"> - <value>menuMoveBottom</value> - </data> - <data name=">>menuMoveBottom.Type" xml:space="preserve"> - <value>System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> - </data> - <data name=">>menuSelectAll.Name" xml:space="preserve"> - <value>menuSelectAll</value> - </data> - <data name=">>menuSelectAll.Type" xml:space="preserve"> - <value>System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> - </data> - <data name=">>toolStripSeparator9.Name" xml:space="preserve"> - <value>toolStripSeparator9</value> - </data> - <data name=">>toolStripSeparator9.Type" xml:space="preserve"> - <value>System.Windows.Forms.ToolStripSeparator, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> - </data> - <data name=">>menuPingServer.Name" xml:space="preserve"> - <value>menuPingServer</value> - </data> - <data name=">>menuPingServer.Type" xml:space="preserve"> - <value>System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> - </data> - <data name=">>menuTcpingServer.Name" xml:space="preserve"> - <value>menuTcpingServer</value> - </data> - <data name=">>menuTcpingServer.Type" xml:space="preserve"> - <value>System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> - </data> - <data name=">>menuRealPingServer.Name" xml:space="preserve"> - <value>menuRealPingServer</value> - </data> - <data name=">>menuRealPingServer.Type" xml:space="preserve"> - <value>System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> - </data> - <data name=">>menuSpeedServer.Name" xml:space="preserve"> - <value>menuSpeedServer</value> - </data> - <data name=">>menuSpeedServer.Type" xml:space="preserve"> - <value>System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> - </data> - <data name=">>tsbTestMe.Name" xml:space="preserve"> - <value>tsbTestMe</value> - </data> - <data name=">>tsbTestMe.Type" xml:space="preserve"> + <data name=">>tsbGlobalHotkeySetting.Type" xml:space="preserve"> <value>System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> </data> <data name=">>menuClearServerStatistics.Name" xml:space="preserve"> <value>menuClearServerStatistics</value> </data> - <data name=">>menuClearServerStatistics.Type" xml:space="preserve"> + <data name=">>menuAddServers.Type" xml:space="preserve"> <value>System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> </data> - <data name=">>toolStripSeparator6.Name" xml:space="preserve"> - <value>toolStripSeparator6</value> + <data name="menuScanScreen2.Text" xml:space="preserve"> + <value>Scan QR code on the screen</value> </data> - <data name=">>toolStripSeparator6.Type" xml:space="preserve"> - <value>System.Windows.Forms.ToolStripSeparator, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> + <data name="panel1.Location" type="System.Drawing.Point, System.Drawing"> + <value>0, 56</value> </data> - <data name=">>menuExport2ClientConfig.Name" xml:space="preserve"> - <value>menuExport2ClientConfig</value> + <data name="tsbClose.Text" xml:space="preserve"> + <value> Close </value> </data> - <data name=">>menuExport2ClientConfig.Type" xml:space="preserve"> - <value>System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> + <data name="menuAddServers2.Size" type="System.Drawing.Size, System.Drawing"> + <value>264, 22</value> </data> - <data name=">>menuExport2ServerConfig.Name" xml:space="preserve"> - <value>menuExport2ServerConfig</value> + <data name="toolSslBlank4.Size" type="System.Drawing.Size, System.Drawing"> + <value>0, 21</value> </data> - <data name=">>menuExport2ServerConfig.Type" xml:space="preserve"> - <value>System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> + <data name="ssMain.TabIndex" type="System.Int32, mscorlib"> + <value>0</value> </data> - <data name=">>menuExport2ShareUrl.Name" xml:space="preserve"> - <value>menuExport2ShareUrl</value> + <data name="menuAddServers.Text" xml:space="preserve"> + <value>Import bulk URL from clipboard (Ctrl+V)</value> </data> - <data name=">>menuExport2ShareUrl.Type" xml:space="preserve"> - <value>System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> + <data name=">>tsMain.Parent" xml:space="preserve"> + <value>$this</value> </data> - <data name=">>menuExport2SubContent.Name" xml:space="preserve"> - <value>menuExport2SubContent</value> - </data> - <data name=">>menuExport2SubContent.Type" xml:space="preserve"> - <value>System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> - </data> - <data name=">>tsbServer.Name" xml:space="preserve"> - <value>tsbServer</value> - </data> - <data name=">>tsbServer.Type" xml:space="preserve"> - <value>System.Windows.Forms.ToolStripDropDownButton, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> - </data> - <data name=">>menuMsgBoxSelectAll.Name" xml:space="preserve"> - <value>menuMsgBoxSelectAll</value> - </data> - <data name=">>menuMsgBoxSelectAll.Type" xml:space="preserve"> - <value>System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> - </data> - <data name=">>menuMsgBoxCopy.Name" xml:space="preserve"> - <value>menuMsgBoxCopy</value> - </data> - <data name=">>menuMsgBoxCopy.Type" xml:space="preserve"> - <value>System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> - </data> - <data name=">>menuMsgBoxCopyAll.Name" xml:space="preserve"> - <value>menuMsgBoxCopyAll</value> - </data> - <data name=">>menuMsgBoxCopyAll.Type" xml:space="preserve"> - <value>System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> - </data> - <data name=">>menuMsgBoxClear.Name" xml:space="preserve"> - <value>menuMsgBoxClear</value> - </data> - <data name=">>menuMsgBoxClear.Type" xml:space="preserve"> - <value>System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> - </data> - <data name=">>menuMsgBoxAddRoutingRule.Name" xml:space="preserve"> - <value>menuMsgBoxAddRoutingRule</value> - </data> - <data name=">>menuMsgBoxAddRoutingRule.Type" xml:space="preserve"> - <value>System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> - </data> - <data name=">>menuMsgBoxFilter.Name" xml:space="preserve"> - <value>menuMsgBoxFilter</value> - </data> - <data name=">>menuMsgBoxFilter.Type" xml:space="preserve"> - <value>System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> - </data> - <data name=">>toolSslInboundInfo.Name" xml:space="preserve"> - <value>toolSslInboundInfo</value> - </data> - <data name=">>toolSslInboundInfo.Type" xml:space="preserve"> - <value>System.Windows.Forms.ToolStripStatusLabel, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> - </data> - <data name=">>toolSslBlank1.Name" xml:space="preserve"> - <value>toolSslBlank1</value> - </data> - <data name=">>toolSslBlank1.Type" xml:space="preserve"> - <value>System.Windows.Forms.ToolStripStatusLabel, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> - </data> - <data name=">>toolSslRoutingRule.Name" xml:space="preserve"> - <value>toolSslRoutingRule</value> - </data> - <data name=">>toolSslRoutingRule.Type" xml:space="preserve"> - <value>System.Windows.Forms.ToolStripStatusLabel, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> - </data> - <data name=">>toolSslBlank2.Name" xml:space="preserve"> - <value>toolSslBlank2</value> - </data> - <data name=">>toolSslBlank2.Type" xml:space="preserve"> - <value>System.Windows.Forms.ToolStripStatusLabel, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> - </data> - <data name=">>toolSslServerSpeed.Name" xml:space="preserve"> - <value>toolSslServerSpeed</value> - </data> - <data name=">>toolSslServerSpeed.Type" xml:space="preserve"> - <value>System.Windows.Forms.ToolStripStatusLabel, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> - </data> - <data name=">>toolSslBlank4.Name" xml:space="preserve"> - <value>toolSslBlank4</value> - </data> - <data name=">>toolSslBlank4.Type" xml:space="preserve"> - <value>System.Windows.Forms.ToolStripStatusLabel, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> - </data> - <data name=">>notifyMain.Name" xml:space="preserve"> - <value>notifyMain</value> - </data> - <data name=">>notifyMain.Type" xml:space="preserve"> - <value>System.Windows.Forms.NotifyIcon, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> - </data> - <data name=">>menuSysAgentMode.Name" xml:space="preserve"> - <value>menuSysAgentMode</value> - </data> - <data name=">>menuSysAgentMode.Type" xml:space="preserve"> - <value>System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> - </data> - <data name=">>menuKeepClear.Name" xml:space="preserve"> - <value>menuKeepClear</value> - </data> - <data name=">>menuKeepClear.Type" xml:space="preserve"> - <value>System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> - </data> - <data name=">>menuGlobal.Name" xml:space="preserve"> - <value>menuGlobal</value> - </data> - <data name=">>menuGlobal.Type" xml:space="preserve"> - <value>System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> - </data> - <data name=">>menuKeepNothing.Name" xml:space="preserve"> - <value>menuKeepNothing</value> - </data> - <data name=">>menuKeepNothing.Type" xml:space="preserve"> - <value>System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> - </data> - <data name=">>menuRoutings.Name" xml:space="preserve"> - <value>menuRoutings</value> - </data> - <data name=">>menuRoutings.Type" xml:space="preserve"> - <value>System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> - </data> - <data name=">>menuServers.Name" xml:space="preserve"> - <value>menuServers</value> - </data> - <data name=">>menuServers.Type" xml:space="preserve"> - <value>System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> - </data> - <data name=">>menuServers2.Name" xml:space="preserve"> - <value>menuServers2</value> - </data> - <data name=">>menuServers2.Type" xml:space="preserve"> - <value>System.Windows.Forms.ToolStripComboBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> - </data> - <data name=">>toolStripSeparator13.Name" xml:space="preserve"> - <value>toolStripSeparator13</value> - </data> - <data name=">>toolStripSeparator13.Type" xml:space="preserve"> - <value>System.Windows.Forms.ToolStripSeparator, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> - </data> - <data name=">>menuAddServers2.Name" xml:space="preserve"> - <value>menuAddServers2</value> - </data> - <data name=">>menuAddServers2.Type" xml:space="preserve"> - <value>System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> - </data> - <data name=">>menuScanScreen2.Name" xml:space="preserve"> - <value>menuScanScreen2</value> - </data> - <data name=">>menuScanScreen2.Type" xml:space="preserve"> - <value>System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> - </data> - <data name=">>menuUpdateSubscriptions.Name" xml:space="preserve"> - <value>menuUpdateSubscriptions</value> - </data> - <data name=">>menuUpdateSubscriptions.Type" xml:space="preserve"> - <value>System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> - </data> - <data name=">>menuUpdateSubViaProxy.Name" xml:space="preserve"> - <value>menuUpdateSubViaProxy</value> - </data> - <data name=">>menuUpdateSubViaProxy.Type" xml:space="preserve"> - <value>System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> + <data name="tsbCheckUpdateXrayCore.Text" xml:space="preserve"> + <value>Update XrayCore</value> </data> <data name=">>toolStripSeparator2.Name" xml:space="preserve"> <value>toolStripSeparator2</value> </data> - <data name=">>toolStripSeparator2.Type" xml:space="preserve"> - <value>System.Windows.Forms.ToolStripSeparator, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> + <data name="menuAddCustomServer.Text" xml:space="preserve"> + <value>Add a custom configuration server</value> </data> - <data name=">>menuExit.Name" xml:space="preserve"> - <value>menuExit</value> + <data name="toolStripSeparator14.Size" type="System.Drawing.Size, System.Drawing"> + <value>192, 6</value> </data> - <data name=">>menuExit.Type" xml:space="preserve"> - <value>System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> + <data name=">>ssMain.ZOrder" xml:space="preserve"> + <value>1</value> </data> <data name=">>bgwScan.Name" xml:space="preserve"> <value>bgwScan</value> </data> - <data name=">>bgwScan.Type" xml:space="preserve"> - <value>System.ComponentModel.BackgroundWorker, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> - </data> - <data name=">>toolStripSeparator4.Name" xml:space="preserve"> - <value>toolStripSeparator4</value> - </data> - <data name=">>toolStripSeparator4.Type" xml:space="preserve"> - <value>System.Windows.Forms.ToolStripSeparator, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> - </data> - <data name=">>tsbSub.Name" xml:space="preserve"> - <value>tsbSub</value> - </data> - <data name=">>tsbSub.Type" xml:space="preserve"> - <value>System.Windows.Forms.ToolStripDropDownButton, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> - </data> - <data name=">>tsbSubSetting.Name" xml:space="preserve"> - <value>tsbSubSetting</value> - </data> - <data name=">>tsbSubSetting.Type" xml:space="preserve"> - <value>System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> - </data> - <data name=">>tsbSubUpdate.Name" xml:space="preserve"> - <value>tsbSubUpdate</value> - </data> - <data name=">>tsbSubUpdate.Type" xml:space="preserve"> - <value>System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> - </data> - <data name=">>tsbSubUpdateViaProxy.Name" xml:space="preserve"> - <value>tsbSubUpdateViaProxy</value> + <data name=">>tsbReload.Type" xml:space="preserve"> + <value>System.Windows.Forms.ToolStripButton, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> </data> <data name=">>tsbSubUpdateViaProxy.Type" xml:space="preserve"> <value>System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> </data> - <data name=">>tsbQRCodeSwitch.Name" xml:space="preserve"> - <value>tsbQRCodeSwitch</value> + <data name="ssMain.Text" xml:space="preserve"> + <value>statusStrip1</value> </data> - <data name=">>tsbQRCodeSwitch.Type" xml:space="preserve"> - <value>System.Windows.Forms.ToolStripButton, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> - </data> - <data name=">>toolStripSeparator8.Name" xml:space="preserve"> - <value>toolStripSeparator8</value> - </data> - <data name=">>toolStripSeparator8.Type" xml:space="preserve"> - <value>System.Windows.Forms.ToolStripSeparator, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> - </data> - <data name=">>tsbSetting.Name" xml:space="preserve"> - <value>tsbSetting</value> - </data> - <data name=">>tsbSetting.Type" xml:space="preserve"> + <data name=">>tsbSub.Type" xml:space="preserve"> <value>System.Windows.Forms.ToolStripDropDownButton, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> </data> - <data name=">>tsbOptionSetting.Name" xml:space="preserve"> - <value>tsbOptionSetting</value> + <data name="lvServers.Location" type="System.Drawing.Point, System.Drawing"> + <value>0, 0</value> </data> - <data name=">>tsbOptionSetting.Type" xml:space="preserve"> - <value>System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> + <data name="qrCodeControl.Dock" type="System.Windows.Forms.DockStyle, System.Windows.Forms"> + <value>Fill</value> </data> - <data name=">>tsbRoutingSetting.Name" xml:space="preserve"> - <value>tsbRoutingSetting</value> + <data name="scMain.Location" type="System.Drawing.Point, System.Drawing"> + <value>3, 17</value> </data> - <data name=">>tsbRoutingSetting.Type" xml:space="preserve"> - <value>System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> + <data name="menuMsgBoxClear.Text" xml:space="preserve"> + <value>Clear All</value> </data> - <data name=">>toolStripSeparator14.Name" xml:space="preserve"> - <value>toolStripSeparator14</value> + <data name=">>toolStripSeparator3.Name" xml:space="preserve"> + <value>toolStripSeparator3</value> </data> - <data name=">>toolStripSeparator14.Type" xml:space="preserve"> - <value>System.Windows.Forms.ToolStripSeparator, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> + <data name="tsbBackupGuiNConfig.Text" xml:space="preserve"> + <value>BackupGuiConfig</value> </data> - <data name=">>tsbBackupGuiNConfig.Name" xml:space="preserve"> - <value>tsbBackupGuiNConfig</value> + <data name="tsbClose.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64"> + <value> + iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO + wwAADsMBx2+oZAAAADJJREFUWEftzrENACAIRUFGdVMdTZkAG4zFXfI68kMAAD8ap9lUbpfyaDV19QAA + 8FDEBl3RImu5VcdbAAAAAElFTkSuQmCC +</value> </data> - <data name=">>tsbBackupGuiNConfig.Type" xml:space="preserve"> - <value>System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> + <data name="menuAddServers.Size" type="System.Drawing.Size, System.Drawing"> + <value>355, 22</value> </data> - <data name=">>toolStripSeparator5.Name" xml:space="preserve"> - <value>toolStripSeparator5</value> + <data name="menuMoveBottom.Size" type="System.Drawing.Size, System.Drawing"> + <value>355, 22</value> </data> - <data name=">>toolStripSeparator5.Type" xml:space="preserve"> - <value>System.Windows.Forms.ToolStripSeparator, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> + <data name="menuUpdateSubViaProxy.Size" type="System.Drawing.Size, System.Drawing"> + <value>264, 22</value> </data> - <data name=">>tsbReload.Name" xml:space="preserve"> - <value>tsbReload</value> + <data name="tsbPromotion.TextImageRelation" type="System.Windows.Forms.TextImageRelation, System.Windows.Forms"> + <value>ImageAboveText</value> </data> - <data name=">>tsbReload.Type" xml:space="preserve"> - <value>System.Windows.Forms.ToolStripButton, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> + <data name=">>ssMain.Type" xml:space="preserve"> + <value>System.Windows.Forms.StatusStrip, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> </data> - <data name=">>toolStripSeparator7.Name" xml:space="preserve"> - <value>toolStripSeparator7</value> - </data> - <data name=">>toolStripSeparator7.Type" xml:space="preserve"> - <value>System.Windows.Forms.ToolStripSeparator, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> - </data> - <data name=">>tsbCheckUpdate.Name" xml:space="preserve"> - <value>tsbCheckUpdate</value> - </data> - <data name=">>tsbCheckUpdate.Type" xml:space="preserve"> - <value>System.Windows.Forms.ToolStripDropDownButton, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> - </data> - <data name=">>tsbCheckUpdateN.Name" xml:space="preserve"> - <value>tsbCheckUpdateN</value> - </data> - <data name=">>tsbCheckUpdateN.Type" xml:space="preserve"> - <value>System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> - </data> - <data name=">>tsbCheckUpdateCore.Name" xml:space="preserve"> - <value>tsbCheckUpdateCore</value> - </data> - <data name=">>tsbCheckUpdateCore.Type" xml:space="preserve"> - <value>System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> - </data> - <data name=">>tsbCheckUpdateXrayCore.Name" xml:space="preserve"> - <value>tsbCheckUpdateXrayCore</value> - </data> - <data name=">>tsbCheckUpdateXrayCore.Type" xml:space="preserve"> - <value>System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> + <data name=">>menuKeepClear.Name" xml:space="preserve"> + <value>menuKeepClear</value> </data> <data name=">>toolStripSeparator15.Name" xml:space="preserve"> <value>toolStripSeparator15</value> </data> - <data name=">>toolStripSeparator15.Type" xml:space="preserve"> - <value>System.Windows.Forms.ToolStripSeparator, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> - </data> - <data name=">>tsbCheckUpdateGeoSite.Name" xml:space="preserve"> - <value>tsbCheckUpdateGeoSite</value> - </data> - <data name=">>tsbCheckUpdateGeoSite.Type" xml:space="preserve"> - <value>System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> - </data> - <data name=">>tsbCheckUpdateGeoIP.Name" xml:space="preserve"> - <value>tsbCheckUpdateGeoIP</value> - </data> - <data name=">>tsbCheckUpdateGeoIP.Type" xml:space="preserve"> - <value>System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> - </data> - <data name=">>toolStripSeparator10.Name" xml:space="preserve"> - <value>toolStripSeparator10</value> - </data> - <data name=">>toolStripSeparator10.Type" xml:space="preserve"> - <value>System.Windows.Forms.ToolStripSeparator, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> - </data> - <data name=">>tsbHelp.Name" xml:space="preserve"> - <value>tsbHelp</value> - </data> - <data name=">>tsbHelp.Type" xml:space="preserve"> - <value>System.Windows.Forms.ToolStripDropDownButton, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> - </data> - <data name=">>tsbAbout.Name" xml:space="preserve"> - <value>tsbAbout</value> - </data> - <data name=">>tsbAbout.Type" xml:space="preserve"> - <value>System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> - </data> - <data name=">>tsbV2rayWebsite.Name" xml:space="preserve"> - <value>tsbV2rayWebsite</value> - </data> - <data name=">>tsbV2rayWebsite.Type" xml:space="preserve"> - <value>System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> - </data> - <data name=">>toolStripSeparator12.Name" xml:space="preserve"> - <value>toolStripSeparator12</value> - </data> - <data name=">>toolStripSeparator12.Type" xml:space="preserve"> - <value>System.Windows.Forms.ToolStripSeparator, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> - </data> - <data name=">>tsbLanguageDef.Name" xml:space="preserve"> - <value>tsbLanguageDef</value> - </data> - <data name=">>tsbLanguageDef.Type" xml:space="preserve"> - <value>System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> - </data> - <data name=">>tsbLanguageZhHans.Name" xml:space="preserve"> - <value>tsbLanguageZhHans</value> - </data> - <data name=">>tsbLanguageZhHans.Type" xml:space="preserve"> - <value>System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> - </data> - <data name=">>tsbPromotion.Name" xml:space="preserve"> - <value>tsbPromotion</value> - </data> - <data name=">>tsbPromotion.Type" xml:space="preserve"> - <value>System.Windows.Forms.ToolStripButton, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> - </data> - <data name=">>toolStripSeparator11.Name" xml:space="preserve"> - <value>toolStripSeparator11</value> - </data> - <data name=">>toolStripSeparator11.Type" xml:space="preserve"> - <value>System.Windows.Forms.ToolStripSeparator, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> - </data> - <data name=">>tsbClose.Name" xml:space="preserve"> - <value>tsbClose</value> - </data> - <data name=">>tsbClose.Type" xml:space="preserve"> - <value>System.Windows.Forms.ToolStripButton, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> - </data> - <data name=">>$this.Name" xml:space="preserve"> - <value>MainForm</value> - </data> - <data name=">>$this.Type" xml:space="preserve"> - <value>v2rayN.Forms.BaseForm, v2rayN, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null</value> - </data> + <metadata name="ssMain.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"> + <value>228, 18</value> + </metadata> + <metadata name="$this.Localizable" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"> + <value>True</value> + </metadata> + <metadata name="cmsLv.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"> + <value>327, 17</value> + </metadata> + <metadata name="$this.TrayHeight" type="System.Int32, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"> + <value>88</value> + </metadata> + <metadata name="cmsMain.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"> + <value>137, 17</value> + </metadata> + <metadata name="bgwScan.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"> + <value>498, 17</value> + </metadata> + <metadata name="notifyMain.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"> + <value>17, 17</value> + </metadata> + <metadata name="tsMain.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"> + <value>409, 17</value> + </metadata> + <metadata name="cmsMsgBox.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"> + <value>603, 17</value> + </metadata> </root> \ No newline at end of file diff --git a/v2rayN/v2rayN/Forms/MainForm.zh-Hans.resx b/v2rayN/v2rayN/Forms/MainForm.zh-Hans.resx index 3a4674fe..c68b28d2 100644 --- a/v2rayN/v2rayN/Forms/MainForm.zh-Hans.resx +++ b/v2rayN/v2rayN/Forms/MainForm.zh-Hans.resx @@ -118,6 +118,26 @@ <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> </resheader> <assembly alias="System.Drawing" name="System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" /> + <data name="cmsLv.Size" type="System.Drawing.Size, System.Drawing"> + <value>301, 622</value> + </data> + <data name="lvServers.Items" mimetype="application/x-microsoft.net.object.binary.base64"> + <value> + AAEAAAD/////AQAAAAAAAAAMAgAAAFdTeXN0ZW0uV2luZG93cy5Gb3JtcywgVmVyc2lvbj00LjAuMC4w + LCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI3N2E1YzU2MTkzNGUwODkMAwAAAFFTeXN0 + ZW0uRHJhd2luZywgVmVyc2lvbj00LjAuMC4wLCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2Vu + PWIwM2Y1ZjdmMTFkNTBhM2EFAQAAACFTeXN0ZW0uV2luZG93cy5Gb3Jtcy5MaXN0Vmlld0l0ZW0HAAAA + BFRleHQKSW1hZ2VJbmRleAlCYWNrQ29sb3IHQ2hlY2tlZARGb250CUZvcmVDb2xvchdVc2VJdGVtU3R5 + bGVGb3JTdWJJdGVtcwEABAAEBAAIFFN5c3RlbS5EcmF3aW5nLkNvbG9yAwAAAAETU3lzdGVtLkRyYXdp + bmcuRm9udAMAAAAUU3lzdGVtLkRyYXdpbmcuQ29sb3IDAAAAAQIAAAAGBAAAAAD/////Bfv///8UU3lz + dGVtLkRyYXdpbmcuQ29sb3IEAAAABG5hbWUFdmFsdWUKa25vd25Db2xvcgVzdGF0ZQEAAAAJBwcDAAAA + CgAAAAAAAAAAGAABAAAJBgAAAAH5////+////woAAAAAAAAAABoAAQABBQYAAAATU3lzdGVtLkRyYXdp + bmcuRm9udAQAAAAETmFtZQRTaXplBVN0eWxlBFVuaXQBAAQECxhTeXN0ZW0uRHJhd2luZy5Gb250U3R5 + bGUDAAAAG1N5c3RlbS5EcmF3aW5nLkdyYXBoaWNzVW5pdAMAAAADAAAABggAAAAG5a6L5L2TAAAQQQX3 + ////GFN5c3RlbS5EcmF3aW5nLkZvbnRTdHlsZQEAAAAHdmFsdWVfXwAIAwAAAAAAAAAF9v///xtTeXN0 + ZW0uRHJhd2luZy5HcmFwaGljc1VuaXQBAAAAB3ZhbHVlX18ACAMAAAADAAAACw== +</value> + </data> <data name="menuAddVmessServer.Size" type="System.Drawing.Size, System.Drawing"> <value>300, 22</value> </data> @@ -298,29 +318,15 @@ <data name="tsbServer.Text" xml:space="preserve"> <value> 服务器 </value> </data> - <data name="cmsLv.Size" type="System.Drawing.Size, System.Drawing"> - <value>301, 622</value> - </data> - <data name="lvServers.Items" mimetype="application/x-microsoft.net.object.binary.base64"> - <value> - AAEAAAD/////AQAAAAAAAAAMAgAAAFdTeXN0ZW0uV2luZG93cy5Gb3JtcywgVmVyc2lvbj00LjAuMC4w - LCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI3N2E1YzU2MTkzNGUwODkMAwAAAFFTeXN0 - ZW0uRHJhd2luZywgVmVyc2lvbj00LjAuMC4wLCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2Vu - PWIwM2Y1ZjdmMTFkNTBhM2EFAQAAACFTeXN0ZW0uV2luZG93cy5Gb3Jtcy5MaXN0Vmlld0l0ZW0HAAAA - BFRleHQKSW1hZ2VJbmRleAlCYWNrQ29sb3IHQ2hlY2tlZARGb250CUZvcmVDb2xvchdVc2VJdGVtU3R5 - bGVGb3JTdWJJdGVtcwEABAAEBAAIFFN5c3RlbS5EcmF3aW5nLkNvbG9yAwAAAAETU3lzdGVtLkRyYXdp - bmcuRm9udAMAAAAUU3lzdGVtLkRyYXdpbmcuQ29sb3IDAAAAAQIAAAAGBAAAAAD/////Bfv///8UU3lz - dGVtLkRyYXdpbmcuQ29sb3IEAAAABG5hbWUFdmFsdWUKa25vd25Db2xvcgVzdGF0ZQEAAAAJBwcDAAAA - CgAAAAAAAAAAGAABAAAJBgAAAAH5////+////woAAAAAAAAAABoAAQABBQYAAAATU3lzdGVtLkRyYXdp - bmcuRm9udAQAAAAETmFtZQRTaXplBVN0eWxlBFVuaXQBAAQECxhTeXN0ZW0uRHJhd2luZy5Gb250U3R5 - bGUDAAAAG1N5c3RlbS5EcmF3aW5nLkdyYXBoaWNzVW5pdAMAAAADAAAABggAAAAG5a6L5L2TAAAQQQX3 - ////GFN5c3RlbS5EcmF3aW5nLkZvbnRTdHlsZQEAAAAHdmFsdWVfXwAIAwAAAAAAAAAF9v///xtTeXN0 - ZW0uRHJhd2luZy5HcmFwaGljc1VuaXQBAAAAB3ZhbHVlX18ACAMAAAADAAAACw== -</value> - </data> <data name="groupBox1.Text" xml:space="preserve"> <value>服务器列表</value> </data> + <data name="gbMsgTitle.Text" xml:space="preserve"> + <value>信息</value> + </data> + <data name="cmsMsgBox.Size" type="System.Drawing.Size, System.Drawing"> + <value>222, 136</value> + </data> <data name="menuMsgBoxSelectAll.Size" type="System.Drawing.Size, System.Drawing"> <value>221, 22</value> </data> @@ -339,6 +345,12 @@ <data name="menuMsgBoxCopyAll.Text" xml:space="preserve"> <value>复制所有</value> </data> + <data name="menuMsgBoxClear.Size" type="System.Drawing.Size, System.Drawing"> + <value>221, 22</value> + </data> + <data name="menuMsgBoxClear.Text" xml:space="preserve"> + <value>清除所有</value> + </data> <data name="menuMsgBoxAddRoutingRule.Size" type="System.Drawing.Size, System.Drawing"> <value>221, 22</value> </data> @@ -351,14 +363,17 @@ <data name="menuMsgBoxFilter.Text" xml:space="preserve"> <value>设置信息过滤器</value> </data> - <data name="cmsMsgBox.Size" type="System.Drawing.Size, System.Drawing"> - <value>222, 114</value> - </data> <data name="toolSslServerSpeed.Text" xml:space="preserve"> <value>网速显示未启用</value> </data> - <data name="gbMsgTitle.Text" xml:space="preserve"> - <value>信息</value> + <data name="cmsMain.Size" type="System.Drawing.Size, System.Drawing"> + <value>261, 221</value> + </data> + <data name="menuSysAgentMode.Size" type="System.Drawing.Size, System.Drawing"> + <value>260, 22</value> + </data> + <data name="menuSysAgentMode.Text" xml:space="preserve"> + <value>系统代理</value> </data> <data name="menuKeepClear.Size" type="System.Drawing.Size, System.Drawing"> <value>172, 22</value> @@ -378,12 +393,6 @@ <data name="menuKeepNothing.Text" xml:space="preserve"> <value>不改变系统代理</value> </data> - <data name="menuSysAgentMode.Size" type="System.Drawing.Size, System.Drawing"> - <value>260, 22</value> - </data> - <data name="menuSysAgentMode.Text" xml:space="preserve"> - <value>系统代理</value> - </data> <data name="menuRoutings.Size" type="System.Drawing.Size, System.Drawing"> <value>260, 22</value> </data> @@ -435,8 +444,11 @@ <data name="menuExit.Text" xml:space="preserve"> <value>退出</value> </data> - <data name="cmsMain.Size" type="System.Drawing.Size, System.Drawing"> - <value>261, 227</value> + <data name="tsbSub.Size" type="System.Drawing.Size, System.Drawing"> + <value>61, 53</value> + </data> + <data name="tsbSub.Text" xml:space="preserve"> + <value> 订阅 </value> </data> <data name="tsbSubSetting.Size" type="System.Drawing.Size, System.Drawing"> <value>180, 22</value> @@ -456,18 +468,18 @@ <data name="tsbSubUpdateViaProxy.Text" xml:space="preserve"> <value>更新订阅(通过代理)</value> </data> - <data name="tsbSub.Size" type="System.Drawing.Size, System.Drawing"> - <value>61, 53</value> - </data> - <data name="tsbSub.Text" xml:space="preserve"> - <value> 订阅 </value> - </data> <data name="tsbQRCodeSwitch.Size" type="System.Drawing.Size, System.Drawing"> <value>52, 53</value> </data> <data name="tsbQRCodeSwitch.Text" xml:space="preserve"> <value> 分享 </value> </data> + <data name="tsbSetting.Size" type="System.Drawing.Size, System.Drawing"> + <value>61, 53</value> + </data> + <data name="tsbSetting.Text" xml:space="preserve"> + <value> 设置 </value> + </data> <data name="tsbOptionSetting.Size" type="System.Drawing.Size, System.Drawing"> <value>189, 22</value> </data> @@ -480,6 +492,12 @@ <data name="tsbRoutingSetting.Text" xml:space="preserve"> <value>路由设置</value> </data> + <data name="tsbGlobalHotkeySetting.Size" type="System.Drawing.Size, System.Drawing"> + <value>189, 22</value> + </data> + <data name="tsbGlobalHotkeySetting.Text" xml:space="preserve"> + <value>全局热键设置</value> + </data> <data name="toolStripSeparator14.Size" type="System.Drawing.Size, System.Drawing"> <value>186, 6</value> </data> @@ -489,12 +507,6 @@ <data name="tsbBackupGuiNConfig.Text" xml:space="preserve"> <value>备份v2rayN配置文件</value> </data> - <data name="tsbSetting.Size" type="System.Drawing.Size, System.Drawing"> - <value>61, 53</value> - </data> - <data name="tsbSetting.Text" xml:space="preserve"> - <value> 设置 </value> - </data> <data name="tsbReload.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64"> <value> iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 @@ -512,6 +524,12 @@ <data name="tsbReload.Text" xml:space="preserve"> <value> 重启服务 </value> </data> + <data name="tsbCheckUpdate.Size" type="System.Drawing.Size, System.Drawing"> + <value>85, 53</value> + </data> + <data name="tsbCheckUpdate.Text" xml:space="preserve"> + <value> 检查更新 </value> + </data> <data name="tsbCheckUpdateN.Size" type="System.Drawing.Size, System.Drawing"> <value>168, 22</value> </data> @@ -539,11 +557,11 @@ <data name="tsbCheckUpdateGeoIP.Size" type="System.Drawing.Size, System.Drawing"> <value>168, 22</value> </data> - <data name="tsbCheckUpdate.Size" type="System.Drawing.Size, System.Drawing"> - <value>85, 53</value> + <data name="tsbHelp.Size" type="System.Drawing.Size, System.Drawing"> + <value>69, 53</value> </data> - <data name="tsbCheckUpdate.Text" xml:space="preserve"> - <value> 检查更新 </value> + <data name="tsbHelp.Text" xml:space="preserve"> + <value> 帮助 </value> </data> <data name="tsbAbout.Text" xml:space="preserve"> <value>v2rayN 项目</value> @@ -551,12 +569,6 @@ <data name="tsbV2rayWebsite.Text" xml:space="preserve"> <value>V2Ray 官网</value> </data> - <data name="tsbHelp.Size" type="System.Drawing.Size, System.Drawing"> - <value>69, 53</value> - </data> - <data name="tsbHelp.Text" xml:space="preserve"> - <value> 帮助 </value> - </data> <data name="tsbPromotion.Size" type="System.Drawing.Size, System.Drawing"> <value>68, 53</value> </data> diff --git a/v2rayN/v2rayN/Forms/QRCodeForm.Designer.cs b/v2rayN/v2rayN/Forms/QRCodeForm.Designer.cs deleted file mode 100644 index 733adb47..00000000 --- a/v2rayN/v2rayN/Forms/QRCodeForm.Designer.cs +++ /dev/null @@ -1,94 +0,0 @@ -namespace v2rayN.Forms -{ - partial class QRCodeForm - { - /// <summary> - /// Required designer variable. - /// </summary> - private System.ComponentModel.IContainer components = null; - - /// <summary> - /// Clean up any resources being used. - /// </summary> - /// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param> - protected override void Dispose(bool disposing) - { - if (disposing && (components != null)) - { - components.Dispose(); - } - base.Dispose(disposing); - } - - #region Windows Form Designer generated code - - /// <summary> - /// Required method for Designer support - do not modify - /// the contents of this method with the code editor. - /// </summary> - private void InitializeComponent() - { - this.picQRCode = new System.Windows.Forms.PictureBox(); - this.groupBox1 = new System.Windows.Forms.GroupBox(); - this.txtUrl = new System.Windows.Forms.TextBox(); - ((System.ComponentModel.ISupportInitialize)(this.picQRCode)).BeginInit(); - this.groupBox1.SuspendLayout(); - this.SuspendLayout(); - // - // picQRCode - // - this.picQRCode.Dock = System.Windows.Forms.DockStyle.Fill; - this.picQRCode.Location = new System.Drawing.Point(0, 0); - this.picQRCode.Name = "picQRCode"; - this.picQRCode.Size = new System.Drawing.Size(482, 483); - this.picQRCode.SizeMode = System.Windows.Forms.PictureBoxSizeMode.StretchImage; - this.picQRCode.TabIndex = 23; - this.picQRCode.TabStop = false; - // - // groupBox1 - // - this.groupBox1.Controls.Add(this.txtUrl); - this.groupBox1.Dock = System.Windows.Forms.DockStyle.Bottom; - this.groupBox1.Location = new System.Drawing.Point(0, 483); - this.groupBox1.Name = "groupBox1"; - this.groupBox1.Size = new System.Drawing.Size(482, 90); - this.groupBox1.TabIndex = 0; - this.groupBox1.TabStop = false; - this.groupBox1.Text = "URL"; - // - // txtUrl - // - this.txtUrl.Dock = System.Windows.Forms.DockStyle.Fill; - this.txtUrl.Location = new System.Drawing.Point(3, 17); - this.txtUrl.Multiline = true; - this.txtUrl.Name = "txtUrl"; - this.txtUrl.ReadOnly = true; - this.txtUrl.Size = new System.Drawing.Size(476, 70); - this.txtUrl.TabIndex = 0; - // - // QRCodeForm - // - this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 12F); - this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; - this.ClientSize = new System.Drawing.Size(482, 573); - this.Controls.Add(this.picQRCode); - this.Controls.Add(this.groupBox1); - this.Name = "QRCodeForm"; - this.Text = "服务器配置二维码和URL"; - this.Load += new System.EventHandler(this.QRCodeForm_Load); - this.Shown += new System.EventHandler(this.QRCodeForm_Shown); - ((System.ComponentModel.ISupportInitialize)(this.picQRCode)).EndInit(); - this.groupBox1.ResumeLayout(false); - this.groupBox1.PerformLayout(); - this.ResumeLayout(false); - - } - - #endregion - - private System.Windows.Forms.GroupBox groupBox1; - private System.Windows.Forms.TextBox txtUrl; - private System.Windows.Forms.PictureBox picQRCode; - - } -} \ No newline at end of file diff --git a/v2rayN/v2rayN/Forms/QRCodeForm.cs b/v2rayN/v2rayN/Forms/QRCodeForm.cs deleted file mode 100644 index d170b173..00000000 --- a/v2rayN/v2rayN/Forms/QRCodeForm.cs +++ /dev/null @@ -1,51 +0,0 @@ -using System; -using System.Collections.Generic; -using System.ComponentModel; -using System.Data; -using System.Drawing; -using System.Linq; -using System.Text; -using System.Windows.Forms; -using v2rayN.Handler; -using v2rayN.Mode; - -namespace v2rayN.Forms -{ - public partial class QRCodeForm : BaseForm - { - public int Index { get; set; } - - public QRCodeForm() - { - InitializeComponent(); - } - - private void QRCodeForm_Load(object sender, EventArgs e) - { - txtUrl.MouseUp += txtUrl_MouseUp; - } - - void txtUrl_MouseUp(object sender, MouseEventArgs e) - { - txtUrl.SelectAll(); - } - - private void QRCodeForm_Shown(object sender, EventArgs e) - { - if (Index >= 0) - { - VmessQRCode vmessQRCode = null; - if (ConfigHandler.GetVmessQRCode(config, Index, ref vmessQRCode) != 0) - { - return; - } - string url = Utils.ToJson(vmessQRCode); - url = Utils.Base64Encode(url); - url = string.Format("{0}{1}", Global.vmessProtocol, url); - picQRCode.Image = QRCodeHelper.GetQRCode(url); - txtUrl.Text = url; - } - } - - } -} diff --git a/v2rayN/v2rayN/Forms/QRCodeForm.resx b/v2rayN/v2rayN/Forms/QRCodeForm.resx deleted file mode 100644 index 1af7de15..00000000 --- a/v2rayN/v2rayN/Forms/QRCodeForm.resx +++ /dev/null @@ -1,120 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<root> - <!-- - Microsoft ResX Schema - - Version 2.0 - - The primary goals of this format is to allow a simple XML format - that is mostly human readable. The generation and parsing of the - various data types are done through the TypeConverter classes - associated with the data types. - - Example: - - ... ado.net/XML headers & schema ... - <resheader name="resmimetype">text/microsoft-resx</resheader> - <resheader name="version">2.0</resheader> - <resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader> - <resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader> - <data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data> - <data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data> - <data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64"> - <value>[base64 mime encoded serialized .NET Framework object]</value> - </data> - <data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64"> - <value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value> - <comment>This is a comment</comment> - </data> - - There are any number of "resheader" rows that contain simple - name/value pairs. - - Each data row contains a name, and value. The row also contains a - type or mimetype. Type corresponds to a .NET class that support - text/value conversion through the TypeConverter architecture. - Classes that don't support this are serialized and stored with the - mimetype set. - - The mimetype is used for serialized objects, and tells the - ResXResourceReader how to depersist the object. This is currently not - extensible. For a given mimetype the value must be set accordingly: - - Note - application/x-microsoft.net.object.binary.base64 is the format - that the ResXResourceWriter will generate, however the reader can - read any of the formats listed below. - - mimetype: application/x-microsoft.net.object.binary.base64 - value : The object must be serialized with - : System.Runtime.Serialization.Formatters.Binary.BinaryFormatter - : and then encoded with base64 encoding. - - mimetype: application/x-microsoft.net.object.soap.base64 - value : The object must be serialized with - : System.Runtime.Serialization.Formatters.Soap.SoapFormatter - : and then encoded with base64 encoding. - - mimetype: application/x-microsoft.net.object.bytearray.base64 - value : The object must be serialized into a byte array - : using a System.ComponentModel.TypeConverter - : and then encoded with base64 encoding. - --> - <xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata"> - <xsd:import namespace="http://www.w3.org/XML/1998/namespace" /> - <xsd:element name="root" msdata:IsDataSet="true"> - <xsd:complexType> - <xsd:choice maxOccurs="unbounded"> - <xsd:element name="metadata"> - <xsd:complexType> - <xsd:sequence> - <xsd:element name="value" type="xsd:string" minOccurs="0" /> - </xsd:sequence> - <xsd:attribute name="name" use="required" type="xsd:string" /> - <xsd:attribute name="type" type="xsd:string" /> - <xsd:attribute name="mimetype" type="xsd:string" /> - <xsd:attribute ref="xml:space" /> - </xsd:complexType> - </xsd:element> - <xsd:element name="assembly"> - <xsd:complexType> - <xsd:attribute name="alias" type="xsd:string" /> - <xsd:attribute name="name" type="xsd:string" /> - </xsd:complexType> - </xsd:element> - <xsd:element name="data"> - <xsd:complexType> - <xsd:sequence> - <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" /> - <xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" /> - </xsd:sequence> - <xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" /> - <xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" /> - <xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" /> - <xsd:attribute ref="xml:space" /> - </xsd:complexType> - </xsd:element> - <xsd:element name="resheader"> - <xsd:complexType> - <xsd:sequence> - <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" /> - </xsd:sequence> - <xsd:attribute name="name" type="xsd:string" use="required" /> - </xsd:complexType> - </xsd:element> - </xsd:choice> - </xsd:complexType> - </xsd:element> - </xsd:schema> - <resheader name="resmimetype"> - <value>text/microsoft-resx</value> - </resheader> - <resheader name="version"> - <value>2.0</value> - </resheader> - <resheader name="reader"> - <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> - </resheader> - <resheader name="writer"> - <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> - </resheader> -</root> \ No newline at end of file diff --git a/v2rayN/v2rayN/Forms/RoutingRuleQuicklyAddForm.Designer.cs b/v2rayN/v2rayN/Forms/RoutingRuleQuicklyAddForm.Designer.cs deleted file mode 100644 index b187f725..00000000 --- a/v2rayN/v2rayN/Forms/RoutingRuleQuicklyAddForm.Designer.cs +++ /dev/null @@ -1,170 +0,0 @@ -namespace v2rayN.Forms -{ - partial class RoutingRuleQuicklyAddForm - { - /// <summary> - /// Required designer variable. - /// </summary> - private System.ComponentModel.IContainer components = null; - - /// <summary> - /// Clean up any resources being used. - /// </summary> - /// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param> - protected override void Dispose(bool disposing) - { - if (disposing && (components != null)) - { - components.Dispose(); - } - base.Dispose(disposing); - } - - #region Windows Form Designer generated code - - /// <summary> - /// Required method for Designer support - do not modify - /// the contents of this method with the code editor. - /// </summary> - private void InitializeComponent() - { - System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(RoutingRuleQuicklyAddForm)); - this.panel1 = new System.Windows.Forms.Panel(); - this.panel3 = new System.Windows.Forms.Panel(); - this.label4 = new System.Windows.Forms.Label(); - this.cmbOutboundTag = new System.Windows.Forms.ComboBox(); - this.panel4 = new System.Windows.Forms.Panel(); - this.btnClose = new System.Windows.Forms.Button(); - this.btnOK = new System.Windows.Forms.Button(); - this.panel2 = new System.Windows.Forms.Panel(); - this.groupBox2 = new System.Windows.Forms.GroupBox(); - this.txtIP = new System.Windows.Forms.TextBox(); - this.groupBox1 = new System.Windows.Forms.GroupBox(); - this.txtDomain = new System.Windows.Forms.TextBox(); - this.panel3.SuspendLayout(); - this.panel4.SuspendLayout(); - this.panel2.SuspendLayout(); - this.groupBox2.SuspendLayout(); - this.groupBox1.SuspendLayout(); - this.SuspendLayout(); - // - // panel1 - // - resources.ApplyResources(this.panel1, "panel1"); - this.panel1.Name = "panel1"; - // - // panel3 - // - resources.ApplyResources(this.panel3, "panel3"); - this.panel3.Controls.Add(this.label4); - this.panel3.Controls.Add(this.cmbOutboundTag); - this.panel3.Name = "panel3"; - // - // label4 - // - resources.ApplyResources(this.label4, "label4"); - this.label4.Name = "label4"; - // - // cmbOutboundTag - // - resources.ApplyResources(this.cmbOutboundTag, "cmbOutboundTag"); - this.cmbOutboundTag.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList; - this.cmbOutboundTag.FormattingEnabled = true; - this.cmbOutboundTag.Items.AddRange(new object[] { - resources.GetString("cmbOutboundTag.Items"), - resources.GetString("cmbOutboundTag.Items1"), - resources.GetString("cmbOutboundTag.Items2")}); - this.cmbOutboundTag.Name = "cmbOutboundTag"; - // - // panel4 - // - resources.ApplyResources(this.panel4, "panel4"); - this.panel4.Controls.Add(this.btnClose); - this.panel4.Controls.Add(this.btnOK); - this.panel4.Name = "panel4"; - // - // btnClose - // - resources.ApplyResources(this.btnClose, "btnClose"); - this.btnClose.DialogResult = System.Windows.Forms.DialogResult.Cancel; - this.btnClose.Name = "btnClose"; - this.btnClose.UseVisualStyleBackColor = true; - this.btnClose.Click += new System.EventHandler(this.btnClose_Click); - // - // btnOK - // - resources.ApplyResources(this.btnOK, "btnOK"); - this.btnOK.Name = "btnOK"; - this.btnOK.UseVisualStyleBackColor = true; - this.btnOK.Click += new System.EventHandler(this.btnOK_Click); - // - // panel2 - // - resources.ApplyResources(this.panel2, "panel2"); - this.panel2.Controls.Add(this.groupBox2); - this.panel2.Controls.Add(this.groupBox1); - this.panel2.Name = "panel2"; - // - // groupBox2 - // - resources.ApplyResources(this.groupBox2, "groupBox2"); - this.groupBox2.Controls.Add(this.txtIP); - this.groupBox2.Name = "groupBox2"; - this.groupBox2.TabStop = false; - // - // txtIP - // - resources.ApplyResources(this.txtIP, "txtIP"); - this.txtIP.Name = "txtIP"; - // - // groupBox1 - // - resources.ApplyResources(this.groupBox1, "groupBox1"); - this.groupBox1.Controls.Add(this.txtDomain); - this.groupBox1.Name = "groupBox1"; - this.groupBox1.TabStop = false; - // - // txtDomain - // - resources.ApplyResources(this.txtDomain, "txtDomain"); - this.txtDomain.Name = "txtDomain"; - // - // RoutingRuleQuicklyAddForm - // - resources.ApplyResources(this, "$this"); - this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; - this.CancelButton = this.btnClose; - this.Controls.Add(this.panel2); - this.Controls.Add(this.panel4); - this.Controls.Add(this.panel3); - this.Controls.Add(this.panel1); - this.Name = "RoutingRuleQuicklyAddForm"; - this.Load += new System.EventHandler(this.RoutingRuleQuicklyAddForm_Load); - this.panel3.ResumeLayout(false); - this.panel3.PerformLayout(); - this.panel4.ResumeLayout(false); - this.panel2.ResumeLayout(false); - this.groupBox2.ResumeLayout(false); - this.groupBox2.PerformLayout(); - this.groupBox1.ResumeLayout(false); - this.groupBox1.PerformLayout(); - this.ResumeLayout(false); - - } - - #endregion - - private System.Windows.Forms.Panel panel1; - private System.Windows.Forms.Panel panel3; - private System.Windows.Forms.Label label4; - private System.Windows.Forms.ComboBox cmbOutboundTag; - private System.Windows.Forms.Panel panel4; - private System.Windows.Forms.Button btnClose; - private System.Windows.Forms.Button btnOK; - private System.Windows.Forms.Panel panel2; - private System.Windows.Forms.GroupBox groupBox1; - private System.Windows.Forms.TextBox txtDomain; - private System.Windows.Forms.GroupBox groupBox2; - private System.Windows.Forms.TextBox txtIP; - } -} \ No newline at end of file diff --git a/v2rayN/v2rayN/Forms/RoutingRuleQuicklyAddForm.cs b/v2rayN/v2rayN/Forms/RoutingRuleQuicklyAddForm.cs deleted file mode 100644 index 51f6d87b..00000000 --- a/v2rayN/v2rayN/Forms/RoutingRuleQuicklyAddForm.cs +++ /dev/null @@ -1,73 +0,0 @@ -using System; -using System.Windows.Forms; -using v2rayN.Handler; -using v2rayN.Mode; - -namespace v2rayN.Forms -{ - public partial class RoutingRuleQuicklyAddForm : BaseForm - { - public string domain - { - get; set; - } - private RulesItem rulesItem; - - public RoutingRuleQuicklyAddForm() - { - InitializeComponent(); - } - - private void RoutingRuleQuicklyAddForm_Load(object sender, EventArgs e) - { - rulesItem = new RulesItem(); - ClearBind(); - } - - private void EndBindingData() - { - if (rulesItem != null) - { - rulesItem.outboundTag = cmbOutboundTag.Text; - rulesItem.domain = Utils.String2List(txtDomain.Text); - rulesItem.ip = Utils.String2List(txtIP.Text); - } - } - - private void ClearBind() - { - cmbOutboundTag.Text = Global.agentTag; - txtDomain.Text = domain; - } - private void btnOK_Click(object sender, EventArgs e) - { - EndBindingData(); - var hasRule = false; - if (rulesItem.domain != null && rulesItem.domain.Count > 0) - { - hasRule = true; - } - if (rulesItem.ip != null && rulesItem.ip.Count > 0) - { - hasRule = true; - } - if (!hasRule) - { - return; - } - if (ConfigHandler.InsertRoutingRuleItem(ref config, rulesItem) == 0) - { - this.DialogResult = DialogResult.OK; - } - else - { - UI.ShowWarning(UIRes.I18N("OperationFailed")); - } - } - - private void btnClose_Click(object sender, EventArgs e) - { - this.DialogResult = DialogResult.Cancel; - } - } -} diff --git a/v2rayN/v2rayN/Forms/RoutingRuleQuicklyAddForm.zh-Hans.resx b/v2rayN/v2rayN/Forms/RoutingRuleQuicklyAddForm.zh-Hans.resx deleted file mode 100644 index ee735361..00000000 --- a/v2rayN/v2rayN/Forms/RoutingRuleQuicklyAddForm.zh-Hans.resx +++ /dev/null @@ -1,132 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<root> - <!-- - Microsoft ResX Schema - - Version 2.0 - - The primary goals of this format is to allow a simple XML format - that is mostly human readable. The generation and parsing of the - various data types are done through the TypeConverter classes - associated with the data types. - - Example: - - ... ado.net/XML headers & schema ... - <resheader name="resmimetype">text/microsoft-resx</resheader> - <resheader name="version">2.0</resheader> - <resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader> - <resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader> - <data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data> - <data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data> - <data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64"> - <value>[base64 mime encoded serialized .NET Framework object]</value> - </data> - <data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64"> - <value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value> - <comment>This is a comment</comment> - </data> - - There are any number of "resheader" rows that contain simple - name/value pairs. - - Each data row contains a name, and value. The row also contains a - type or mimetype. Type corresponds to a .NET class that support - text/value conversion through the TypeConverter architecture. - Classes that don't support this are serialized and stored with the - mimetype set. - - The mimetype is used for serialized objects, and tells the - ResXResourceReader how to depersist the object. This is currently not - extensible. For a given mimetype the value must be set accordingly: - - Note - application/x-microsoft.net.object.binary.base64 is the format - that the ResXResourceWriter will generate, however the reader can - read any of the formats listed below. - - mimetype: application/x-microsoft.net.object.binary.base64 - value : The object must be serialized with - : System.Runtime.Serialization.Formatters.Binary.BinaryFormatter - : and then encoded with base64 encoding. - - mimetype: application/x-microsoft.net.object.soap.base64 - value : The object must be serialized with - : System.Runtime.Serialization.Formatters.Soap.SoapFormatter - : and then encoded with base64 encoding. - - mimetype: application/x-microsoft.net.object.bytearray.base64 - value : The object must be serialized into a byte array - : using a System.ComponentModel.TypeConverter - : and then encoded with base64 encoding. - --> - <xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata"> - <xsd:import namespace="http://www.w3.org/XML/1998/namespace" /> - <xsd:element name="root" msdata:IsDataSet="true"> - <xsd:complexType> - <xsd:choice maxOccurs="unbounded"> - <xsd:element name="metadata"> - <xsd:complexType> - <xsd:sequence> - <xsd:element name="value" type="xsd:string" minOccurs="0" /> - </xsd:sequence> - <xsd:attribute name="name" use="required" type="xsd:string" /> - <xsd:attribute name="type" type="xsd:string" /> - <xsd:attribute name="mimetype" type="xsd:string" /> - <xsd:attribute ref="xml:space" /> - </xsd:complexType> - </xsd:element> - <xsd:element name="assembly"> - <xsd:complexType> - <xsd:attribute name="alias" type="xsd:string" /> - <xsd:attribute name="name" type="xsd:string" /> - </xsd:complexType> - </xsd:element> - <xsd:element name="data"> - <xsd:complexType> - <xsd:sequence> - <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" /> - <xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" /> - </xsd:sequence> - <xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" /> - <xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" /> - <xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" /> - <xsd:attribute ref="xml:space" /> - </xsd:complexType> - </xsd:element> - <xsd:element name="resheader"> - <xsd:complexType> - <xsd:sequence> - <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" /> - </xsd:sequence> - <xsd:attribute name="name" type="xsd:string" use="required" /> - </xsd:complexType> - </xsd:element> - </xsd:choice> - </xsd:complexType> - </xsd:element> - </xsd:schema> - <resheader name="resmimetype"> - <value>text/microsoft-resx</value> - </resheader> - <resheader name="version"> - <value>2.0</value> - </resheader> - <resheader name="reader"> - <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> - </resheader> - <resheader name="writer"> - <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> - </resheader> - <data name="label4.Text" xml:space="preserve"> - <value>OutboundTag</value> - </data> - <data name="btnClose.Text" xml:space="preserve"> - <value>取消(&C)</value> - </data> - <data name="btnOK.Text" xml:space="preserve"> - <value>确定(&O)</value> - </data> - <data name="$this.Text" xml:space="preserve"> - <value>快速添加路由规则</value> - </data> -</root> \ No newline at end of file diff --git a/v2rayN/v2rayN/Forms/RoutingSettingDetailsForm.Designer.cs b/v2rayN/v2rayN/Forms/RoutingSettingDetailsForm.Designer.cs deleted file mode 100644 index 43d2de45..00000000 --- a/v2rayN/v2rayN/Forms/RoutingSettingDetailsForm.Designer.cs +++ /dev/null @@ -1,234 +0,0 @@ -namespace v2rayN.Forms -{ - partial class RoutingSettingDetailsForm - { - /// <summary> - /// Required designer variable. - /// </summary> - private System.ComponentModel.IContainer components = null; - - /// <summary> - /// Clean up any resources being used. - /// </summary> - /// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param> - protected override void Dispose(bool disposing) - { - if (disposing && (components != null)) - { - components.Dispose(); - } - base.Dispose(disposing); - } - - #region Windows Form Designer generated code - - /// <summary> - /// Required method for Designer support - do not modify - /// the contents of this method with the code editor. - /// </summary> - private void InitializeComponent() - { - System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(RoutingSettingDetailsForm)); - this.panel1 = new System.Windows.Forms.Panel(); - this.panel3 = new System.Windows.Forms.Panel(); - this.clbProtocol = new System.Windows.Forms.CheckedListBox(); - this.label3 = new System.Windows.Forms.Label(); - this.txtPort = new System.Windows.Forms.TextBox(); - this.label1 = new System.Windows.Forms.Label(); - this.labRoutingTips = new System.Windows.Forms.Label(); - this.label4 = new System.Windows.Forms.Label(); - this.cmbOutboundTag = new System.Windows.Forms.ComboBox(); - this.txtRemarks = new System.Windows.Forms.TextBox(); - this.label2 = new System.Windows.Forms.Label(); - this.panel4 = new System.Windows.Forms.Panel(); - this.btnClose = new System.Windows.Forms.Button(); - this.btnOK = new System.Windows.Forms.Button(); - this.panel2 = new System.Windows.Forms.Panel(); - this.groupBox2 = new System.Windows.Forms.GroupBox(); - this.txtIP = new System.Windows.Forms.TextBox(); - this.groupBox1 = new System.Windows.Forms.GroupBox(); - this.txtDomain = new System.Windows.Forms.TextBox(); - this.panel3.SuspendLayout(); - this.panel4.SuspendLayout(); - this.panel2.SuspendLayout(); - this.groupBox2.SuspendLayout(); - this.groupBox1.SuspendLayout(); - this.SuspendLayout(); - // - // panel1 - // - resources.ApplyResources(this.panel1, "panel1"); - this.panel1.Name = "panel1"; - // - // panel3 - // - this.panel3.Controls.Add(this.clbProtocol); - this.panel3.Controls.Add(this.label3); - this.panel3.Controls.Add(this.txtPort); - this.panel3.Controls.Add(this.label1); - this.panel3.Controls.Add(this.labRoutingTips); - this.panel3.Controls.Add(this.label4); - this.panel3.Controls.Add(this.cmbOutboundTag); - this.panel3.Controls.Add(this.txtRemarks); - this.panel3.Controls.Add(this.label2); - resources.ApplyResources(this.panel3, "panel3"); - this.panel3.Name = "panel3"; - // - // clbProtocol - // - this.clbProtocol.CheckOnClick = true; - resources.ApplyResources(this.clbProtocol, "clbProtocol"); - this.clbProtocol.FormattingEnabled = true; - this.clbProtocol.Items.AddRange(new object[] { - resources.GetString("clbProtocol.Items"), - resources.GetString("clbProtocol.Items1"), - resources.GetString("clbProtocol.Items2")}); - this.clbProtocol.MultiColumn = true; - this.clbProtocol.Name = "clbProtocol"; - // - // label3 - // - resources.ApplyResources(this.label3, "label3"); - this.label3.Name = "label3"; - // - // txtPort - // - resources.ApplyResources(this.txtPort, "txtPort"); - this.txtPort.Name = "txtPort"; - // - // label1 - // - resources.ApplyResources(this.label1, "label1"); - this.label1.Name = "label1"; - // - // labRoutingTips - // - this.labRoutingTips.ForeColor = System.Drawing.Color.Brown; - resources.ApplyResources(this.labRoutingTips, "labRoutingTips"); - this.labRoutingTips.Name = "labRoutingTips"; - // - // label4 - // - resources.ApplyResources(this.label4, "label4"); - this.label4.Name = "label4"; - // - // cmbOutboundTag - // - this.cmbOutboundTag.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList; - this.cmbOutboundTag.FormattingEnabled = true; - this.cmbOutboundTag.Items.AddRange(new object[] { - resources.GetString("cmbOutboundTag.Items"), - resources.GetString("cmbOutboundTag.Items1"), - resources.GetString("cmbOutboundTag.Items2")}); - resources.ApplyResources(this.cmbOutboundTag, "cmbOutboundTag"); - this.cmbOutboundTag.Name = "cmbOutboundTag"; - // - // txtRemarks - // - resources.ApplyResources(this.txtRemarks, "txtRemarks"); - this.txtRemarks.Name = "txtRemarks"; - // - // label2 - // - resources.ApplyResources(this.label2, "label2"); - this.label2.Name = "label2"; - // - // panel4 - // - this.panel4.Controls.Add(this.btnClose); - this.panel4.Controls.Add(this.btnOK); - resources.ApplyResources(this.panel4, "panel4"); - this.panel4.Name = "panel4"; - // - // btnClose - // - this.btnClose.DialogResult = System.Windows.Forms.DialogResult.Cancel; - resources.ApplyResources(this.btnClose, "btnClose"); - this.btnClose.Name = "btnClose"; - this.btnClose.UseVisualStyleBackColor = true; - this.btnClose.Click += new System.EventHandler(this.btnClose_Click); - // - // btnOK - // - resources.ApplyResources(this.btnOK, "btnOK"); - this.btnOK.Name = "btnOK"; - this.btnOK.UseVisualStyleBackColor = true; - this.btnOK.Click += new System.EventHandler(this.btnOK_Click); - // - // panel2 - // - this.panel2.Controls.Add(this.groupBox2); - this.panel2.Controls.Add(this.groupBox1); - resources.ApplyResources(this.panel2, "panel2"); - this.panel2.Name = "panel2"; - // - // groupBox2 - // - this.groupBox2.Controls.Add(this.txtIP); - resources.ApplyResources(this.groupBox2, "groupBox2"); - this.groupBox2.Name = "groupBox2"; - this.groupBox2.TabStop = false; - // - // txtIP - // - resources.ApplyResources(this.txtIP, "txtIP"); - this.txtIP.Name = "txtIP"; - // - // groupBox1 - // - this.groupBox1.Controls.Add(this.txtDomain); - resources.ApplyResources(this.groupBox1, "groupBox1"); - this.groupBox1.Name = "groupBox1"; - this.groupBox1.TabStop = false; - // - // txtDomain - // - resources.ApplyResources(this.txtDomain, "txtDomain"); - this.txtDomain.Name = "txtDomain"; - // - // RoutingSettingDetailsForm - // - resources.ApplyResources(this, "$this"); - this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; - this.CancelButton = this.btnClose; - this.Controls.Add(this.panel2); - this.Controls.Add(this.panel4); - this.Controls.Add(this.panel3); - this.Controls.Add(this.panel1); - this.Name = "RoutingSettingDetailsForm"; - this.Load += new System.EventHandler(this.RoutingSettingDetailsForm_Load); - this.panel3.ResumeLayout(false); - this.panel3.PerformLayout(); - this.panel4.ResumeLayout(false); - this.panel2.ResumeLayout(false); - this.groupBox2.ResumeLayout(false); - this.groupBox2.PerformLayout(); - this.groupBox1.ResumeLayout(false); - this.groupBox1.PerformLayout(); - this.ResumeLayout(false); - - } - - #endregion - - private System.Windows.Forms.Panel panel1; - private System.Windows.Forms.Panel panel3; - private System.Windows.Forms.Label label4; - private System.Windows.Forms.ComboBox cmbOutboundTag; - private System.Windows.Forms.TextBox txtRemarks; - private System.Windows.Forms.Label label2; - private System.Windows.Forms.Panel panel4; - private System.Windows.Forms.Button btnClose; - private System.Windows.Forms.Button btnOK; - private System.Windows.Forms.Panel panel2; - private System.Windows.Forms.GroupBox groupBox1; - private System.Windows.Forms.TextBox txtDomain; - private System.Windows.Forms.GroupBox groupBox2; - private System.Windows.Forms.TextBox txtIP; - private System.Windows.Forms.Label labRoutingTips; - private System.Windows.Forms.Label label1; - private System.Windows.Forms.TextBox txtPort; - private System.Windows.Forms.Label label3; - private System.Windows.Forms.CheckedListBox clbProtocol; - } -} \ No newline at end of file diff --git a/v2rayN/v2rayN/Forms/RoutingSettingDetailsForm.cs b/v2rayN/v2rayN/Forms/RoutingSettingDetailsForm.cs deleted file mode 100644 index 65fe6a8f..00000000 --- a/v2rayN/v2rayN/Forms/RoutingSettingDetailsForm.cs +++ /dev/null @@ -1,131 +0,0 @@ -using System; -using System.Collections.Generic; -using System.Windows.Forms; -using v2rayN.Base; -using v2rayN.Handler; -using v2rayN.Mode; - -namespace v2rayN.Forms -{ - public partial class RoutingSettingDetailsForm : BaseForm - { - public int EditIndex - { - get; set; - } - protected RulesItem routingItem = null; - - public RoutingSettingDetailsForm() - { - InitializeComponent(); - } - - private void RoutingSettingDetailsForm_Load(object sender, EventArgs e) - { - if (EditIndex >= 0) - { - routingItem = config.rules[EditIndex]; - BindingData(); - } - else - { - routingItem = new RulesItem(); - ClearBind(); - } - } - - private void EndBindingData() - { - if (routingItem != null) - { - routingItem.remarks = txtRemarks.Text.TrimEx(); - routingItem.port = txtPort.Text.TrimEx(); - routingItem.outboundTag = cmbOutboundTag.Text; - routingItem.domain = Utils.String2List(txtDomain.Text); - routingItem.ip = Utils.String2List(txtIP.Text); - - var protocol = new List<string>(); - for (int i = 0; i < clbProtocol.Items.Count; i++) - { - if (clbProtocol.GetItemChecked(i)) - { - protocol.Add(clbProtocol.Items[i].ToString()); - } - } - routingItem.protocol = protocol; - } - } - private void BindingData() - { - if (routingItem != null) - { - txtRemarks.Text = routingItem.remarks ?? string.Empty; - txtPort.Text = routingItem.port ?? string.Empty; - cmbOutboundTag.Text = routingItem.outboundTag; - txtDomain.Text = Utils.List2String(routingItem.domain, true); - txtIP.Text = Utils.List2String(routingItem.ip, true); - - if (routingItem.protocol != null) - { - for (int i = 0; i < clbProtocol.Items.Count; i++) - { - if (routingItem.protocol.Contains(clbProtocol.Items[i].ToString())) - { - clbProtocol.SetItemChecked(i, true); - } - } - } - } - } - private void ClearBind() - { - txtRemarks.Text = string.Empty; - txtPort.Text = string.Empty; - cmbOutboundTag.Text = Global.agentTag; - txtDomain.Text = string.Empty; - txtIP.Text = string.Empty; - } - private void btnOK_Click(object sender, EventArgs e) - { - EndBindingData(); - var hasRule = false; - if (routingItem.domain != null && routingItem.domain.Count > 0) - { - hasRule = true; - } - if (routingItem.ip != null && routingItem.ip.Count > 0) - { - hasRule = true; - } - if (routingItem.protocol != null && routingItem.protocol.Count > 0) - { - hasRule = true; - } - if (!Utils.IsNullOrEmpty(routingItem.port)) - { - hasRule = true; - } - if (!hasRule) - { - UI.ShowWarning(string.Format(UIRes.I18N("RoutingRuleDetailRequiredTips"), "Port/Protocol/Domain/IP")); - return; - } - - if (ConfigHandler.AddRoutingRule(ref config, routingItem, EditIndex) == 0) - { - this.DialogResult = DialogResult.OK; - } - else - { - UI.ShowWarning(UIRes.I18N("OperationFailed")); - } - - this.DialogResult = DialogResult.OK; - } - - private void btnClose_Click(object sender, EventArgs e) - { - this.DialogResult = DialogResult.Cancel; - } - } -} diff --git a/v2rayN/v2rayN/Forms/RoutingSettingDetailsForm.resx b/v2rayN/v2rayN/Forms/RoutingSettingDetailsForm.resx deleted file mode 100644 index d9472064..00000000 --- a/v2rayN/v2rayN/Forms/RoutingSettingDetailsForm.resx +++ /dev/null @@ -1,723 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<root> - <!-- - Microsoft ResX Schema - - Version 2.0 - - The primary goals of this format is to allow a simple XML format - that is mostly human readable. The generation and parsing of the - various data types are done through the TypeConverter classes - associated with the data types. - - Example: - - ... ado.net/XML headers & schema ... - <resheader name="resmimetype">text/microsoft-resx</resheader> - <resheader name="version">2.0</resheader> - <resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader> - <resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader> - <data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data> - <data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data> - <data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64"> - <value>[base64 mime encoded serialized .NET Framework object]</value> - </data> - <data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64"> - <value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value> - <comment>This is a comment</comment> - </data> - - There are any number of "resheader" rows that contain simple - name/value pairs. - - Each data row contains a name, and value. The row also contains a - type or mimetype. Type corresponds to a .NET class that support - text/value conversion through the TypeConverter architecture. - Classes that don't support this are serialized and stored with the - mimetype set. - - The mimetype is used for serialized objects, and tells the - ResXResourceReader how to depersist the object. This is currently not - extensible. For a given mimetype the value must be set accordingly: - - Note - application/x-microsoft.net.object.binary.base64 is the format - that the ResXResourceWriter will generate, however the reader can - read any of the formats listed below. - - mimetype: application/x-microsoft.net.object.binary.base64 - value : The object must be serialized with - : System.Runtime.Serialization.Formatters.Binary.BinaryFormatter - : and then encoded with base64 encoding. - - mimetype: application/x-microsoft.net.object.soap.base64 - value : The object must be serialized with - : System.Runtime.Serialization.Formatters.Soap.SoapFormatter - : and then encoded with base64 encoding. - - mimetype: application/x-microsoft.net.object.bytearray.base64 - value : The object must be serialized into a byte array - : using a System.ComponentModel.TypeConverter - : and then encoded with base64 encoding. - --> - <xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata"> - <xsd:import namespace="http://www.w3.org/XML/1998/namespace" /> - <xsd:element name="root" msdata:IsDataSet="true"> - <xsd:complexType> - <xsd:choice maxOccurs="unbounded"> - <xsd:element name="metadata"> - <xsd:complexType> - <xsd:sequence> - <xsd:element name="value" type="xsd:string" minOccurs="0" /> - </xsd:sequence> - <xsd:attribute name="name" use="required" type="xsd:string" /> - <xsd:attribute name="type" type="xsd:string" /> - <xsd:attribute name="mimetype" type="xsd:string" /> - <xsd:attribute ref="xml:space" /> - </xsd:complexType> - </xsd:element> - <xsd:element name="assembly"> - <xsd:complexType> - <xsd:attribute name="alias" type="xsd:string" /> - <xsd:attribute name="name" type="xsd:string" /> - </xsd:complexType> - </xsd:element> - <xsd:element name="data"> - <xsd:complexType> - <xsd:sequence> - <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" /> - <xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" /> - </xsd:sequence> - <xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" /> - <xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" /> - <xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" /> - <xsd:attribute ref="xml:space" /> - </xsd:complexType> - </xsd:element> - <xsd:element name="resheader"> - <xsd:complexType> - <xsd:sequence> - <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" /> - </xsd:sequence> - <xsd:attribute name="name" type="xsd:string" use="required" /> - </xsd:complexType> - </xsd:element> - </xsd:choice> - </xsd:complexType> - </xsd:element> - </xsd:schema> - <resheader name="resmimetype"> - <value>text/microsoft-resx</value> - </resheader> - <resheader name="version"> - <value>2.0</value> - </resheader> - <resheader name="reader"> - <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> - </resheader> - <resheader name="writer"> - <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> - </resheader> - <assembly alias="System.Windows.Forms" name="System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" /> - <data name="panel1.Dock" type="System.Windows.Forms.DockStyle, System.Windows.Forms"> - <value>Top</value> - </data> - <assembly alias="System.Drawing" name="System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" /> - <data name="panel1.Location" type="System.Drawing.Point, System.Drawing"> - <value>0, 0</value> - </data> - <data name="panel1.Size" type="System.Drawing.Size, System.Drawing"> - <value>742, 10</value> - </data> - <assembly alias="mscorlib" name="mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" /> - <data name="panel1.TabIndex" type="System.Int32, mscorlib"> - <value>7</value> - </data> - <data name=">>panel1.Name" xml:space="preserve"> - <value>panel1</value> - </data> - <data name=">>panel1.Type" xml:space="preserve"> - <value>System.Windows.Forms.Panel, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> - </data> - <data name=">>panel1.Parent" xml:space="preserve"> - <value>$this</value> - </data> - <data name=">>panel1.ZOrder" xml:space="preserve"> - <value>3</value> - </data> - <data name="clbProtocol.ColumnWidth" type="System.Int32, mscorlib"> - <value>80</value> - </data> - <data name="clbProtocol.Items" xml:space="preserve"> - <value>http</value> - </data> - <data name="clbProtocol.Items1" xml:space="preserve"> - <value>tls</value> - </data> - <data name="clbProtocol.Items2" xml:space="preserve"> - <value>bittorrent</value> - </data> - <data name="clbProtocol.Location" type="System.Drawing.Point, System.Drawing"> - <value>347, 43</value> - </data> - <data name="clbProtocol.Size" type="System.Drawing.Size, System.Drawing"> - <value>245, 20</value> - </data> - <data name="clbProtocol.TabIndex" type="System.Int32, mscorlib"> - <value>39</value> - </data> - <data name=">>clbProtocol.Name" xml:space="preserve"> - <value>clbProtocol</value> - </data> - <data name=">>clbProtocol.Type" xml:space="preserve"> - <value>System.Windows.Forms.CheckedListBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> - </data> - <data name=">>clbProtocol.Parent" xml:space="preserve"> - <value>panel3</value> - </data> - <data name=">>clbProtocol.ZOrder" xml:space="preserve"> - <value>0</value> - </data> - <data name="label3.AutoSize" type="System.Boolean, mscorlib"> - <value>True</value> - </data> - <data name="label3.ImeMode" type="System.Windows.Forms.ImeMode, System.Windows.Forms"> - <value>NoControl</value> - </data> - <data name="label3.Location" type="System.Drawing.Point, System.Drawing"> - <value>274, 47</value> - </data> - <data name="label3.Size" type="System.Drawing.Size, System.Drawing"> - <value>53, 12</value> - </data> - <data name="label3.TabIndex" type="System.Int32, mscorlib"> - <value>36</value> - </data> - <data name="label3.Text" xml:space="preserve"> - <value>Protocol</value> - </data> - <data name=">>label3.Name" xml:space="preserve"> - <value>label3</value> - </data> - <data name=">>label3.Type" xml:space="preserve"> - <value>System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> - </data> - <data name=">>label3.Parent" xml:space="preserve"> - <value>panel3</value> - </data> - <data name=">>label3.ZOrder" xml:space="preserve"> - <value>1</value> - </data> - <data name="txtPort.Location" type="System.Drawing.Point, System.Drawing"> - <value>84, 43</value> - </data> - <data name="txtPort.Size" type="System.Drawing.Size, System.Drawing"> - <value>166, 21</value> - </data> - <data name="txtPort.TabIndex" type="System.Int32, mscorlib"> - <value>35</value> - </data> - <data name=">>txtPort.Name" xml:space="preserve"> - <value>txtPort</value> - </data> - <data name=">>txtPort.Type" xml:space="preserve"> - <value>System.Windows.Forms.TextBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> - </data> - <data name=">>txtPort.Parent" xml:space="preserve"> - <value>panel3</value> - </data> - <data name=">>txtPort.ZOrder" xml:space="preserve"> - <value>2</value> - </data> - <data name="label1.AutoSize" type="System.Boolean, mscorlib"> - <value>True</value> - </data> - <data name="label1.ImeMode" type="System.Windows.Forms.ImeMode, System.Windows.Forms"> - <value>NoControl</value> - </data> - <data name="label1.Location" type="System.Drawing.Point, System.Drawing"> - <value>19, 47</value> - </data> - <data name="label1.Size" type="System.Drawing.Size, System.Drawing"> - <value>29, 12</value> - </data> - <data name="label1.TabIndex" type="System.Int32, mscorlib"> - <value>34</value> - </data> - <data name="label1.Text" xml:space="preserve"> - <value>Port</value> - </data> - <data name=">>label1.Name" xml:space="preserve"> - <value>label1</value> - </data> - <data name=">>label1.Type" xml:space="preserve"> - <value>System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> - </data> - <data name=">>label1.Parent" xml:space="preserve"> - <value>panel3</value> - </data> - <data name=">>label1.ZOrder" xml:space="preserve"> - <value>3</value> - </data> - <data name="labRoutingTips.ImeMode" type="System.Windows.Forms.ImeMode, System.Windows.Forms"> - <value>NoControl</value> - </data> - <data name="labRoutingTips.Location" type="System.Drawing.Point, System.Drawing"> - <value>19, 82</value> - </data> - <data name="labRoutingTips.Size" type="System.Drawing.Size, System.Drawing"> - <value>598, 16</value> - </data> - <data name="labRoutingTips.TabIndex" type="System.Int32, mscorlib"> - <value>33</value> - </data> - <data name="labRoutingTips.Text" xml:space="preserve"> - <value>*Set the rules, separated by commas (,); The comma in the regular is replaced by <COMMA></value> - </data> - <data name=">>labRoutingTips.Name" xml:space="preserve"> - <value>labRoutingTips</value> - </data> - <data name=">>labRoutingTips.Type" xml:space="preserve"> - <value>System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> - </data> - <data name=">>labRoutingTips.Parent" xml:space="preserve"> - <value>panel3</value> - </data> - <data name=">>labRoutingTips.ZOrder" xml:space="preserve"> - <value>4</value> - </data> - <data name="label4.AutoSize" type="System.Boolean, mscorlib"> - <value>True</value> - </data> - <data name="label4.ImeMode" type="System.Windows.Forms.ImeMode, System.Windows.Forms"> - <value>NoControl</value> - </data> - <data name="label4.Location" type="System.Drawing.Point, System.Drawing"> - <value>274, 20</value> - </data> - <data name="label4.Size" type="System.Drawing.Size, System.Drawing"> - <value>47, 12</value> - </data> - <data name="label4.TabIndex" type="System.Int32, mscorlib"> - <value>32</value> - </data> - <data name="label4.Text" xml:space="preserve"> - <value>Out Tag</value> - </data> - <data name=">>label4.Name" xml:space="preserve"> - <value>label4</value> - </data> - <data name=">>label4.Type" xml:space="preserve"> - <value>System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> - </data> - <data name=">>label4.Parent" xml:space="preserve"> - <value>panel3</value> - </data> - <data name=">>label4.ZOrder" xml:space="preserve"> - <value>5</value> - </data> - <data name="cmbOutboundTag.Items" xml:space="preserve"> - <value>proxy</value> - </data> - <data name="cmbOutboundTag.Items1" xml:space="preserve"> - <value>direct</value> - </data> - <data name="cmbOutboundTag.Items2" xml:space="preserve"> - <value>block</value> - </data> - <data name="cmbOutboundTag.Location" type="System.Drawing.Point, System.Drawing"> - <value>347, 16</value> - </data> - <data name="cmbOutboundTag.Size" type="System.Drawing.Size, System.Drawing"> - <value>119, 20</value> - </data> - <data name="cmbOutboundTag.TabIndex" type="System.Int32, mscorlib"> - <value>31</value> - </data> - <data name=">>cmbOutboundTag.Name" xml:space="preserve"> - <value>cmbOutboundTag</value> - </data> - <data name=">>cmbOutboundTag.Type" xml:space="preserve"> - <value>System.Windows.Forms.ComboBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> - </data> - <data name=">>cmbOutboundTag.Parent" xml:space="preserve"> - <value>panel3</value> - </data> - <data name=">>cmbOutboundTag.ZOrder" xml:space="preserve"> - <value>6</value> - </data> - <data name="txtRemarks.Location" type="System.Drawing.Point, System.Drawing"> - <value>84, 16</value> - </data> - <data name="txtRemarks.Size" type="System.Drawing.Size, System.Drawing"> - <value>166, 21</value> - </data> - <data name="txtRemarks.TabIndex" type="System.Int32, mscorlib"> - <value>30</value> - </data> - <data name=">>txtRemarks.Name" xml:space="preserve"> - <value>txtRemarks</value> - </data> - <data name=">>txtRemarks.Type" xml:space="preserve"> - <value>System.Windows.Forms.TextBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> - </data> - <data name=">>txtRemarks.Parent" xml:space="preserve"> - <value>panel3</value> - </data> - <data name=">>txtRemarks.ZOrder" xml:space="preserve"> - <value>7</value> - </data> - <data name="label2.AutoSize" type="System.Boolean, mscorlib"> - <value>True</value> - </data> - <data name="label2.ImeMode" type="System.Windows.Forms.ImeMode, System.Windows.Forms"> - <value>NoControl</value> - </data> - <data name="label2.Location" type="System.Drawing.Point, System.Drawing"> - <value>19, 20</value> - </data> - <data name="label2.Size" type="System.Drawing.Size, System.Drawing"> - <value>47, 12</value> - </data> - <data name="label2.TabIndex" type="System.Int32, mscorlib"> - <value>29</value> - </data> - <data name="label2.Text" xml:space="preserve"> - <value>Remarks</value> - </data> - <data name=">>label2.Name" xml:space="preserve"> - <value>label2</value> - </data> - <data name=">>label2.Type" xml:space="preserve"> - <value>System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> - </data> - <data name=">>label2.Parent" xml:space="preserve"> - <value>panel3</value> - </data> - <data name=">>label2.ZOrder" xml:space="preserve"> - <value>8</value> - </data> - <data name="panel3.Dock" type="System.Windows.Forms.DockStyle, System.Windows.Forms"> - <value>Top</value> - </data> - <data name="panel3.Location" type="System.Drawing.Point, System.Drawing"> - <value>0, 10</value> - </data> - <data name="panel3.Size" type="System.Drawing.Size, System.Drawing"> - <value>742, 111</value> - </data> - <data name="panel3.TabIndex" type="System.Int32, mscorlib"> - <value>8</value> - </data> - <data name=">>panel3.Name" xml:space="preserve"> - <value>panel3</value> - </data> - <data name=">>panel3.Type" xml:space="preserve"> - <value>System.Windows.Forms.Panel, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> - </data> - <data name=">>panel3.Parent" xml:space="preserve"> - <value>$this</value> - </data> - <data name=">>panel3.ZOrder" xml:space="preserve"> - <value>2</value> - </data> - <data name=">>btnClose.Name" xml:space="preserve"> - <value>btnClose</value> - </data> - <data name=">>btnClose.Type" xml:space="preserve"> - <value>System.Windows.Forms.Button, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> - </data> - <data name=">>btnClose.Parent" xml:space="preserve"> - <value>panel4</value> - </data> - <data name=">>btnClose.ZOrder" xml:space="preserve"> - <value>0</value> - </data> - <data name=">>btnOK.Name" xml:space="preserve"> - <value>btnOK</value> - </data> - <data name=">>btnOK.Type" xml:space="preserve"> - <value>System.Windows.Forms.Button, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> - </data> - <data name=">>btnOK.Parent" xml:space="preserve"> - <value>panel4</value> - </data> - <data name=">>btnOK.ZOrder" xml:space="preserve"> - <value>1</value> - </data> - <data name="panel4.Dock" type="System.Windows.Forms.DockStyle, System.Windows.Forms"> - <value>Bottom</value> - </data> - <data name="panel4.Location" type="System.Drawing.Point, System.Drawing"> - <value>0, 516</value> - </data> - <data name="panel4.Size" type="System.Drawing.Size, System.Drawing"> - <value>742, 60</value> - </data> - <data name="panel4.TabIndex" type="System.Int32, mscorlib"> - <value>10</value> - </data> - <data name=">>panel4.Name" xml:space="preserve"> - <value>panel4</value> - </data> - <data name=">>panel4.Type" xml:space="preserve"> - <value>System.Windows.Forms.Panel, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> - </data> - <data name=">>panel4.Parent" xml:space="preserve"> - <value>$this</value> - </data> - <data name=">>panel4.ZOrder" xml:space="preserve"> - <value>1</value> - </data> - <data name="btnClose.ImeMode" type="System.Windows.Forms.ImeMode, System.Windows.Forms"> - <value>NoControl</value> - </data> - <data name="btnClose.Location" type="System.Drawing.Point, System.Drawing"> - <value>504, 15</value> - </data> - <data name="btnClose.Size" type="System.Drawing.Size, System.Drawing"> - <value>75, 23</value> - </data> - <data name="btnClose.TabIndex" type="System.Int32, mscorlib"> - <value>4</value> - </data> - <data name="btnClose.Text" xml:space="preserve"> - <value>&Cancel</value> - </data> - <data name=">>btnClose.Name" xml:space="preserve"> - <value>btnClose</value> - </data> - <data name=">>btnClose.Type" xml:space="preserve"> - <value>System.Windows.Forms.Button, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> - </data> - <data name=">>btnClose.Parent" xml:space="preserve"> - <value>panel4</value> - </data> - <data name=">>btnClose.ZOrder" xml:space="preserve"> - <value>0</value> - </data> - <data name="btnOK.ImeMode" type="System.Windows.Forms.ImeMode, System.Windows.Forms"> - <value>NoControl</value> - </data> - <data name="btnOK.Location" type="System.Drawing.Point, System.Drawing"> - <value>411, 15</value> - </data> - <data name="btnOK.Size" type="System.Drawing.Size, System.Drawing"> - <value>75, 23</value> - </data> - <data name="btnOK.TabIndex" type="System.Int32, mscorlib"> - <value>5</value> - </data> - <data name="btnOK.Text" xml:space="preserve"> - <value>&OK</value> - </data> - <data name=">>btnOK.Name" xml:space="preserve"> - <value>btnOK</value> - </data> - <data name=">>btnOK.Type" xml:space="preserve"> - <value>System.Windows.Forms.Button, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> - </data> - <data name=">>btnOK.Parent" xml:space="preserve"> - <value>panel4</value> - </data> - <data name=">>btnOK.ZOrder" xml:space="preserve"> - <value>1</value> - </data> - <data name=">>groupBox2.Name" xml:space="preserve"> - <value>groupBox2</value> - </data> - <data name=">>groupBox2.Type" xml:space="preserve"> - <value>System.Windows.Forms.GroupBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> - </data> - <data name=">>groupBox2.Parent" xml:space="preserve"> - <value>panel2</value> - </data> - <data name=">>groupBox2.ZOrder" xml:space="preserve"> - <value>0</value> - </data> - <data name=">>groupBox1.Name" xml:space="preserve"> - <value>groupBox1</value> - </data> - <data name=">>groupBox1.Type" xml:space="preserve"> - <value>System.Windows.Forms.GroupBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> - </data> - <data name=">>groupBox1.Parent" xml:space="preserve"> - <value>panel2</value> - </data> - <data name=">>groupBox1.ZOrder" xml:space="preserve"> - <value>1</value> - </data> - <data name="panel2.Dock" type="System.Windows.Forms.DockStyle, System.Windows.Forms"> - <value>Fill</value> - </data> - <data name="panel2.Location" type="System.Drawing.Point, System.Drawing"> - <value>0, 121</value> - </data> - <data name="panel2.Size" type="System.Drawing.Size, System.Drawing"> - <value>742, 395</value> - </data> - <data name="panel2.TabIndex" type="System.Int32, mscorlib"> - <value>11</value> - </data> - <data name=">>panel2.Name" xml:space="preserve"> - <value>panel2</value> - </data> - <data name=">>panel2.Type" xml:space="preserve"> - <value>System.Windows.Forms.Panel, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> - </data> - <data name=">>panel2.Parent" xml:space="preserve"> - <value>$this</value> - </data> - <data name=">>panel2.ZOrder" xml:space="preserve"> - <value>0</value> - </data> - <data name=">>txtIP.Name" xml:space="preserve"> - <value>txtIP</value> - </data> - <data name=">>txtIP.Type" xml:space="preserve"> - <value>System.Windows.Forms.TextBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> - </data> - <data name=">>txtIP.Parent" xml:space="preserve"> - <value>groupBox2</value> - </data> - <data name=">>txtIP.ZOrder" xml:space="preserve"> - <value>0</value> - </data> - <data name="groupBox2.Dock" type="System.Windows.Forms.DockStyle, System.Windows.Forms"> - <value>Fill</value> - </data> - <data name="groupBox2.Location" type="System.Drawing.Point, System.Drawing"> - <value>392, 0</value> - </data> - <data name="groupBox2.Size" type="System.Drawing.Size, System.Drawing"> - <value>350, 395</value> - </data> - <data name="groupBox2.TabIndex" type="System.Int32, mscorlib"> - <value>4</value> - </data> - <data name="groupBox2.Text" xml:space="preserve"> - <value>IP</value> - </data> - <data name=">>groupBox2.Name" xml:space="preserve"> - <value>groupBox2</value> - </data> - <data name=">>groupBox2.Type" xml:space="preserve"> - <value>System.Windows.Forms.GroupBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> - </data> - <data name=">>groupBox2.Parent" xml:space="preserve"> - <value>panel2</value> - </data> - <data name=">>groupBox2.ZOrder" xml:space="preserve"> - <value>0</value> - </data> - <data name="txtIP.Dock" type="System.Windows.Forms.DockStyle, System.Windows.Forms"> - <value>Fill</value> - </data> - <data name="txtIP.Location" type="System.Drawing.Point, System.Drawing"> - <value>3, 17</value> - </data> - <data name="txtIP.Multiline" type="System.Boolean, mscorlib"> - <value>True</value> - </data> - <data name="txtIP.Size" type="System.Drawing.Size, System.Drawing"> - <value>344, 375</value> - </data> - <data name="txtIP.TabIndex" type="System.Int32, mscorlib"> - <value>25</value> - </data> - <data name=">>txtIP.Name" xml:space="preserve"> - <value>txtIP</value> - </data> - <data name=">>txtIP.Type" xml:space="preserve"> - <value>System.Windows.Forms.TextBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> - </data> - <data name=">>txtIP.Parent" xml:space="preserve"> - <value>groupBox2</value> - </data> - <data name=">>txtIP.ZOrder" xml:space="preserve"> - <value>0</value> - </data> - <data name=">>txtDomain.Name" xml:space="preserve"> - <value>txtDomain</value> - </data> - <data name=">>txtDomain.Type" xml:space="preserve"> - <value>System.Windows.Forms.TextBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> - </data> - <data name=">>txtDomain.Parent" xml:space="preserve"> - <value>groupBox1</value> - </data> - <data name=">>txtDomain.ZOrder" xml:space="preserve"> - <value>0</value> - </data> - <data name="groupBox1.Dock" type="System.Windows.Forms.DockStyle, System.Windows.Forms"> - <value>Left</value> - </data> - <data name="groupBox1.Location" type="System.Drawing.Point, System.Drawing"> - <value>0, 0</value> - </data> - <data name="groupBox1.Size" type="System.Drawing.Size, System.Drawing"> - <value>392, 395</value> - </data> - <data name="groupBox1.TabIndex" type="System.Int32, mscorlib"> - <value>3</value> - </data> - <data name="groupBox1.Text" xml:space="preserve"> - <value>Domain</value> - </data> - <data name=">>groupBox1.Name" xml:space="preserve"> - <value>groupBox1</value> - </data> - <data name=">>groupBox1.Type" xml:space="preserve"> - <value>System.Windows.Forms.GroupBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> - </data> - <data name=">>groupBox1.Parent" xml:space="preserve"> - <value>panel2</value> - </data> - <data name=">>groupBox1.ZOrder" xml:space="preserve"> - <value>1</value> - </data> - <data name="txtDomain.Dock" type="System.Windows.Forms.DockStyle, System.Windows.Forms"> - <value>Fill</value> - </data> - <data name="txtDomain.Location" type="System.Drawing.Point, System.Drawing"> - <value>3, 17</value> - </data> - <data name="txtDomain.Multiline" type="System.Boolean, mscorlib"> - <value>True</value> - </data> - <data name="txtDomain.Size" type="System.Drawing.Size, System.Drawing"> - <value>386, 375</value> - </data> - <data name="txtDomain.TabIndex" type="System.Int32, mscorlib"> - <value>24</value> - </data> - <data name=">>txtDomain.Name" xml:space="preserve"> - <value>txtDomain</value> - </data> - <data name=">>txtDomain.Type" xml:space="preserve"> - <value>System.Windows.Forms.TextBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> - </data> - <data name=">>txtDomain.Parent" xml:space="preserve"> - <value>groupBox1</value> - </data> - <data name=">>txtDomain.ZOrder" xml:space="preserve"> - <value>0</value> - </data> - <metadata name="$this.Localizable" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"> - <value>True</value> - </metadata> - <data name="$this.AutoScaleDimensions" type="System.Drawing.SizeF, System.Drawing"> - <value>6, 12</value> - </data> - <data name="$this.ClientSize" type="System.Drawing.Size, System.Drawing"> - <value>742, 576</value> - </data> - <data name="$this.Text" xml:space="preserve"> - <value>RoutingSettingDetailsForm</value> - </data> - <data name=">>$this.Name" xml:space="preserve"> - <value>RoutingSettingDetailsForm</value> - </data> - <data name=">>$this.Type" xml:space="preserve"> - <value>v2rayN.Forms.BaseForm, v2rayN, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null</value> - </data> -</root> \ No newline at end of file diff --git a/v2rayN/v2rayN/Forms/RoutingSubSettingForm.Designer.cs b/v2rayN/v2rayN/Forms/RoutingSubSettingForm.Designer.cs deleted file mode 100644 index e085f27f..00000000 --- a/v2rayN/v2rayN/Forms/RoutingSubSettingForm.Designer.cs +++ /dev/null @@ -1,106 +0,0 @@ -namespace v2rayN.Forms -{ - partial class RoutingSubSettingForm - { - /// <summary> - /// Required designer variable. - /// </summary> - private System.ComponentModel.IContainer components = null; - - /// <summary> - /// Clean up any resources being used. - /// </summary> - /// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param> - protected override void Dispose(bool disposing) - { - if (disposing && (components != null)) - { - components.Dispose(); - } - base.Dispose(disposing); - } - - #region Windows Form Designer generated code - - /// <summary> - /// Required method for Designer support - do not modify - /// the contents of this method with the code editor. - /// </summary> - private void InitializeComponent() - { - System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(RoutingSubSettingForm)); - this.panel2 = new System.Windows.Forms.Panel(); - this.btnClose = new System.Windows.Forms.Button(); - this.btnOK = new System.Windows.Forms.Button(); - this.panCon = new System.Windows.Forms.Panel(); - this.txtUrl = new System.Windows.Forms.TextBox(); - this.label3 = new System.Windows.Forms.Label(); - this.panel2.SuspendLayout(); - this.panCon.SuspendLayout(); - this.SuspendLayout(); - // - // panel2 - // - this.panel2.Controls.Add(this.btnClose); - this.panel2.Controls.Add(this.btnOK); - resources.ApplyResources(this.panel2, "panel2"); - this.panel2.Name = "panel2"; - // - // btnClose - // - this.btnClose.DialogResult = System.Windows.Forms.DialogResult.Cancel; - resources.ApplyResources(this.btnClose, "btnClose"); - this.btnClose.Name = "btnClose"; - this.btnClose.UseVisualStyleBackColor = true; - this.btnClose.Click += new System.EventHandler(this.btnClose_Click); - // - // btnOK - // - resources.ApplyResources(this.btnOK, "btnOK"); - this.btnOK.Name = "btnOK"; - this.btnOK.UseVisualStyleBackColor = true; - this.btnOK.Click += new System.EventHandler(this.btnOK_Click); - // - // panCon - // - resources.ApplyResources(this.panCon, "panCon"); - this.panCon.Controls.Add(this.txtUrl); - this.panCon.Controls.Add(this.label3); - this.panCon.Name = "panCon"; - // - // txtUrl - // - resources.ApplyResources(this.txtUrl, "txtUrl"); - this.txtUrl.Name = "txtUrl"; - // - // label3 - // - resources.ApplyResources(this.label3, "label3"); - this.label3.Name = "label3"; - // - // RoutingSubSettingForm - // - resources.ApplyResources(this, "$this"); - this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; - this.CancelButton = this.btnClose; - this.Controls.Add(this.panCon); - this.Controls.Add(this.panel2); - this.Name = "RoutingSubSettingForm"; - this.Load += new System.EventHandler(this.RoutingSubSettingForm_Load); - this.panel2.ResumeLayout(false); - this.panCon.ResumeLayout(false); - this.panCon.PerformLayout(); - this.ResumeLayout(false); - - } - - #endregion - - private System.Windows.Forms.Panel panel2; - private System.Windows.Forms.Button btnClose; - private System.Windows.Forms.Button btnOK; - private System.Windows.Forms.Panel panCon; - private System.Windows.Forms.TextBox txtUrl; - private System.Windows.Forms.Label label3; - } -} \ No newline at end of file diff --git a/v2rayN/v2rayN/Forms/RoutingSubSettingForm.cs b/v2rayN/v2rayN/Forms/RoutingSubSettingForm.cs deleted file mode 100644 index 7ccb683d..00000000 --- a/v2rayN/v2rayN/Forms/RoutingSubSettingForm.cs +++ /dev/null @@ -1,61 +0,0 @@ -using System; -using System.Collections.Generic; -using System.ComponentModel; -using System.Data; -using System.Drawing; -using System.Linq; -using System.Text; -using System.Threading.Tasks; -using System.Windows.Forms; -using v2rayN.Handler; -using v2rayN.Mode; - -namespace v2rayN.Forms -{ - public partial class RoutingSubSettingForm : BaseForm - { - public string Url; - public RoutingSubSettingForm() - { - InitializeComponent(); - } - - private void RoutingSubSettingForm_Load(object sender, EventArgs e) - { - if (config.ruleSubItem == null) - { - config.ruleSubItem = new List<SubItem>(); - } - if (config.ruleSubItem.Count <= 0) - { - config.ruleSubItem.Add(new SubItem - { - remarks = "def", - url = Global.CustomRoutingListUrl + "custom_routing_rules" - }); - } - txtUrl.Text = config.ruleSubItem[0].url; - } - - private void btnOK_Click(object sender, EventArgs e) - { - var url = txtUrl.Text.Trim(); - - if (Utils.IsNullOrEmpty(url)) - { - return; - } - Url = url; - config.ruleSubItem[0].url = url; - ConfigHandler.SaveRuleSubItem(ref config); - - this.DialogResult = DialogResult.OK; - } - - private void btnClose_Click(object sender, EventArgs e) - { - this.DialogResult = DialogResult.Cancel; - } - - } -} diff --git a/v2rayN/v2rayN/Forms/RoutingSubSettingForm.resx b/v2rayN/v2rayN/Forms/RoutingSubSettingForm.resx deleted file mode 100644 index 144946ab..00000000 --- a/v2rayN/v2rayN/Forms/RoutingSubSettingForm.resx +++ /dev/null @@ -1,300 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<root> - <!-- - Microsoft ResX Schema - - Version 2.0 - - The primary goals of this format is to allow a simple XML format - that is mostly human readable. The generation and parsing of the - various data types are done through the TypeConverter classes - associated with the data types. - - Example: - - ... ado.net/XML headers & schema ... - <resheader name="resmimetype">text/microsoft-resx</resheader> - <resheader name="version">2.0</resheader> - <resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader> - <resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader> - <data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data> - <data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data> - <data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64"> - <value>[base64 mime encoded serialized .NET Framework object]</value> - </data> - <data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64"> - <value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value> - <comment>This is a comment</comment> - </data> - - There are any number of "resheader" rows that contain simple - name/value pairs. - - Each data row contains a name, and value. The row also contains a - type or mimetype. Type corresponds to a .NET class that support - text/value conversion through the TypeConverter architecture. - Classes that don't support this are serialized and stored with the - mimetype set. - - The mimetype is used for serialized objects, and tells the - ResXResourceReader how to depersist the object. This is currently not - extensible. For a given mimetype the value must be set accordingly: - - Note - application/x-microsoft.net.object.binary.base64 is the format - that the ResXResourceWriter will generate, however the reader can - read any of the formats listed below. - - mimetype: application/x-microsoft.net.object.binary.base64 - value : The object must be serialized with - : System.Runtime.Serialization.Formatters.Binary.BinaryFormatter - : and then encoded with base64 encoding. - - mimetype: application/x-microsoft.net.object.soap.base64 - value : The object must be serialized with - : System.Runtime.Serialization.Formatters.Soap.SoapFormatter - : and then encoded with base64 encoding. - - mimetype: application/x-microsoft.net.object.bytearray.base64 - value : The object must be serialized into a byte array - : using a System.ComponentModel.TypeConverter - : and then encoded with base64 encoding. - --> - <xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata"> - <xsd:import namespace="http://www.w3.org/XML/1998/namespace" /> - <xsd:element name="root" msdata:IsDataSet="true"> - <xsd:complexType> - <xsd:choice maxOccurs="unbounded"> - <xsd:element name="metadata"> - <xsd:complexType> - <xsd:sequence> - <xsd:element name="value" type="xsd:string" minOccurs="0" /> - </xsd:sequence> - <xsd:attribute name="name" use="required" type="xsd:string" /> - <xsd:attribute name="type" type="xsd:string" /> - <xsd:attribute name="mimetype" type="xsd:string" /> - <xsd:attribute ref="xml:space" /> - </xsd:complexType> - </xsd:element> - <xsd:element name="assembly"> - <xsd:complexType> - <xsd:attribute name="alias" type="xsd:string" /> - <xsd:attribute name="name" type="xsd:string" /> - </xsd:complexType> - </xsd:element> - <xsd:element name="data"> - <xsd:complexType> - <xsd:sequence> - <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" /> - <xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" /> - </xsd:sequence> - <xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" /> - <xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" /> - <xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" /> - <xsd:attribute ref="xml:space" /> - </xsd:complexType> - </xsd:element> - <xsd:element name="resheader"> - <xsd:complexType> - <xsd:sequence> - <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" /> - </xsd:sequence> - <xsd:attribute name="name" type="xsd:string" use="required" /> - </xsd:complexType> - </xsd:element> - </xsd:choice> - </xsd:complexType> - </xsd:element> - </xsd:schema> - <resheader name="resmimetype"> - <value>text/microsoft-resx</value> - </resheader> - <resheader name="version"> - <value>2.0</value> - </resheader> - <resheader name="reader"> - <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> - </resheader> - <resheader name="writer"> - <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> - </resheader> - <assembly alias="System.Windows.Forms" name="System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" /> - <data name="btnClose.ImeMode" type="System.Windows.Forms.ImeMode, System.Windows.Forms"> - <value>NoControl</value> - </data> - <assembly alias="System.Drawing" name="System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" /> - <data name="btnClose.Location" type="System.Drawing.Point, System.Drawing"> - <value>448, 17</value> - </data> - <data name="btnClose.Size" type="System.Drawing.Size, System.Drawing"> - <value>75, 23</value> - </data> - <assembly alias="mscorlib" name="mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" /> - <data name="btnClose.TabIndex" type="System.Int32, mscorlib"> - <value>4</value> - </data> - <data name="btnClose.Text" xml:space="preserve"> - <value>&Cancel</value> - </data> - <data name=">>btnClose.Name" xml:space="preserve"> - <value>btnClose</value> - </data> - <data name=">>btnClose.Type" xml:space="preserve"> - <value>System.Windows.Forms.Button, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> - </data> - <data name=">>btnClose.Parent" xml:space="preserve"> - <value>panel2</value> - </data> - <data name=">>btnClose.ZOrder" xml:space="preserve"> - <value>0</value> - </data> - <data name="btnOK.ImeMode" type="System.Windows.Forms.ImeMode, System.Windows.Forms"> - <value>NoControl</value> - </data> - <data name="btnOK.Location" type="System.Drawing.Point, System.Drawing"> - <value>355, 17</value> - </data> - <data name="btnOK.Size" type="System.Drawing.Size, System.Drawing"> - <value>75, 23</value> - </data> - <data name="btnOK.TabIndex" type="System.Int32, mscorlib"> - <value>5</value> - </data> - <data name="btnOK.Text" xml:space="preserve"> - <value>&OK</value> - </data> - <data name=">>btnOK.Name" xml:space="preserve"> - <value>btnOK</value> - </data> - <data name=">>btnOK.Type" xml:space="preserve"> - <value>System.Windows.Forms.Button, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> - </data> - <data name=">>btnOK.Parent" xml:space="preserve"> - <value>panel2</value> - </data> - <data name=">>btnOK.ZOrder" xml:space="preserve"> - <value>1</value> - </data> - <data name="panel2.Dock" type="System.Windows.Forms.DockStyle, System.Windows.Forms"> - <value>Bottom</value> - </data> - <data name="panel2.Location" type="System.Drawing.Point, System.Drawing"> - <value>0, 166</value> - </data> - <data name="panel2.Size" type="System.Drawing.Size, System.Drawing"> - <value>545, 60</value> - </data> - <data name="panel2.TabIndex" type="System.Int32, mscorlib"> - <value>8</value> - </data> - <data name=">>panel2.Name" xml:space="preserve"> - <value>panel2</value> - </data> - <data name=">>panel2.Type" xml:space="preserve"> - <value>System.Windows.Forms.Panel, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> - </data> - <data name=">>panel2.Parent" xml:space="preserve"> - <value>$this</value> - </data> - <data name=">>panel2.ZOrder" xml:space="preserve"> - <value>1</value> - </data> - <data name="panCon.AutoScroll" type="System.Boolean, mscorlib"> - <value>True</value> - </data> - <data name="txtUrl.Location" type="System.Drawing.Point, System.Drawing"> - <value>83, 19</value> - </data> - <data name="txtUrl.Multiline" type="System.Boolean, mscorlib"> - <value>True</value> - </data> - <data name="txtUrl.Size" type="System.Drawing.Size, System.Drawing"> - <value>450, 113</value> - </data> - <data name="txtUrl.TabIndex" type="System.Int32, mscorlib"> - <value>25</value> - </data> - <data name=">>txtUrl.Name" xml:space="preserve"> - <value>txtUrl</value> - </data> - <data name=">>txtUrl.Type" xml:space="preserve"> - <value>System.Windows.Forms.TextBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> - </data> - <data name=">>txtUrl.Parent" xml:space="preserve"> - <value>panCon</value> - </data> - <data name=">>txtUrl.ZOrder" xml:space="preserve"> - <value>0</value> - </data> - <data name="label3.AutoSize" type="System.Boolean, mscorlib"> - <value>True</value> - </data> - <data name="label3.ImeMode" type="System.Windows.Forms.ImeMode, System.Windows.Forms"> - <value>NoControl</value> - </data> - <data name="label3.Location" type="System.Drawing.Point, System.Drawing"> - <value>12, 19</value> - </data> - <data name="label3.Size" type="System.Drawing.Size, System.Drawing"> - <value>23, 12</value> - </data> - <data name="label3.TabIndex" type="System.Int32, mscorlib"> - <value>24</value> - </data> - <data name="label3.Text" xml:space="preserve"> - <value>Url</value> - </data> - <data name=">>label3.Name" xml:space="preserve"> - <value>label3</value> - </data> - <data name=">>label3.Type" xml:space="preserve"> - <value>System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> - </data> - <data name=">>label3.Parent" xml:space="preserve"> - <value>panCon</value> - </data> - <data name=">>label3.ZOrder" xml:space="preserve"> - <value>1</value> - </data> - <data name="panCon.Dock" type="System.Windows.Forms.DockStyle, System.Windows.Forms"> - <value>Fill</value> - </data> - <data name="panCon.Location" type="System.Drawing.Point, System.Drawing"> - <value>0, 0</value> - </data> - <data name="panCon.Size" type="System.Drawing.Size, System.Drawing"> - <value>545, 166</value> - </data> - <data name="panCon.TabIndex" type="System.Int32, mscorlib"> - <value>11</value> - </data> - <data name=">>panCon.Name" xml:space="preserve"> - <value>panCon</value> - </data> - <data name=">>panCon.Type" xml:space="preserve"> - <value>System.Windows.Forms.Panel, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> - </data> - <data name=">>panCon.Parent" xml:space="preserve"> - <value>$this</value> - </data> - <data name=">>panCon.ZOrder" xml:space="preserve"> - <value>0</value> - </data> - <metadata name="$this.Localizable" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"> - <value>True</value> - </metadata> - <data name="$this.AutoScaleDimensions" type="System.Drawing.SizeF, System.Drawing"> - <value>6, 12</value> - </data> - <data name="$this.ClientSize" type="System.Drawing.Size, System.Drawing"> - <value>545, 226</value> - </data> - <data name="$this.Text" xml:space="preserve"> - <value>RoutingSubSetting</value> - </data> - <data name=">>$this.Name" xml:space="preserve"> - <value>RoutingSubSettingForm</value> - </data> - <data name=">>$this.Type" xml:space="preserve"> - <value>v2rayN.Forms.BaseForm, v2rayN, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null</value> - </data> -</root> \ No newline at end of file diff --git a/v2rayN/v2rayN/Forms/RoutingSubSettingForm.zh-Hans.resx b/v2rayN/v2rayN/Forms/RoutingSubSettingForm.zh-Hans.resx deleted file mode 100644 index 614f26d1..00000000 --- a/v2rayN/v2rayN/Forms/RoutingSubSettingForm.zh-Hans.resx +++ /dev/null @@ -1,133 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<root> - <!-- - Microsoft ResX Schema - - Version 2.0 - - The primary goals of this format is to allow a simple XML format - that is mostly human readable. The generation and parsing of the - various data types are done through the TypeConverter classes - associated with the data types. - - Example: - - ... ado.net/XML headers & schema ... - <resheader name="resmimetype">text/microsoft-resx</resheader> - <resheader name="version">2.0</resheader> - <resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader> - <resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader> - <data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data> - <data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data> - <data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64"> - <value>[base64 mime encoded serialized .NET Framework object]</value> - </data> - <data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64"> - <value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value> - <comment>This is a comment</comment> - </data> - - There are any number of "resheader" rows that contain simple - name/value pairs. - - Each data row contains a name, and value. The row also contains a - type or mimetype. Type corresponds to a .NET class that support - text/value conversion through the TypeConverter architecture. - Classes that don't support this are serialized and stored with the - mimetype set. - - The mimetype is used for serialized objects, and tells the - ResXResourceReader how to depersist the object. This is currently not - extensible. For a given mimetype the value must be set accordingly: - - Note - application/x-microsoft.net.object.binary.base64 is the format - that the ResXResourceWriter will generate, however the reader can - read any of the formats listed below. - - mimetype: application/x-microsoft.net.object.binary.base64 - value : The object must be serialized with - : System.Runtime.Serialization.Formatters.Binary.BinaryFormatter - : and then encoded with base64 encoding. - - mimetype: application/x-microsoft.net.object.soap.base64 - value : The object must be serialized with - : System.Runtime.Serialization.Formatters.Soap.SoapFormatter - : and then encoded with base64 encoding. - - mimetype: application/x-microsoft.net.object.bytearray.base64 - value : The object must be serialized into a byte array - : using a System.ComponentModel.TypeConverter - : and then encoded with base64 encoding. - --> - <xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata"> - <xsd:import namespace="http://www.w3.org/XML/1998/namespace" /> - <xsd:element name="root" msdata:IsDataSet="true"> - <xsd:complexType> - <xsd:choice maxOccurs="unbounded"> - <xsd:element name="metadata"> - <xsd:complexType> - <xsd:sequence> - <xsd:element name="value" type="xsd:string" minOccurs="0" /> - </xsd:sequence> - <xsd:attribute name="name" use="required" type="xsd:string" /> - <xsd:attribute name="type" type="xsd:string" /> - <xsd:attribute name="mimetype" type="xsd:string" /> - <xsd:attribute ref="xml:space" /> - </xsd:complexType> - </xsd:element> - <xsd:element name="assembly"> - <xsd:complexType> - <xsd:attribute name="alias" type="xsd:string" /> - <xsd:attribute name="name" type="xsd:string" /> - </xsd:complexType> - </xsd:element> - <xsd:element name="data"> - <xsd:complexType> - <xsd:sequence> - <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" /> - <xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" /> - </xsd:sequence> - <xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" /> - <xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" /> - <xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" /> - <xsd:attribute ref="xml:space" /> - </xsd:complexType> - </xsd:element> - <xsd:element name="resheader"> - <xsd:complexType> - <xsd:sequence> - <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" /> - </xsd:sequence> - <xsd:attribute name="name" type="xsd:string" use="required" /> - </xsd:complexType> - </xsd:element> - </xsd:choice> - </xsd:complexType> - </xsd:element> - </xsd:schema> - <resheader name="resmimetype"> - <value>text/microsoft-resx</value> - </resheader> - <resheader name="version"> - <value>2.0</value> - </resheader> - <resheader name="reader"> - <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> - </resheader> - <resheader name="writer"> - <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> - </resheader> - <data name="btnClose.Text" xml:space="preserve"> - <value>取消(&C)</value> - </data> - <data name="btnOK.Text" xml:space="preserve"> - <value>确定(&O)</value> - </data> - <assembly alias="System.Drawing" name="System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" /> - <data name="label3.Size" type="System.Drawing.Size, System.Drawing"> - <value>65, 12</value> - </data> - <data name="label3.Text" xml:space="preserve"> - <value>地址 (url)</value> - </data> -</root> \ No newline at end of file diff --git a/v2rayN/v2rayN/Handler/MainFormHandler.cs b/v2rayN/v2rayN/Handler/MainFormHandler.cs index 499d1ec8..1895fcbb 100644 --- a/v2rayN/v2rayN/Handler/MainFormHandler.cs +++ b/v2rayN/v2rayN/Handler/MainFormHandler.cs @@ -1,10 +1,11 @@ -using System; +using NHotkey; +using NHotkey.WindowsForms; +using System; using System.Drawing; using System.IO; using System.Threading; using System.Threading.Tasks; using System.Windows.Forms; -using v2rayN.Base; using v2rayN.Mode; namespace v2rayN.Handler @@ -12,7 +13,7 @@ namespace v2rayN.Handler public sealed class MainFormHandler { private static readonly Lazy<MainFormHandler> instance = new Lazy<MainFormHandler>(() => new MainFormHandler()); - Action<bool, string> _updateUI; + //Action<bool, string> _updateUI; //private DownloadHandle downloadHandle2; //private Config _config; @@ -218,11 +219,10 @@ namespace v2rayN.Handler public void UpdateTask(Config config, Action<bool, string> update) { - _updateUI = update; - Task.Run(() => UpdateTaskRun(config)); + Task.Run(() => UpdateTaskRun(config, update)); } - private void UpdateTaskRun(Config config) + private void UpdateTaskRun(Config config, Action<bool, string> update) { var updateHandle = new UpdateHandle(); while (true) @@ -236,7 +236,7 @@ namespace v2rayN.Handler updateHandle.UpdateGeoFile("geosite", config, (bool success, string msg) => { - _updateUI(false, msg); + update(false, msg); if (success) Utils.SaveLog("geosite" + msg); }); @@ -245,7 +245,7 @@ namespace v2rayN.Handler updateHandle.UpdateGeoFile("geoip", config, (bool success, string msg) => { - _updateUI(false, msg); + update(false, msg); if (success) Utils.SaveLog("geoip" + msg); }); @@ -253,5 +253,49 @@ namespace v2rayN.Handler Thread.Sleep(1000 * 3600 * config.autoUpdateInterval); } } + + public void RegisterGlobalHotkey(Config config, EventHandler<HotkeyEventArgs> handler, Action<bool, string> update) + { + if (config.globalHotkeys == null) + { + return; + } + + foreach (var item in config.globalHotkeys) + { + if (item.KeyCode == null) + { + continue; + } + + Keys keys = (Keys)item.KeyCode; + if (item.Control) + { + keys |= Keys.Control; + } + if (item.Alt) + { + keys |= Keys.Alt; + } + if (item.Shift) + { + keys |= Keys.Shift; + } + + try + { + HotkeyManager.Current.AddOrReplace(((int)item.eGlobalHotkey).ToString(), keys, handler); + var msg = string.Format(UIRes.I18N("RegisterGlobalHotkeySuccessfully"), $"{item.eGlobalHotkey.ToString()} = {keys}"); + update(false, msg); + } + catch (Exception ex) + { + var msg = string.Format(UIRes.I18N("RegisterGlobalHotkeyFailed"), $"{item.eGlobalHotkey.ToString()} = {keys}", ex.Message); + update(false, msg); + Utils.SaveLog(msg); + } + } + } + } } \ No newline at end of file diff --git a/v2rayN/v2rayN/Mode/Config.cs b/v2rayN/v2rayN/Mode/Config.cs index 41e6c0ac..834deb1c 100644 --- a/v2rayN/v2rayN/Mode/Config.cs +++ b/v2rayN/v2rayN/Mode/Config.cs @@ -1,5 +1,6 @@ using System; using System.Collections.Generic; +using System.Windows.Forms; using v2rayN.Base; @@ -147,7 +148,7 @@ namespace v2rayN.Mode { get; set; } - + #endregion #region other entities @@ -200,6 +201,11 @@ namespace v2rayN.Mode get; set; } + public List<KeyEventItem> globalHotkeys + { + get; set; + } + #endregion #region function @@ -832,4 +838,19 @@ namespace v2rayN.Mode get; set; } } + + [Serializable] + public class KeyEventItem + { + public EGlobalHotkey eGlobalHotkey { get; set; } + + public bool Alt { get; set; } + + public bool Control { get; set; } + + public bool Shift { get; set; } + + public Keys? KeyCode { get; set; } + + } } diff --git a/v2rayN/v2rayN/Mode/EGlobalHotkey.cs b/v2rayN/v2rayN/Mode/EGlobalHotkey.cs new file mode 100644 index 00000000..de7cd336 --- /dev/null +++ b/v2rayN/v2rayN/Mode/EGlobalHotkey.cs @@ -0,0 +1,11 @@ + +namespace v2rayN.Mode +{ + public enum EGlobalHotkey + { + ShowForm = 0, + SystemProxyClear = 1, + SystemProxySet = 2, + SystemProxyUnchanged = 3, + } +} diff --git a/v2rayN/v2rayN/Resx/ResUI.Designer.cs b/v2rayN/v2rayN/Resx/ResUI.Designer.cs index fa3511a5..53145d83 100644 --- a/v2rayN/v2rayN/Resx/ResUI.Designer.cs +++ b/v2rayN/v2rayN/Resx/ResUI.Designer.cs @@ -771,6 +771,24 @@ namespace v2rayN.Resx { } } + /// <summary> + /// 查找类似 Global hotkey {0} registered failed, reason {1} 的本地化字符串。 + /// </summary> + internal static string RegisterGlobalHotkeyFailed { + get { + return ResourceManager.GetString("RegisterGlobalHotkeyFailed", resourceCulture); + } + } + + /// <summary> + /// 查找类似 Global hotkey {0} registered successfully 的本地化字符串。 + /// </summary> + internal static string RegisterGlobalHotkeySuccessfully { + get { + return ResourceManager.GetString("RegisterGlobalHotkeySuccessfully", resourceCulture); + } + } + /// <summary> /// 查找类似 Servers deduplication completed. Old: {0}, New: {1}. 的本地化字符串。 /// </summary> diff --git a/v2rayN/v2rayN/Resx/ResUI.resx b/v2rayN/v2rayN/Resx/ResUI.resx index 638172c8..4c3ca750 100644 --- a/v2rayN/v2rayN/Resx/ResUI.resx +++ b/v2rayN/v2rayN/Resx/ResUI.resx @@ -439,4 +439,10 @@ <data name="TransportPathTip5" xml:space="preserve"> <value>*Kcp seed</value> </data> + <data name="RegisterGlobalHotkeyFailed" xml:space="preserve"> + <value>Global hotkey {0} registered failed, reason {1}</value> + </data> + <data name="RegisterGlobalHotkeySuccessfully" xml:space="preserve"> + <value>Global hotkey {0} registered successfully</value> + </data> </root> \ No newline at end of file diff --git a/v2rayN/v2rayN/Resx/ResUI.zh-Hans.resx b/v2rayN/v2rayN/Resx/ResUI.zh-Hans.resx index b8466714..db8c9970 100644 --- a/v2rayN/v2rayN/Resx/ResUI.zh-Hans.resx +++ b/v2rayN/v2rayN/Resx/ResUI.zh-Hans.resx @@ -439,4 +439,10 @@ <data name="TransportPathTip5" xml:space="preserve"> <value>*Kcp seed</value> </data> + <data name="RegisterGlobalHotkeyFailed" xml:space="preserve"> + <value>注册全局热键 {0} 失败,原因 {1}</value> + </data> + <data name="RegisterGlobalHotkeySuccessfully" xml:space="preserve"> + <value>注册全局热键 {0} 成功</value> + </data> </root> \ No newline at end of file diff --git a/v2rayN/v2rayN/v2rayN.csproj b/v2rayN/v2rayN/v2rayN.csproj index 202d3e56..70b76468 100644 --- a/v2rayN/v2rayN/v2rayN.csproj +++ b/v2rayN/v2rayN/v2rayN.csproj @@ -137,6 +137,12 @@ <Compile Include="Forms\RoutingRuleSettingDetailsForm.Designer.cs"> <DependentUpon>RoutingRuleSettingDetailsForm.cs</DependentUpon> </Compile> + <Compile Include="Forms\GlobalHotkeySettingForm.cs"> + <SubType>Form</SubType> + </Compile> + <Compile Include="Forms\GlobalHotkeySettingForm.Designer.cs"> + <DependentUpon>GlobalHotkeySettingForm.cs</DependentUpon> + </Compile> <Compile Include="Forms\RoutingRuleSettingForm.cs"> <SubType>Form</SubType> </Compile> @@ -204,6 +210,7 @@ <SubType>Component</SubType> </Compile> <Compile Include="Handler\SysProxyHandle.cs" /> + <Compile Include="Mode\EGlobalHotkey.cs" /> <Compile Include="Mode\ECoreType.cs" /> <Compile Include="Mode\ESysProxyType.cs" /> <Compile Include="Mode\EMove.cs" /> @@ -308,6 +315,9 @@ <DependentUpon>BaseServerForm.cs</DependentUpon> <SubType>Designer</SubType> </EmbeddedResource> + <EmbeddedResource Include="Forms\GlobalHotkeySettingForm.zh-Hans.resx"> + <DependentUpon>GlobalHotkeySettingForm.cs</DependentUpon> + </EmbeddedResource> <EmbeddedResource Include="Forms\MainForm.resx"> <DependentUpon>MainForm.cs</DependentUpon> <SubType>Designer</SubType> @@ -337,6 +347,10 @@ <DependentUpon>RoutingRuleSettingDetailsForm.cs</DependentUpon> <SubType>Designer</SubType> </EmbeddedResource> + <EmbeddedResource Include="Forms\GlobalHotkeySettingForm.resx"> + <DependentUpon>GlobalHotkeySettingForm.cs</DependentUpon> + <SubType>Designer</SubType> + </EmbeddedResource> <EmbeddedResource Include="Forms\RoutingRuleSettingForm.resx"> <DependentUpon>RoutingRuleSettingForm.cs</DependentUpon> <SubType>Designer</SubType> @@ -490,10 +504,10 @@ <Version>3.19.4</Version> </PackageReference> <PackageReference Include="Grpc.Core"> - <Version>2.43.0</Version> + <Version>2.44.0</Version> </PackageReference> <PackageReference Include="Grpc.Tools"> - <Version>2.43.0</Version> + <Version>2.44.0</Version> <IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets> <PrivateAssets>all</PrivateAssets> </PackageReference> @@ -503,6 +517,12 @@ <PackageReference Include="Newtonsoft.Json"> <Version>13.0.1</Version> </PackageReference> + <PackageReference Include="NHotkey"> + <Version>2.1.0</Version> + </PackageReference> + <PackageReference Include="NHotkey.WindowsForms"> + <Version>2.1.0</Version> + </PackageReference> <PackageReference Include="ZXing.Net"> <Version>0.16.8</Version> </PackageReference>