Compare commits
76 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
e58e0d6ac7 | ||
|
|
a2679e009d | ||
|
|
78d6bcd57a | ||
|
|
026936c92f | ||
|
|
5e5893362c | ||
|
|
5b8ce1836b | ||
|
|
d71f3fafcf | ||
|
|
828f93bc5c | ||
|
|
f947c541c9 | ||
|
|
539b6aafd9 | ||
|
|
c3971bda05 | ||
|
|
8f17331db2 | ||
|
|
583e824337 | ||
|
|
ac79466041 | ||
|
|
291fd491ff | ||
|
|
6408d51c85 | ||
|
|
b693873619 | ||
|
|
c2af982272 | ||
|
|
1f0a77bde2 | ||
|
|
0463c1a6e7 | ||
|
|
6517f66876 | ||
|
|
82682d4474 | ||
|
|
e030fae1c4 | ||
|
|
4d7cf140cd | ||
|
|
f6ccee1976 | ||
|
|
d42346d500 | ||
|
|
887dd8da3b | ||
|
|
731db2541d | ||
|
|
bfdc0a2e77 | ||
|
|
03ea24f29b | ||
|
|
61bd48fd1e | ||
|
|
f05b5d7fff | ||
|
|
0b8d66a87e | ||
|
|
c0b7a8c33e | ||
|
|
32a07bceb2 | ||
|
|
ba8f24d398 | ||
|
|
31b7857238 | ||
|
|
fada5f99bb | ||
|
|
734df5def5 | ||
|
|
03ad07733f | ||
|
|
b2d538d02a | ||
|
|
b9435a4b01 | ||
|
|
d27566686c | ||
|
|
ca883c164d | ||
|
|
0f6cd76f28 | ||
|
|
7778af65aa | ||
|
|
828246130b | ||
|
|
4eb1801f50 | ||
|
|
80b68dcf84 | ||
|
|
685baa576b | ||
|
|
7cdead8cb1 | ||
|
|
f220825b80 | ||
|
|
2b00490dd6 | ||
|
|
d361afa3f3 | ||
|
|
8d5bd5a80c | ||
|
|
002283899f | ||
|
|
206b440966 | ||
|
|
b5b5eb25a1 | ||
|
|
f84e538b6a | ||
|
|
5b9cdec156 | ||
|
|
cf0bd7f1e6 | ||
|
|
f3a86a2173 | ||
|
|
0a1d4d5193 | ||
|
|
88e2288298 | ||
|
|
fec47d4b72 | ||
|
|
f7f23e7980 | ||
|
|
32100db3fc | ||
|
|
dd2bed49f1 | ||
|
|
6a427a2158 | ||
|
|
716029def8 | ||
|
|
610a610ee0 | ||
|
|
4fc0738dad | ||
|
|
fe29771870 | ||
|
|
19be43d2d9 | ||
|
|
cb01809093 | ||
|
|
1138d660b2 |
@@ -1,4 +1,5 @@
|
|||||||
# v2rayN
|
# v2rayN
|
||||||
|
A V2Ray client for Windows, support [Xray core](https://github.com/XTLS/Xray-core) and [v2fly core](https://github.com/v2fly/v2ray-core)
|
||||||
|
|
||||||
### How to use
|
### How to use
|
||||||
- If you are newbie please download v2rayN-Core.zip from releases
|
- If you are newbie please download v2rayN-Core.zip from releases
|
||||||
@@ -7,4 +8,5 @@
|
|||||||
|
|
||||||
### Requirements
|
### Requirements
|
||||||
- Microsoft [.NET Framework 4.8](https://docs.microsoft.com/zh-cn/dotnet/framework/install/guide-for-developers)
|
- Microsoft [.NET Framework 4.8](https://docs.microsoft.com/zh-cn/dotnet/framework/install/guide-for-developers)
|
||||||
- Project V core [https://github.com/v2fly/v2ray-core/releases](https://github.com/v2fly/v2ray-core/releases)
|
- v2fly core [https://github.com/v2fly/v2ray-core/releases](https://github.com/v2fly/v2ray-core/releases)
|
||||||
|
- Xray core [https://github.com/XTLS/Xray-core/releases](https://github.com/XTLS/Xray-core/releases)
|
||||||
|
|||||||
44
v2rayN/v2rayN/Forms/AddServer2Form.Designer.cs
generated
44
v2rayN/v2rayN/Forms/AddServer2Form.Designer.cs
generated
@@ -31,6 +31,10 @@
|
|||||||
System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(AddServer2Form));
|
System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(AddServer2Form));
|
||||||
this.btnClose = new System.Windows.Forms.Button();
|
this.btnClose = new System.Windows.Forms.Button();
|
||||||
this.groupBox1 = new System.Windows.Forms.GroupBox();
|
this.groupBox1 = new System.Windows.Forms.GroupBox();
|
||||||
|
this.btnEdit = new System.Windows.Forms.Button();
|
||||||
|
this.cmbCoreType = new System.Windows.Forms.ComboBox();
|
||||||
|
this.labCoreType = new System.Windows.Forms.Label();
|
||||||
|
this.btnBrowse = new System.Windows.Forms.Button();
|
||||||
this.txtAddress = new System.Windows.Forms.TextBox();
|
this.txtAddress = new System.Windows.Forms.TextBox();
|
||||||
this.label13 = new System.Windows.Forms.Label();
|
this.label13 = new System.Windows.Forms.Label();
|
||||||
this.txtRemarks = new System.Windows.Forms.TextBox();
|
this.txtRemarks = new System.Windows.Forms.TextBox();
|
||||||
@@ -45,23 +49,53 @@
|
|||||||
//
|
//
|
||||||
// btnClose
|
// btnClose
|
||||||
//
|
//
|
||||||
resources.ApplyResources(this.btnClose, "btnClose");
|
|
||||||
this.btnClose.DialogResult = System.Windows.Forms.DialogResult.Cancel;
|
this.btnClose.DialogResult = System.Windows.Forms.DialogResult.Cancel;
|
||||||
|
resources.ApplyResources(this.btnClose, "btnClose");
|
||||||
this.btnClose.Name = "btnClose";
|
this.btnClose.Name = "btnClose";
|
||||||
this.btnClose.UseVisualStyleBackColor = true;
|
this.btnClose.UseVisualStyleBackColor = true;
|
||||||
this.btnClose.Click += new System.EventHandler(this.btnClose_Click);
|
this.btnClose.Click += new System.EventHandler(this.btnClose_Click);
|
||||||
//
|
//
|
||||||
// groupBox1
|
// groupBox1
|
||||||
//
|
//
|
||||||
resources.ApplyResources(this.groupBox1, "groupBox1");
|
this.groupBox1.Controls.Add(this.btnEdit);
|
||||||
|
this.groupBox1.Controls.Add(this.cmbCoreType);
|
||||||
|
this.groupBox1.Controls.Add(this.labCoreType);
|
||||||
|
this.groupBox1.Controls.Add(this.btnBrowse);
|
||||||
this.groupBox1.Controls.Add(this.txtAddress);
|
this.groupBox1.Controls.Add(this.txtAddress);
|
||||||
this.groupBox1.Controls.Add(this.label13);
|
this.groupBox1.Controls.Add(this.label13);
|
||||||
this.groupBox1.Controls.Add(this.txtRemarks);
|
this.groupBox1.Controls.Add(this.txtRemarks);
|
||||||
this.groupBox1.Controls.Add(this.label6);
|
this.groupBox1.Controls.Add(this.label6);
|
||||||
this.groupBox1.Controls.Add(this.label1);
|
this.groupBox1.Controls.Add(this.label1);
|
||||||
|
resources.ApplyResources(this.groupBox1, "groupBox1");
|
||||||
this.groupBox1.Name = "groupBox1";
|
this.groupBox1.Name = "groupBox1";
|
||||||
this.groupBox1.TabStop = false;
|
this.groupBox1.TabStop = false;
|
||||||
//
|
//
|
||||||
|
// btnEdit
|
||||||
|
//
|
||||||
|
resources.ApplyResources(this.btnEdit, "btnEdit");
|
||||||
|
this.btnEdit.Name = "btnEdit";
|
||||||
|
this.btnEdit.UseVisualStyleBackColor = true;
|
||||||
|
this.btnEdit.Click += new System.EventHandler(this.btnEdit_Click);
|
||||||
|
//
|
||||||
|
// cmbCoreType
|
||||||
|
//
|
||||||
|
this.cmbCoreType.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList;
|
||||||
|
this.cmbCoreType.FormattingEnabled = true;
|
||||||
|
resources.ApplyResources(this.cmbCoreType, "cmbCoreType");
|
||||||
|
this.cmbCoreType.Name = "cmbCoreType";
|
||||||
|
//
|
||||||
|
// labCoreType
|
||||||
|
//
|
||||||
|
resources.ApplyResources(this.labCoreType, "labCoreType");
|
||||||
|
this.labCoreType.Name = "labCoreType";
|
||||||
|
//
|
||||||
|
// btnBrowse
|
||||||
|
//
|
||||||
|
resources.ApplyResources(this.btnBrowse, "btnBrowse");
|
||||||
|
this.btnBrowse.Name = "btnBrowse";
|
||||||
|
this.btnBrowse.UseVisualStyleBackColor = true;
|
||||||
|
this.btnBrowse.Click += new System.EventHandler(this.btnBrowse_Click);
|
||||||
|
//
|
||||||
// txtAddress
|
// txtAddress
|
||||||
//
|
//
|
||||||
resources.ApplyResources(this.txtAddress, "txtAddress");
|
resources.ApplyResources(this.txtAddress, "txtAddress");
|
||||||
@@ -89,9 +123,9 @@
|
|||||||
//
|
//
|
||||||
// panel2
|
// panel2
|
||||||
//
|
//
|
||||||
resources.ApplyResources(this.panel2, "panel2");
|
|
||||||
this.panel2.Controls.Add(this.btnClose);
|
this.panel2.Controls.Add(this.btnClose);
|
||||||
this.panel2.Controls.Add(this.btnOK);
|
this.panel2.Controls.Add(this.btnOK);
|
||||||
|
resources.ApplyResources(this.panel2, "panel2");
|
||||||
this.panel2.Name = "panel2";
|
this.panel2.Name = "panel2";
|
||||||
//
|
//
|
||||||
// btnOK
|
// btnOK
|
||||||
@@ -136,5 +170,9 @@
|
|||||||
private System.Windows.Forms.Panel panel2;
|
private System.Windows.Forms.Panel panel2;
|
||||||
private System.Windows.Forms.Label label13;
|
private System.Windows.Forms.Label label13;
|
||||||
private System.Windows.Forms.TextBox txtAddress;
|
private System.Windows.Forms.TextBox txtAddress;
|
||||||
|
private System.Windows.Forms.Button btnBrowse;
|
||||||
|
private System.Windows.Forms.ComboBox cmbCoreType;
|
||||||
|
private System.Windows.Forms.Label labCoreType;
|
||||||
|
private System.Windows.Forms.Button btnEdit;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -1,4 +1,6 @@
|
|||||||
using System;
|
using System;
|
||||||
|
using System.Diagnostics;
|
||||||
|
using System.IO;
|
||||||
using System.Windows.Forms;
|
using System.Windows.Forms;
|
||||||
using v2rayN.Handler;
|
using v2rayN.Handler;
|
||||||
using v2rayN.Mode;
|
using v2rayN.Mode;
|
||||||
@@ -6,7 +8,7 @@ using v2rayN.Mode;
|
|||||||
namespace v2rayN.Forms
|
namespace v2rayN.Forms
|
||||||
{
|
{
|
||||||
public partial class AddServer2Form : BaseServerForm
|
public partial class AddServer2Form : BaseServerForm
|
||||||
{
|
{
|
||||||
|
|
||||||
public AddServer2Form()
|
public AddServer2Form()
|
||||||
{
|
{
|
||||||
@@ -15,12 +17,19 @@ namespace v2rayN.Forms
|
|||||||
|
|
||||||
private void AddServer2Form_Load(object sender, EventArgs e)
|
private void AddServer2Form_Load(object sender, EventArgs e)
|
||||||
{
|
{
|
||||||
if (EditIndex >= 0)
|
cmbCoreType.Items.AddRange(Global.coreTypes.ToArray());
|
||||||
|
cmbCoreType.Items.Add("clash");
|
||||||
|
cmbCoreType.Items.Add(string.Empty);
|
||||||
|
|
||||||
|
txtAddress.ReadOnly = true;
|
||||||
|
if (vmessItem != null)
|
||||||
{
|
{
|
||||||
BindingServer();
|
BindingServer();
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
vmessItem = new VmessItem();
|
||||||
|
vmessItem.groupId = groupId;
|
||||||
ClearServer();
|
ClearServer();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -30,10 +39,17 @@ namespace v2rayN.Forms
|
|||||||
/// </summary>
|
/// </summary>
|
||||||
private void BindingServer()
|
private void BindingServer()
|
||||||
{
|
{
|
||||||
vmessItem = config.vmess[EditIndex];
|
|
||||||
txtRemarks.Text = vmessItem.remarks;
|
txtRemarks.Text = vmessItem.remarks;
|
||||||
txtAddress.Text = vmessItem.address;
|
txtAddress.Text = vmessItem.address;
|
||||||
txtAddress.ReadOnly = true;
|
|
||||||
|
if (vmessItem.coreType == null)
|
||||||
|
{
|
||||||
|
cmbCoreType.Text = string.Empty;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
cmbCoreType.Text = vmessItem.coreType.ToString();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@@ -53,9 +69,22 @@ namespace v2rayN.Forms
|
|||||||
UI.Show(UIRes.I18N("PleaseFillRemarks"));
|
UI.Show(UIRes.I18N("PleaseFillRemarks"));
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
if (Utils.IsNullOrEmpty(txtAddress.Text))
|
||||||
|
{
|
||||||
|
UI.Show(UIRes.I18N("FillServerAddressCustom"));
|
||||||
|
return;
|
||||||
|
}
|
||||||
vmessItem.remarks = remarks;
|
vmessItem.remarks = remarks;
|
||||||
|
if (Utils.IsNullOrEmpty(cmbCoreType.Text))
|
||||||
|
{
|
||||||
|
vmessItem.coreType = null;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
vmessItem.coreType = (ECoreType)Enum.Parse(typeof(ECoreType), cmbCoreType.Text);
|
||||||
|
}
|
||||||
|
|
||||||
if (ConfigHandler.EditCustomServer(ref config, vmessItem, EditIndex) == 0)
|
if (ConfigHandler.EditCustomServer(ref config, vmessItem) == 0)
|
||||||
{
|
{
|
||||||
this.DialogResult = DialogResult.OK;
|
this.DialogResult = DialogResult.OK;
|
||||||
}
|
}
|
||||||
@@ -67,7 +96,60 @@ namespace v2rayN.Forms
|
|||||||
|
|
||||||
private void btnClose_Click(object sender, EventArgs e)
|
private void btnClose_Click(object sender, EventArgs e)
|
||||||
{
|
{
|
||||||
this.DialogResult = DialogResult.Cancel;
|
if (Utils.IsNullOrEmpty(vmessItem.indexId))
|
||||||
|
{
|
||||||
|
this.DialogResult = DialogResult.Cancel;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
this.DialogResult = DialogResult.OK;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private void btnBrowse_Click(object sender, EventArgs e)
|
||||||
|
{
|
||||||
|
UI.Show(UIRes.I18N("CustomServerTips"));
|
||||||
|
|
||||||
|
OpenFileDialog fileDialog = new OpenFileDialog
|
||||||
|
{
|
||||||
|
Multiselect = false,
|
||||||
|
Filter = "Config|*.json|YAML|*.yaml|All|*.*"
|
||||||
|
};
|
||||||
|
if (fileDialog.ShowDialog() != DialogResult.OK)
|
||||||
|
{
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
string fileName = fileDialog.FileName;
|
||||||
|
if (Utils.IsNullOrEmpty(fileName))
|
||||||
|
{
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
vmessItem.address = fileName;
|
||||||
|
vmessItem.remarks = txtRemarks.Text;
|
||||||
|
|
||||||
|
if (ConfigHandler.AddCustomServer(ref config, vmessItem, false) == 0)
|
||||||
|
{
|
||||||
|
BindingServer();
|
||||||
|
UI.Show(UIRes.I18N("SuccessfullyImportedCustomServer"));
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
UI.ShowWarning(UIRes.I18N("FailedImportedCustomServer"));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private void btnEdit_Click(object sender, EventArgs e)
|
||||||
|
{
|
||||||
|
var address = txtAddress.Text;
|
||||||
|
if (Utils.IsNullOrEmpty(address))
|
||||||
|
{
|
||||||
|
UI.Show(UIRes.I18N("FillServerAddressCustom"));
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
address = Path.Combine(Utils.GetConfigPath(), address);
|
||||||
|
Process.Start(address);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -117,74 +117,161 @@
|
|||||||
<resheader name="writer">
|
<resheader name="writer">
|
||||||
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||||
</resheader>
|
</resheader>
|
||||||
<assembly alias="System.Windows.Forms" name="System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
|
|
||||||
<assembly alias="mscorlib" name="mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
|
|
||||||
<assembly alias="System.Drawing" name="System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
|
<assembly alias="System.Drawing" name="System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
|
||||||
<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>611, 271</value>
|
|
||||||
</data>
|
|
||||||
<data name="$this.Localizable" type="System.Boolean, mscorlib">
|
|
||||||
<value>True</value>
|
|
||||||
</data>
|
|
||||||
<data name="$this.Text" xml:space="preserve">
|
|
||||||
<value>Edit custom configuration server</value>
|
|
||||||
</data>
|
|
||||||
<data name="btnClose.Location" type="System.Drawing.Point, System.Drawing">
|
<data name="btnClose.Location" type="System.Drawing.Point, System.Drawing">
|
||||||
<value>396, 17</value>
|
<value>450, 17</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="btnClose.Size" type="System.Drawing.Size, System.Drawing">
|
<data name="btnClose.Size" type="System.Drawing.Size, System.Drawing">
|
||||||
<value>75, 23</value>
|
<value>75, 23</value>
|
||||||
</data>
|
</data>
|
||||||
|
<assembly alias="mscorlib" name="mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
|
||||||
<data name="btnClose.TabIndex" type="System.Int32, mscorlib">
|
<data name="btnClose.TabIndex" type="System.Int32, mscorlib">
|
||||||
<value>4</value>
|
<value>4</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="btnClose.Text" xml:space="preserve">
|
<data name="btnClose.Text" xml:space="preserve">
|
||||||
<value>&Cancel</value>
|
<value>&Cancel</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="btnOK.Location" type="System.Drawing.Point, System.Drawing">
|
<data name=">>btnClose.Name" xml:space="preserve">
|
||||||
<value>303, 17</value>
|
<value>btnClose</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="btnOK.Size" type="System.Drawing.Size, System.Drawing">
|
<data name=">>btnClose.Type" xml:space="preserve">
|
||||||
<value>75, 23</value>
|
<value>System.Windows.Forms.Button, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="btnOK.TabIndex" type="System.Int32, mscorlib">
|
<data name=">>btnClose.Parent" xml:space="preserve">
|
||||||
<value>5</value>
|
<value>panel2</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="btnOK.Text" xml:space="preserve">
|
<data name=">>btnClose.ZOrder" xml:space="preserve">
|
||||||
<value>&OK</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, 10</value>
|
|
||||||
</data>
|
|
||||||
<data name="groupBox1.Size" type="System.Drawing.Size, System.Drawing">
|
|
||||||
<value>611, 201</value>
|
|
||||||
</data>
|
|
||||||
<data name="groupBox1.TabIndex" type="System.Int32, mscorlib">
|
|
||||||
<value>3</value>
|
|
||||||
</data>
|
|
||||||
<data name="groupBox1.Text" xml:space="preserve">
|
|
||||||
<value>Server</value>
|
|
||||||
</data>
|
|
||||||
<data name="label1.AutoSize" type="System.Boolean, mscorlib">
|
|
||||||
<value>True</value>
|
|
||||||
</data>
|
|
||||||
<data name="label1.Location" type="System.Drawing.Point, System.Drawing">
|
|
||||||
<value>12, 62</value>
|
|
||||||
</data>
|
|
||||||
<data name="label1.Size" type="System.Drawing.Size, System.Drawing">
|
|
||||||
<value>83, 12</value>
|
|
||||||
</data>
|
|
||||||
<data name="label1.TabIndex" type="System.Int32, mscorlib">
|
|
||||||
<value>0</value>
|
<value>0</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="label1.Text" xml:space="preserve">
|
<assembly alias="System.Windows.Forms" name="System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
|
||||||
<value>Address</value>
|
<data name="btnEdit.ImeMode" type="System.Windows.Forms.ImeMode, System.Windows.Forms">
|
||||||
|
<value>NoControl</value>
|
||||||
|
</data>
|
||||||
|
<data name="btnEdit.Location" type="System.Drawing.Point, System.Drawing">
|
||||||
|
<value>208, 110</value>
|
||||||
|
</data>
|
||||||
|
<data name="btnEdit.Size" type="System.Drawing.Size, System.Drawing">
|
||||||
|
<value>75, 23</value>
|
||||||
|
</data>
|
||||||
|
<data name="btnEdit.TabIndex" type="System.Int32, mscorlib">
|
||||||
|
<value>43</value>
|
||||||
|
</data>
|
||||||
|
<data name="btnEdit.Text" xml:space="preserve">
|
||||||
|
<value>&Edit</value>
|
||||||
|
</data>
|
||||||
|
<data name=">>btnEdit.Name" xml:space="preserve">
|
||||||
|
<value>btnEdit</value>
|
||||||
|
</data>
|
||||||
|
<data name=">>btnEdit.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=">>btnEdit.Parent" xml:space="preserve">
|
||||||
|
<value>groupBox1</value>
|
||||||
|
</data>
|
||||||
|
<data name=">>btnEdit.ZOrder" xml:space="preserve">
|
||||||
|
<value>0</value>
|
||||||
|
</data>
|
||||||
|
<data name="cmbCoreType.Location" type="System.Drawing.Point, System.Drawing">
|
||||||
|
<value>127, 157</value>
|
||||||
|
</data>
|
||||||
|
<data name="cmbCoreType.Size" type="System.Drawing.Size, System.Drawing">
|
||||||
|
<value>89, 20</value>
|
||||||
|
</data>
|
||||||
|
<data name="cmbCoreType.TabIndex" type="System.Int32, mscorlib">
|
||||||
|
<value>41</value>
|
||||||
|
</data>
|
||||||
|
<data name=">>cmbCoreType.Name" xml:space="preserve">
|
||||||
|
<value>cmbCoreType</value>
|
||||||
|
</data>
|
||||||
|
<data name=">>cmbCoreType.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=">>cmbCoreType.Parent" xml:space="preserve">
|
||||||
|
<value>groupBox1</value>
|
||||||
|
</data>
|
||||||
|
<data name=">>cmbCoreType.ZOrder" xml:space="preserve">
|
||||||
|
<value>1</value>
|
||||||
|
</data>
|
||||||
|
<data name="labCoreType.AutoSize" type="System.Boolean, mscorlib">
|
||||||
|
<value>True</value>
|
||||||
|
</data>
|
||||||
|
<data name="labCoreType.ImeMode" type="System.Windows.Forms.ImeMode, System.Windows.Forms">
|
||||||
|
<value>NoControl</value>
|
||||||
|
</data>
|
||||||
|
<data name="labCoreType.Location" type="System.Drawing.Point, System.Drawing">
|
||||||
|
<value>12, 161</value>
|
||||||
|
</data>
|
||||||
|
<data name="labCoreType.Size" type="System.Drawing.Size, System.Drawing">
|
||||||
|
<value>59, 12</value>
|
||||||
|
</data>
|
||||||
|
<data name="labCoreType.TabIndex" type="System.Int32, mscorlib">
|
||||||
|
<value>42</value>
|
||||||
|
</data>
|
||||||
|
<data name="labCoreType.Text" xml:space="preserve">
|
||||||
|
<value>Core Type</value>
|
||||||
|
</data>
|
||||||
|
<data name=">>labCoreType.Name" xml:space="preserve">
|
||||||
|
<value>labCoreType</value>
|
||||||
|
</data>
|
||||||
|
<data name=">>labCoreType.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=">>labCoreType.Parent" xml:space="preserve">
|
||||||
|
<value>groupBox1</value>
|
||||||
|
</data>
|
||||||
|
<data name=">>labCoreType.ZOrder" xml:space="preserve">
|
||||||
|
<value>2</value>
|
||||||
|
</data>
|
||||||
|
<data name="btnBrowse.ImeMode" type="System.Windows.Forms.ImeMode, System.Windows.Forms">
|
||||||
|
<value>NoControl</value>
|
||||||
|
</data>
|
||||||
|
<data name="btnBrowse.Location" type="System.Drawing.Point, System.Drawing">
|
||||||
|
<value>127, 110</value>
|
||||||
|
</data>
|
||||||
|
<data name="btnBrowse.Size" type="System.Drawing.Size, System.Drawing">
|
||||||
|
<value>75, 23</value>
|
||||||
|
</data>
|
||||||
|
<data name="btnBrowse.TabIndex" type="System.Int32, mscorlib">
|
||||||
|
<value>40</value>
|
||||||
|
</data>
|
||||||
|
<data name="btnBrowse.Text" xml:space="preserve">
|
||||||
|
<value>&Browse</value>
|
||||||
|
</data>
|
||||||
|
<data name=">>btnBrowse.Name" xml:space="preserve">
|
||||||
|
<value>btnBrowse</value>
|
||||||
|
</data>
|
||||||
|
<data name=">>btnBrowse.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=">>btnBrowse.Parent" xml:space="preserve">
|
||||||
|
<value>groupBox1</value>
|
||||||
|
</data>
|
||||||
|
<data name=">>btnBrowse.ZOrder" xml:space="preserve">
|
||||||
|
<value>3</value>
|
||||||
|
</data>
|
||||||
|
<data name="txtAddress.Location" type="System.Drawing.Point, System.Drawing">
|
||||||
|
<value>127, 62</value>
|
||||||
|
</data>
|
||||||
|
<data name="txtAddress.Multiline" type="System.Boolean, mscorlib">
|
||||||
|
<value>True</value>
|
||||||
|
</data>
|
||||||
|
<data name="txtAddress.Size" type="System.Drawing.Size, System.Drawing">
|
||||||
|
<value>432, 37</value>
|
||||||
|
</data>
|
||||||
|
<data name="txtAddress.TabIndex" type="System.Int32, mscorlib">
|
||||||
|
<value>23</value>
|
||||||
|
</data>
|
||||||
|
<data name=">>txtAddress.Name" xml:space="preserve">
|
||||||
|
<value>txtAddress</value>
|
||||||
|
</data>
|
||||||
|
<data name=">>txtAddress.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=">>txtAddress.Parent" xml:space="preserve">
|
||||||
|
<value>groupBox1</value>
|
||||||
|
</data>
|
||||||
|
<data name=">>txtAddress.ZOrder" xml:space="preserve">
|
||||||
|
<value>4</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="label13.AutoSize" type="System.Boolean, mscorlib">
|
<data name="label13.AutoSize" type="System.Boolean, mscorlib">
|
||||||
<value>True</value>
|
<value>True</value>
|
||||||
@@ -201,6 +288,39 @@
|
|||||||
<data name="label13.Text" xml:space="preserve">
|
<data name="label13.Text" xml:space="preserve">
|
||||||
<value>* Fill in manually</value>
|
<value>* Fill in manually</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name=">>label13.Name" xml:space="preserve">
|
||||||
|
<value>label13</value>
|
||||||
|
</data>
|
||||||
|
<data name=">>label13.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=">>label13.Parent" xml:space="preserve">
|
||||||
|
<value>groupBox1</value>
|
||||||
|
</data>
|
||||||
|
<data name=">>label13.ZOrder" xml:space="preserve">
|
||||||
|
<value>5</value>
|
||||||
|
</data>
|
||||||
|
<data name="txtRemarks.Location" type="System.Drawing.Point, System.Drawing">
|
||||||
|
<value>127, 23</value>
|
||||||
|
</data>
|
||||||
|
<data name="txtRemarks.Size" type="System.Drawing.Size, System.Drawing">
|
||||||
|
<value>313, 21</value>
|
||||||
|
</data>
|
||||||
|
<data name="txtRemarks.TabIndex" type="System.Int32, mscorlib">
|
||||||
|
<value>11</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>groupBox1</value>
|
||||||
|
</data>
|
||||||
|
<data name=">>txtRemarks.ZOrder" xml:space="preserve">
|
||||||
|
<value>6</value>
|
||||||
|
</data>
|
||||||
<data name="label6.AutoSize" type="System.Boolean, mscorlib">
|
<data name="label6.AutoSize" type="System.Boolean, mscorlib">
|
||||||
<value>True</value>
|
<value>True</value>
|
||||||
</data>
|
</data>
|
||||||
@@ -208,7 +328,7 @@
|
|||||||
<value>12, 27</value>
|
<value>12, 27</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="label6.Size" type="System.Drawing.Size, System.Drawing">
|
<data name="label6.Size" type="System.Drawing.Size, System.Drawing">
|
||||||
<value>83, 12</value>
|
<value>95, 12</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="label6.TabIndex" type="System.Int32, mscorlib">
|
<data name="label6.TabIndex" type="System.Int32, mscorlib">
|
||||||
<value>10</value>
|
<value>10</value>
|
||||||
@@ -216,6 +336,132 @@
|
|||||||
<data name="label6.Text" xml:space="preserve">
|
<data name="label6.Text" xml:space="preserve">
|
||||||
<value>Alias (remarks)</value>
|
<value>Alias (remarks)</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name=">>label6.Name" xml:space="preserve">
|
||||||
|
<value>label6</value>
|
||||||
|
</data>
|
||||||
|
<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=">>label6.Parent" xml:space="preserve">
|
||||||
|
<value>groupBox1</value>
|
||||||
|
</data>
|
||||||
|
<data name=">>label6.ZOrder" xml:space="preserve">
|
||||||
|
<value>7</value>
|
||||||
|
</data>
|
||||||
|
<data name="label1.AutoSize" type="System.Boolean, mscorlib">
|
||||||
|
<value>True</value>
|
||||||
|
</data>
|
||||||
|
<data name="label1.Location" type="System.Drawing.Point, System.Drawing">
|
||||||
|
<value>12, 62</value>
|
||||||
|
</data>
|
||||||
|
<data name="label1.Size" type="System.Drawing.Size, System.Drawing">
|
||||||
|
<value>47, 12</value>
|
||||||
|
</data>
|
||||||
|
<data name="label1.TabIndex" type="System.Int32, mscorlib">
|
||||||
|
<value>0</value>
|
||||||
|
</data>
|
||||||
|
<data name="label1.Text" xml:space="preserve">
|
||||||
|
<value>Address</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>groupBox1</value>
|
||||||
|
</data>
|
||||||
|
<data name=">>label1.ZOrder" xml:space="preserve">
|
||||||
|
<value>8</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, 10</value>
|
||||||
|
</data>
|
||||||
|
<data name="groupBox1.Size" type="System.Drawing.Size, System.Drawing">
|
||||||
|
<value>611, 189</value>
|
||||||
|
</data>
|
||||||
|
<data name="groupBox1.TabIndex" type="System.Int32, mscorlib">
|
||||||
|
<value>3</value>
|
||||||
|
</data>
|
||||||
|
<data name="groupBox1.Text" xml:space="preserve">
|
||||||
|
<value>Server</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>$this</value>
|
||||||
|
</data>
|
||||||
|
<data name=">>groupBox1.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>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, 199</value>
|
||||||
|
</data>
|
||||||
|
<data name="panel2.Size" type="System.Drawing.Size, System.Drawing">
|
||||||
|
<value>611, 60</value>
|
||||||
|
</data>
|
||||||
|
<data name="panel2.TabIndex" type="System.Int32, mscorlib">
|
||||||
|
<value>7</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="btnOK.Location" type="System.Drawing.Point, System.Drawing">
|
||||||
|
<value>357, 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="panel1.Dock" type="System.Windows.Forms.DockStyle, System.Windows.Forms">
|
<data name="panel1.Dock" type="System.Windows.Forms.DockStyle, System.Windows.Forms">
|
||||||
<value>Top</value>
|
<value>Top</value>
|
||||||
</data>
|
</data>
|
||||||
@@ -228,37 +474,34 @@
|
|||||||
<data name="panel1.TabIndex" type="System.Int32, mscorlib">
|
<data name="panel1.TabIndex" type="System.Int32, mscorlib">
|
||||||
<value>6</value>
|
<value>6</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="panel2.Dock" type="System.Windows.Forms.DockStyle, System.Windows.Forms">
|
<data name=">>panel1.Name" xml:space="preserve">
|
||||||
<value>Bottom</value>
|
<value>panel1</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="panel2.Location" type="System.Drawing.Point, System.Drawing">
|
<data name=">>panel1.Type" xml:space="preserve">
|
||||||
<value>0, 211</value>
|
<value>System.Windows.Forms.Panel, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="panel2.Size" type="System.Drawing.Size, System.Drawing">
|
<data name=">>panel1.Parent" xml:space="preserve">
|
||||||
<value>611, 60</value>
|
<value>$this</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="panel2.TabIndex" type="System.Int32, mscorlib">
|
<data name=">>panel1.ZOrder" xml:space="preserve">
|
||||||
<value>7</value>
|
<value>2</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="txtAddress.Location" type="System.Drawing.Point, System.Drawing">
|
<metadata name="$this.Localizable" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||||
<value>127, 62</value>
|
|
||||||
</data>
|
|
||||||
<data name="txtAddress.Multiline" type="System.Boolean, mscorlib">
|
|
||||||
<value>True</value>
|
<value>True</value>
|
||||||
|
</metadata>
|
||||||
|
<data name="$this.AutoScaleDimensions" type="System.Drawing.SizeF, System.Drawing">
|
||||||
|
<value>6, 12</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="txtAddress.Size" type="System.Drawing.Size, System.Drawing">
|
<data name="$this.ClientSize" type="System.Drawing.Size, System.Drawing">
|
||||||
<value>432, 104</value>
|
<value>611, 259</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="txtAddress.TabIndex" type="System.Int32, mscorlib">
|
<data name="$this.Text" xml:space="preserve">
|
||||||
<value>23</value>
|
<value>Custom configuration server</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="txtRemarks.Location" type="System.Drawing.Point, System.Drawing">
|
<data name=">>$this.Name" xml:space="preserve">
|
||||||
<value>127, 23</value>
|
<value>AddServer2Form</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="txtRemarks.Size" type="System.Drawing.Size, System.Drawing">
|
<data name=">>$this.Type" xml:space="preserve">
|
||||||
<value>313, 21</value>
|
<value>v2rayN.Forms.BaseServerForm, v2rayN, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null</value>
|
||||||
</data>
|
|
||||||
<data name="txtRemarks.TabIndex" type="System.Int32, mscorlib">
|
|
||||||
<value>11</value>
|
|
||||||
</data>
|
</data>
|
||||||
</root>
|
</root>
|
||||||
@@ -118,17 +118,26 @@
|
|||||||
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||||
</resheader>
|
</resheader>
|
||||||
<data name="$this.Text" xml:space="preserve">
|
<data name="$this.Text" xml:space="preserve">
|
||||||
<value>编辑自定义配置服务器</value>
|
<value>自定义配置</value>
|
||||||
|
</data>
|
||||||
|
<data name="btnBrowse.Text" xml:space="preserve">
|
||||||
|
<value>浏览(&B)</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="btnClose.Text" xml:space="preserve">
|
<data name="btnClose.Text" xml:space="preserve">
|
||||||
<value>取消(&C)</value>
|
<value>取消(&C)</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="btnEdit.Text" xml:space="preserve">
|
||||||
|
<value>编辑(&E)</value>
|
||||||
|
</data>
|
||||||
<data name="btnOK.Text" xml:space="preserve">
|
<data name="btnOK.Text" xml:space="preserve">
|
||||||
<value>确定(&O)</value>
|
<value>确定(&O)</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="groupBox1.Text" xml:space="preserve">
|
<data name="groupBox1.Text" xml:space="preserve">
|
||||||
<value>服务器</value>
|
<value>服务器</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="labCoreType.Text" xml:space="preserve">
|
||||||
|
<value>Core类型</value>
|
||||||
|
</data>
|
||||||
<data name="label1.Text" xml:space="preserve">
|
<data name="label1.Text" xml:space="preserve">
|
||||||
<value>地址(address)</value>
|
<value>地址(address)</value>
|
||||||
</data>
|
</data>
|
||||||
|
|||||||
198
v2rayN/v2rayN/Forms/AddServer3Form.Designer.cs
generated
198
v2rayN/v2rayN/Forms/AddServer3Form.Designer.cs
generated
@@ -1,198 +0,0 @@
|
|||||||
namespace v2rayN.Forms
|
|
||||||
{
|
|
||||||
partial class AddServer3Form
|
|
||||||
{
|
|
||||||
/// <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(AddServer3Form));
|
|
||||||
this.btnClose = new System.Windows.Forms.Button();
|
|
||||||
this.groupBox1 = new System.Windows.Forms.GroupBox();
|
|
||||||
this.label13 = new System.Windows.Forms.Label();
|
|
||||||
this.cmbSecurity = new System.Windows.Forms.ComboBox();
|
|
||||||
this.txtRemarks = new System.Windows.Forms.TextBox();
|
|
||||||
this.label6 = new System.Windows.Forms.Label();
|
|
||||||
this.label5 = new System.Windows.Forms.Label();
|
|
||||||
this.txtId = new System.Windows.Forms.TextBox();
|
|
||||||
this.label3 = new System.Windows.Forms.Label();
|
|
||||||
this.txtPort = new System.Windows.Forms.TextBox();
|
|
||||||
this.label2 = new System.Windows.Forms.Label();
|
|
||||||
this.txtAddress = new System.Windows.Forms.TextBox();
|
|
||||||
this.label1 = new System.Windows.Forms.Label();
|
|
||||||
this.panel2 = new System.Windows.Forms.Panel();
|
|
||||||
this.btnOK = new System.Windows.Forms.Button();
|
|
||||||
this.panel1 = new System.Windows.Forms.Panel();
|
|
||||||
this.groupBox1.SuspendLayout();
|
|
||||||
this.panel2.SuspendLayout();
|
|
||||||
this.SuspendLayout();
|
|
||||||
//
|
|
||||||
// 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);
|
|
||||||
//
|
|
||||||
// groupBox1
|
|
||||||
//
|
|
||||||
this.groupBox1.Controls.Add(this.label13);
|
|
||||||
this.groupBox1.Controls.Add(this.cmbSecurity);
|
|
||||||
this.groupBox1.Controls.Add(this.txtRemarks);
|
|
||||||
this.groupBox1.Controls.Add(this.label6);
|
|
||||||
this.groupBox1.Controls.Add(this.label5);
|
|
||||||
this.groupBox1.Controls.Add(this.txtId);
|
|
||||||
this.groupBox1.Controls.Add(this.label3);
|
|
||||||
this.groupBox1.Controls.Add(this.txtPort);
|
|
||||||
this.groupBox1.Controls.Add(this.label2);
|
|
||||||
this.groupBox1.Controls.Add(this.txtAddress);
|
|
||||||
this.groupBox1.Controls.Add(this.label1);
|
|
||||||
resources.ApplyResources(this.groupBox1, "groupBox1");
|
|
||||||
this.groupBox1.Name = "groupBox1";
|
|
||||||
this.groupBox1.TabStop = false;
|
|
||||||
//
|
|
||||||
// label13
|
|
||||||
//
|
|
||||||
resources.ApplyResources(this.label13, "label13");
|
|
||||||
this.label13.Name = "label13";
|
|
||||||
//
|
|
||||||
// cmbSecurity
|
|
||||||
//
|
|
||||||
this.cmbSecurity.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList;
|
|
||||||
this.cmbSecurity.FormattingEnabled = true;
|
|
||||||
this.cmbSecurity.Items.AddRange(new object[] {
|
|
||||||
resources.GetString("cmbSecurity.Items"),
|
|
||||||
resources.GetString("cmbSecurity.Items1"),
|
|
||||||
resources.GetString("cmbSecurity.Items2"),
|
|
||||||
resources.GetString("cmbSecurity.Items3"),
|
|
||||||
resources.GetString("cmbSecurity.Items4"),
|
|
||||||
resources.GetString("cmbSecurity.Items5")});
|
|
||||||
resources.ApplyResources(this.cmbSecurity, "cmbSecurity");
|
|
||||||
this.cmbSecurity.Name = "cmbSecurity";
|
|
||||||
//
|
|
||||||
// txtRemarks
|
|
||||||
//
|
|
||||||
resources.ApplyResources(this.txtRemarks, "txtRemarks");
|
|
||||||
this.txtRemarks.Name = "txtRemarks";
|
|
||||||
//
|
|
||||||
// label6
|
|
||||||
//
|
|
||||||
resources.ApplyResources(this.label6, "label6");
|
|
||||||
this.label6.Name = "label6";
|
|
||||||
//
|
|
||||||
// label5
|
|
||||||
//
|
|
||||||
resources.ApplyResources(this.label5, "label5");
|
|
||||||
this.label5.Name = "label5";
|
|
||||||
//
|
|
||||||
// txtId
|
|
||||||
//
|
|
||||||
resources.ApplyResources(this.txtId, "txtId");
|
|
||||||
this.txtId.Name = "txtId";
|
|
||||||
//
|
|
||||||
// label3
|
|
||||||
//
|
|
||||||
resources.ApplyResources(this.label3, "label3");
|
|
||||||
this.label3.Name = "label3";
|
|
||||||
//
|
|
||||||
// txtPort
|
|
||||||
//
|
|
||||||
resources.ApplyResources(this.txtPort, "txtPort");
|
|
||||||
this.txtPort.Name = "txtPort";
|
|
||||||
//
|
|
||||||
// label2
|
|
||||||
//
|
|
||||||
resources.ApplyResources(this.label2, "label2");
|
|
||||||
this.label2.Name = "label2";
|
|
||||||
//
|
|
||||||
// txtAddress
|
|
||||||
//
|
|
||||||
resources.ApplyResources(this.txtAddress, "txtAddress");
|
|
||||||
this.txtAddress.Name = "txtAddress";
|
|
||||||
//
|
|
||||||
// label1
|
|
||||||
//
|
|
||||||
resources.ApplyResources(this.label1, "label1");
|
|
||||||
this.label1.Name = "label1";
|
|
||||||
//
|
|
||||||
// panel2
|
|
||||||
//
|
|
||||||
this.panel2.Controls.Add(this.btnClose);
|
|
||||||
this.panel2.Controls.Add(this.btnOK);
|
|
||||||
resources.ApplyResources(this.panel2, "panel2");
|
|
||||||
this.panel2.Name = "panel2";
|
|
||||||
//
|
|
||||||
// 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.Name = "panel1";
|
|
||||||
//
|
|
||||||
// AddServer3Form
|
|
||||||
//
|
|
||||||
resources.ApplyResources(this, "$this");
|
|
||||||
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
|
|
||||||
this.CancelButton = this.btnClose;
|
|
||||||
this.Controls.Add(this.groupBox1);
|
|
||||||
this.Controls.Add(this.panel2);
|
|
||||||
this.Controls.Add(this.panel1);
|
|
||||||
this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedSingle;
|
|
||||||
this.MinimizeBox = true;
|
|
||||||
this.Name = "AddServer3Form";
|
|
||||||
this.Load += new System.EventHandler(this.AddServer3Form_Load);
|
|
||||||
this.groupBox1.ResumeLayout(false);
|
|
||||||
this.groupBox1.PerformLayout();
|
|
||||||
this.panel2.ResumeLayout(false);
|
|
||||||
this.ResumeLayout(false);
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
#endregion
|
|
||||||
|
|
||||||
private System.Windows.Forms.GroupBox groupBox1;
|
|
||||||
private System.Windows.Forms.Button btnClose;
|
|
||||||
private System.Windows.Forms.Button btnOK;
|
|
||||||
private System.Windows.Forms.TextBox txtRemarks;
|
|
||||||
private System.Windows.Forms.Label label6;
|
|
||||||
private System.Windows.Forms.Label label5;
|
|
||||||
private System.Windows.Forms.TextBox txtId;
|
|
||||||
private System.Windows.Forms.Label label3;
|
|
||||||
private System.Windows.Forms.TextBox txtPort;
|
|
||||||
private System.Windows.Forms.Label label2;
|
|
||||||
private System.Windows.Forms.TextBox txtAddress;
|
|
||||||
private System.Windows.Forms.Label label1;
|
|
||||||
private System.Windows.Forms.ComboBox cmbSecurity;
|
|
||||||
private System.Windows.Forms.Panel panel1;
|
|
||||||
private System.Windows.Forms.Panel panel2;
|
|
||||||
private System.Windows.Forms.Label label13;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@@ -1,106 +0,0 @@
|
|||||||
using System;
|
|
||||||
using System.Windows.Forms;
|
|
||||||
using v2rayN.Handler;
|
|
||||||
using v2rayN.Mode;
|
|
||||||
|
|
||||||
namespace v2rayN.Forms
|
|
||||||
{
|
|
||||||
public partial class AddServer3Form : BaseServerForm
|
|
||||||
{
|
|
||||||
|
|
||||||
public AddServer3Form()
|
|
||||||
{
|
|
||||||
InitializeComponent();
|
|
||||||
}
|
|
||||||
|
|
||||||
private void AddServer3Form_Load(object sender, EventArgs e)
|
|
||||||
{
|
|
||||||
if (EditIndex >= 0)
|
|
||||||
{
|
|
||||||
vmessItem = config.vmess[EditIndex];
|
|
||||||
BindingServer();
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
vmessItem = new VmessItem();
|
|
||||||
ClearServer();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
/// <summary>
|
|
||||||
/// 绑定数据
|
|
||||||
/// </summary>
|
|
||||||
private void BindingServer()
|
|
||||||
{
|
|
||||||
|
|
||||||
txtAddress.Text = vmessItem.address;
|
|
||||||
txtPort.Text = vmessItem.port.ToString();
|
|
||||||
txtId.Text = vmessItem.id;
|
|
||||||
cmbSecurity.Text = vmessItem.security;
|
|
||||||
txtRemarks.Text = vmessItem.remarks;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
/// <summary>
|
|
||||||
/// 清除设置
|
|
||||||
/// </summary>
|
|
||||||
private void ClearServer()
|
|
||||||
{
|
|
||||||
txtAddress.Text = "";
|
|
||||||
txtPort.Text = "";
|
|
||||||
txtId.Text = "";
|
|
||||||
cmbSecurity.Text = Global.DefaultSecurity;
|
|
||||||
txtRemarks.Text = "";
|
|
||||||
}
|
|
||||||
|
|
||||||
private void btnOK_Click(object sender, EventArgs e)
|
|
||||||
{
|
|
||||||
string address = txtAddress.Text;
|
|
||||||
string port = txtPort.Text;
|
|
||||||
string id = txtId.Text;
|
|
||||||
string security = cmbSecurity.Text;
|
|
||||||
string remarks = txtRemarks.Text;
|
|
||||||
|
|
||||||
if (Utils.IsNullOrEmpty(address))
|
|
||||||
{
|
|
||||||
UI.Show(UIRes.I18N("FillServerAddress"));
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
if (Utils.IsNullOrEmpty(port) || !Utils.IsNumberic(port))
|
|
||||||
{
|
|
||||||
UI.Show(UIRes.I18N("FillCorrectServerPort"));
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
if (Utils.IsNullOrEmpty(id))
|
|
||||||
{
|
|
||||||
UI.Show(UIRes.I18N("FillPassword"));
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
if (Utils.IsNullOrEmpty(security))
|
|
||||||
{
|
|
||||||
UI.Show(UIRes.I18N("PleaseSelectEncryption"));
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
vmessItem.address = address;
|
|
||||||
vmessItem.port = Utils.ToInt(port);
|
|
||||||
vmessItem.id = id;
|
|
||||||
vmessItem.security = security;
|
|
||||||
vmessItem.remarks = remarks;
|
|
||||||
|
|
||||||
if (ConfigHandler.AddShadowsocksServer(ref config, vmessItem, EditIndex) == 0)
|
|
||||||
{
|
|
||||||
this.DialogResult = DialogResult.OK;
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
UI.ShowWarning(UIRes.I18N("OperationFailed"));
|
|
||||||
}
|
|
||||||
}
|
|
||||||
private void btnClose_Click(object sender, EventArgs e)
|
|
||||||
{
|
|
||||||
this.DialogResult = DialogResult.Cancel;
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@@ -1,552 +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.Drawing" name="System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
|
|
||||||
<data name="btnClose.Location" type="System.Drawing.Point, System.Drawing">
|
|
||||||
<value>396, 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="label13.AutoSize" type="System.Boolean, mscorlib">
|
|
||||||
<value>True</value>
|
|
||||||
</data>
|
|
||||||
<assembly alias="System.Windows.Forms" name="System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
|
|
||||||
<data name="label13.ImeMode" type="System.Windows.Forms.ImeMode, System.Windows.Forms">
|
|
||||||
<value>NoControl</value>
|
|
||||||
</data>
|
|
||||||
<data name="label13.Location" type="System.Drawing.Point, System.Drawing">
|
|
||||||
<value>426, 158</value>
|
|
||||||
</data>
|
|
||||||
<data name="label13.Size" type="System.Drawing.Size, System.Drawing">
|
|
||||||
<value>113, 12</value>
|
|
||||||
</data>
|
|
||||||
<data name="label13.TabIndex" type="System.Int32, mscorlib">
|
|
||||||
<value>22</value>
|
|
||||||
</data>
|
|
||||||
<data name="label13.Text" xml:space="preserve">
|
|
||||||
<value>* Fill in manually</value>
|
|
||||||
</data>
|
|
||||||
<data name=">>label13.Name" xml:space="preserve">
|
|
||||||
<value>label13</value>
|
|
||||||
</data>
|
|
||||||
<data name=">>label13.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=">>label13.Parent" xml:space="preserve">
|
|
||||||
<value>groupBox1</value>
|
|
||||||
</data>
|
|
||||||
<data name=">>label13.ZOrder" xml:space="preserve">
|
|
||||||
<value>0</value>
|
|
||||||
</data>
|
|
||||||
<data name="cmbSecurity.Items" xml:space="preserve">
|
|
||||||
<value>aes-256-gcm</value>
|
|
||||||
</data>
|
|
||||||
<data name="cmbSecurity.Items1" xml:space="preserve">
|
|
||||||
<value>aes-128-gcm</value>
|
|
||||||
</data>
|
|
||||||
<data name="cmbSecurity.Items2" xml:space="preserve">
|
|
||||||
<value>chacha20-poly1305</value>
|
|
||||||
</data>
|
|
||||||
<data name="cmbSecurity.Items3" xml:space="preserve">
|
|
||||||
<value>chacha20-ietf-poly1305</value>
|
|
||||||
</data>
|
|
||||||
<data name="cmbSecurity.Items4" xml:space="preserve">
|
|
||||||
<value>none</value>
|
|
||||||
</data>
|
|
||||||
<data name="cmbSecurity.Items5" xml:space="preserve">
|
|
||||||
<value>plain</value>
|
|
||||||
</data>
|
|
||||||
<data name="cmbSecurity.Location" type="System.Drawing.Point, System.Drawing">
|
|
||||||
<value>127, 123</value>
|
|
||||||
</data>
|
|
||||||
<data name="cmbSecurity.Size" type="System.Drawing.Size, System.Drawing">
|
|
||||||
<value>278, 20</value>
|
|
||||||
</data>
|
|
||||||
<data name="cmbSecurity.TabIndex" type="System.Int32, mscorlib">
|
|
||||||
<value>6</value>
|
|
||||||
</data>
|
|
||||||
<data name=">>cmbSecurity.Name" xml:space="preserve">
|
|
||||||
<value>cmbSecurity</value>
|
|
||||||
</data>
|
|
||||||
<data name=">>cmbSecurity.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=">>cmbSecurity.Parent" xml:space="preserve">
|
|
||||||
<value>groupBox1</value>
|
|
||||||
</data>
|
|
||||||
<data name=">>cmbSecurity.ZOrder" xml:space="preserve">
|
|
||||||
<value>1</value>
|
|
||||||
</data>
|
|
||||||
<data name="txtRemarks.Location" type="System.Drawing.Point, System.Drawing">
|
|
||||||
<value>127, 154</value>
|
|
||||||
</data>
|
|
||||||
<data name="txtRemarks.Size" type="System.Drawing.Size, System.Drawing">
|
|
||||||
<value>278, 21</value>
|
|
||||||
</data>
|
|
||||||
<data name="txtRemarks.TabIndex" type="System.Int32, mscorlib">
|
|
||||||
<value>11</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>groupBox1</value>
|
|
||||||
</data>
|
|
||||||
<data name=">>txtRemarks.ZOrder" xml:space="preserve">
|
|
||||||
<value>2</value>
|
|
||||||
</data>
|
|
||||||
<data name="label6.AutoSize" type="System.Boolean, mscorlib">
|
|
||||||
<value>True</value>
|
|
||||||
</data>
|
|
||||||
<data name="label6.Location" type="System.Drawing.Point, System.Drawing">
|
|
||||||
<value>12, 155</value>
|
|
||||||
</data>
|
|
||||||
<data name="label6.Size" type="System.Drawing.Size, System.Drawing">
|
|
||||||
<value>95, 12</value>
|
|
||||||
</data>
|
|
||||||
<data name="label6.TabIndex" type="System.Int32, mscorlib">
|
|
||||||
<value>10</value>
|
|
||||||
</data>
|
|
||||||
<data name="label6.Text" xml:space="preserve">
|
|
||||||
<value>Alias (remarks)</value>
|
|
||||||
</data>
|
|
||||||
<data name=">>label6.Name" xml:space="preserve">
|
|
||||||
<value>label6</value>
|
|
||||||
</data>
|
|
||||||
<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=">>label6.Parent" xml:space="preserve">
|
|
||||||
<value>groupBox1</value>
|
|
||||||
</data>
|
|
||||||
<data name=">>label6.ZOrder" xml:space="preserve">
|
|
||||||
<value>3</value>
|
|
||||||
</data>
|
|
||||||
<data name="label5.AutoSize" type="System.Boolean, mscorlib">
|
|
||||||
<value>True</value>
|
|
||||||
</data>
|
|
||||||
<data name="label5.Location" type="System.Drawing.Point, System.Drawing">
|
|
||||||
<value>12, 124</value>
|
|
||||||
</data>
|
|
||||||
<data name="label5.Size" type="System.Drawing.Size, System.Drawing">
|
|
||||||
<value>65, 12</value>
|
|
||||||
</data>
|
|
||||||
<data name="label5.TabIndex" type="System.Int32, mscorlib">
|
|
||||||
<value>8</value>
|
|
||||||
</data>
|
|
||||||
<data name="label5.Text" xml:space="preserve">
|
|
||||||
<value>Encryption</value>
|
|
||||||
</data>
|
|
||||||
<data name=">>label5.Name" xml:space="preserve">
|
|
||||||
<value>label5</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=">>label5.Parent" xml:space="preserve">
|
|
||||||
<value>groupBox1</value>
|
|
||||||
</data>
|
|
||||||
<data name=">>label5.ZOrder" xml:space="preserve">
|
|
||||||
<value>4</value>
|
|
||||||
</data>
|
|
||||||
<data name="txtId.Location" type="System.Drawing.Point, System.Drawing">
|
|
||||||
<value>127, 91</value>
|
|
||||||
</data>
|
|
||||||
<data name="txtId.Size" type="System.Drawing.Size, System.Drawing">
|
|
||||||
<value>278, 21</value>
|
|
||||||
</data>
|
|
||||||
<data name="txtId.TabIndex" type="System.Int32, mscorlib">
|
|
||||||
<value>5</value>
|
|
||||||
</data>
|
|
||||||
<data name=">>txtId.Name" xml:space="preserve">
|
|
||||||
<value>txtId</value>
|
|
||||||
</data>
|
|
||||||
<data name=">>txtId.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=">>txtId.Parent" xml:space="preserve">
|
|
||||||
<value>groupBox1</value>
|
|
||||||
</data>
|
|
||||||
<data name=">>txtId.ZOrder" xml:space="preserve">
|
|
||||||
<value>5</value>
|
|
||||||
</data>
|
|
||||||
<data name="label3.AutoSize" type="System.Boolean, mscorlib">
|
|
||||||
<value>True</value>
|
|
||||||
</data>
|
|
||||||
<data name="label3.Location" type="System.Drawing.Point, System.Drawing">
|
|
||||||
<value>12, 93</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>4</value>
|
|
||||||
</data>
|
|
||||||
<data name="label3.Text" xml:space="preserve">
|
|
||||||
<value>Password</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>groupBox1</value>
|
|
||||||
</data>
|
|
||||||
<data name=">>label3.ZOrder" xml:space="preserve">
|
|
||||||
<value>6</value>
|
|
||||||
</data>
|
|
||||||
<data name="txtPort.Location" type="System.Drawing.Point, System.Drawing">
|
|
||||||
<value>127, 59</value>
|
|
||||||
</data>
|
|
||||||
<data name="txtPort.Size" type="System.Drawing.Size, System.Drawing">
|
|
||||||
<value>194, 21</value>
|
|
||||||
</data>
|
|
||||||
<data name="txtPort.TabIndex" type="System.Int32, mscorlib">
|
|
||||||
<value>3</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>groupBox1</value>
|
|
||||||
</data>
|
|
||||||
<data name=">>txtPort.ZOrder" xml:space="preserve">
|
|
||||||
<value>7</value>
|
|
||||||
</data>
|
|
||||||
<data name="label2.AutoSize" type="System.Boolean, mscorlib">
|
|
||||||
<value>True</value>
|
|
||||||
</data>
|
|
||||||
<data name="label2.Location" type="System.Drawing.Point, System.Drawing">
|
|
||||||
<value>12, 62</value>
|
|
||||||
</data>
|
|
||||||
<data name="label2.Size" type="System.Drawing.Size, System.Drawing">
|
|
||||||
<value>71, 12</value>
|
|
||||||
</data>
|
|
||||||
<data name="label2.TabIndex" type="System.Int32, mscorlib">
|
|
||||||
<value>2</value>
|
|
||||||
</data>
|
|
||||||
<data name="label2.Text" xml:space="preserve">
|
|
||||||
<value>Server port</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>groupBox1</value>
|
|
||||||
</data>
|
|
||||||
<data name=">>label2.ZOrder" xml:space="preserve">
|
|
||||||
<value>8</value>
|
|
||||||
</data>
|
|
||||||
<data name="txtAddress.Location" type="System.Drawing.Point, System.Drawing">
|
|
||||||
<value>127, 27</value>
|
|
||||||
</data>
|
|
||||||
<data name="txtAddress.Size" type="System.Drawing.Size, System.Drawing">
|
|
||||||
<value>359, 21</value>
|
|
||||||
</data>
|
|
||||||
<data name="txtAddress.TabIndex" type="System.Int32, mscorlib">
|
|
||||||
<value>1</value>
|
|
||||||
</data>
|
|
||||||
<data name=">>txtAddress.Name" xml:space="preserve">
|
|
||||||
<value>txtAddress</value>
|
|
||||||
</data>
|
|
||||||
<data name=">>txtAddress.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=">>txtAddress.Parent" xml:space="preserve">
|
|
||||||
<value>groupBox1</value>
|
|
||||||
</data>
|
|
||||||
<data name=">>txtAddress.ZOrder" xml:space="preserve">
|
|
||||||
<value>9</value>
|
|
||||||
</data>
|
|
||||||
<data name="label1.AutoSize" type="System.Boolean, mscorlib">
|
|
||||||
<value>True</value>
|
|
||||||
</data>
|
|
||||||
<data name="label1.Location" type="System.Drawing.Point, System.Drawing">
|
|
||||||
<value>12, 31</value>
|
|
||||||
</data>
|
|
||||||
<data name="label1.Size" type="System.Drawing.Size, System.Drawing">
|
|
||||||
<value>89, 12</value>
|
|
||||||
</data>
|
|
||||||
<data name="label1.TabIndex" type="System.Int32, mscorlib">
|
|
||||||
<value>0</value>
|
|
||||||
</data>
|
|
||||||
<data name="label1.Text" xml:space="preserve">
|
|
||||||
<value>Server address</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>groupBox1</value>
|
|
||||||
</data>
|
|
||||||
<data name=">>label1.ZOrder" xml:space="preserve">
|
|
||||||
<value>10</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, 10</value>
|
|
||||||
</data>
|
|
||||||
<data name="groupBox1.Size" type="System.Drawing.Size, System.Drawing">
|
|
||||||
<value>547, 221</value>
|
|
||||||
</data>
|
|
||||||
<data name="groupBox1.TabIndex" type="System.Int32, mscorlib">
|
|
||||||
<value>3</value>
|
|
||||||
</data>
|
|
||||||
<data name="groupBox1.Text" xml:space="preserve">
|
|
||||||
<value>Server</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>$this</value>
|
|
||||||
</data>
|
|
||||||
<data name=">>groupBox1.ZOrder" xml:space="preserve">
|
|
||||||
<value>0</value>
|
|
||||||
</data>
|
|
||||||
<data name="btnOK.Location" type="System.Drawing.Point, System.Drawing">
|
|
||||||
<value>303, 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, 231</value>
|
|
||||||
</data>
|
|
||||||
<data name="panel2.Size" type="System.Drawing.Size, System.Drawing">
|
|
||||||
<value>547, 60</value>
|
|
||||||
</data>
|
|
||||||
<data name="panel2.TabIndex" type="System.Int32, mscorlib">
|
|
||||||
<value>7</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="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, 0</value>
|
|
||||||
</data>
|
|
||||||
<data name="panel1.Size" type="System.Drawing.Size, System.Drawing">
|
|
||||||
<value>547, 10</value>
|
|
||||||
</data>
|
|
||||||
<data name="panel1.TabIndex" type="System.Int32, mscorlib">
|
|
||||||
<value>6</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>2</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>547, 291</value>
|
|
||||||
</data>
|
|
||||||
<data name="$this.Text" xml:space="preserve">
|
|
||||||
<value>Edit or add a [Shadowsocks] server</value>
|
|
||||||
</data>
|
|
||||||
<data name=">>$this.Name" xml:space="preserve">
|
|
||||||
<value>AddServer3Form</value>
|
|
||||||
</data>
|
|
||||||
<data name=">>$this.Type" xml:space="preserve">
|
|
||||||
<value>v2rayN.Forms.BaseServerForm, v2rayN, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null</value>
|
|
||||||
</data>
|
|
||||||
</root>
|
|
||||||
@@ -1,96 +0,0 @@
|
|||||||
using System;
|
|
||||||
using System.Windows.Forms;
|
|
||||||
using v2rayN.Handler;
|
|
||||||
using v2rayN.Mode;
|
|
||||||
|
|
||||||
namespace v2rayN.Forms
|
|
||||||
{
|
|
||||||
public partial class AddServer4Form : BaseServerForm
|
|
||||||
{
|
|
||||||
|
|
||||||
public AddServer4Form()
|
|
||||||
{
|
|
||||||
InitializeComponent();
|
|
||||||
}
|
|
||||||
|
|
||||||
private void AddServer4Form_Load(object sender, EventArgs e)
|
|
||||||
{
|
|
||||||
if (EditIndex >= 0)
|
|
||||||
{
|
|
||||||
vmessItem = config.vmess[EditIndex];
|
|
||||||
BindingServer();
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
vmessItem = new VmessItem();
|
|
||||||
ClearServer();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
/// <summary>
|
|
||||||
/// 绑定数据
|
|
||||||
/// </summary>
|
|
||||||
private void BindingServer()
|
|
||||||
{
|
|
||||||
txtAddress.Text = vmessItem.address;
|
|
||||||
txtPort.Text = vmessItem.port.ToString();
|
|
||||||
txtId.Text = vmessItem.id;
|
|
||||||
txtSecurity.Text = vmessItem.security;
|
|
||||||
txtRemarks.Text = vmessItem.remarks;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
/// <summary>
|
|
||||||
/// 清除设置
|
|
||||||
/// </summary>
|
|
||||||
private void ClearServer()
|
|
||||||
{
|
|
||||||
txtAddress.Text = "";
|
|
||||||
txtPort.Text = "";
|
|
||||||
txtId.Text = "";
|
|
||||||
txtSecurity.Text = "";
|
|
||||||
txtRemarks.Text = "";
|
|
||||||
}
|
|
||||||
|
|
||||||
private void btnOK_Click(object sender, EventArgs e)
|
|
||||||
{
|
|
||||||
string address = txtAddress.Text;
|
|
||||||
string port = txtPort.Text;
|
|
||||||
string id = txtId.Text;
|
|
||||||
string security = txtSecurity.Text;
|
|
||||||
string remarks = txtRemarks.Text;
|
|
||||||
|
|
||||||
if (Utils.IsNullOrEmpty(address))
|
|
||||||
{
|
|
||||||
UI.Show(UIRes.I18N("FillServerAddress"));
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
if (Utils.IsNullOrEmpty(port) || !Utils.IsNumberic(port))
|
|
||||||
{
|
|
||||||
UI.Show(UIRes.I18N("FillCorrectServerPort"));
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
vmessItem.address = address;
|
|
||||||
vmessItem.port = Utils.ToInt(port);
|
|
||||||
vmessItem.id = id;
|
|
||||||
vmessItem.security = security;
|
|
||||||
vmessItem.remarks = remarks;
|
|
||||||
|
|
||||||
if (ConfigHandler.AddSocksServer(ref config, vmessItem, EditIndex) == 0)
|
|
||||||
{
|
|
||||||
this.DialogResult = DialogResult.OK;
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
UI.ShowWarning(UIRes.I18N("OperationFailed"));
|
|
||||||
}
|
|
||||||
}
|
|
||||||
private void btnClose_Click(object sender, EventArgs e)
|
|
||||||
{
|
|
||||||
this.DialogResult = DialogResult.Cancel;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
}
|
|
||||||
}
|
|
||||||
481
v2rayN/v2rayN/Forms/AddServer5Form.Designer.cs
generated
481
v2rayN/v2rayN/Forms/AddServer5Form.Designer.cs
generated
@@ -1,481 +0,0 @@
|
|||||||
namespace v2rayN.Forms
|
|
||||||
{
|
|
||||||
partial class AddServer5Form
|
|
||||||
{
|
|
||||||
/// <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(AddServer5Form));
|
|
||||||
this.btnClose = new System.Windows.Forms.Button();
|
|
||||||
this.groupBox1 = new System.Windows.Forms.GroupBox();
|
|
||||||
this.cmbFlow = new System.Windows.Forms.ComboBox();
|
|
||||||
this.label4 = new System.Windows.Forms.Label();
|
|
||||||
this.btnGUID = new System.Windows.Forms.Button();
|
|
||||||
this.label13 = new System.Windows.Forms.Label();
|
|
||||||
this.groupBox2 = new System.Windows.Forms.GroupBox();
|
|
||||||
this.label25 = new System.Windows.Forms.Label();
|
|
||||||
this.label24 = new System.Windows.Forms.Label();
|
|
||||||
this.label23 = new System.Windows.Forms.Label();
|
|
||||||
this.panTlsMore = new System.Windows.Forms.Panel();
|
|
||||||
this.txtSNI = new System.Windows.Forms.TextBox();
|
|
||||||
this.label22 = new System.Windows.Forms.Label();
|
|
||||||
this.label21 = new System.Windows.Forms.Label();
|
|
||||||
this.cmbAllowInsecure = new System.Windows.Forms.ComboBox();
|
|
||||||
this.label9 = new System.Windows.Forms.Label();
|
|
||||||
this.label20 = new System.Windows.Forms.Label();
|
|
||||||
this.txtPath = new System.Windows.Forms.TextBox();
|
|
||||||
this.cmbNetwork = new System.Windows.Forms.ComboBox();
|
|
||||||
this.label7 = new System.Windows.Forms.Label();
|
|
||||||
this.label19 = new System.Windows.Forms.Label();
|
|
||||||
this.label18 = new System.Windows.Forms.Label();
|
|
||||||
this.label17 = new System.Windows.Forms.Label();
|
|
||||||
this.label16 = new System.Windows.Forms.Label();
|
|
||||||
this.label14 = new System.Windows.Forms.Label();
|
|
||||||
this.label15 = new System.Windows.Forms.Label();
|
|
||||||
this.cmbStreamSecurity = new System.Windows.Forms.ComboBox();
|
|
||||||
this.label12 = new System.Windows.Forms.Label();
|
|
||||||
this.txtRequestHost = new System.Windows.Forms.TextBox();
|
|
||||||
this.label11 = new System.Windows.Forms.Label();
|
|
||||||
this.label10 = new System.Windows.Forms.Label();
|
|
||||||
this.cmbHeaderType = new System.Windows.Forms.ComboBox();
|
|
||||||
this.label8 = new System.Windows.Forms.Label();
|
|
||||||
this.cmbSecurity = new System.Windows.Forms.ComboBox();
|
|
||||||
this.txtRemarks = new System.Windows.Forms.TextBox();
|
|
||||||
this.label6 = new System.Windows.Forms.Label();
|
|
||||||
this.label5 = new System.Windows.Forms.Label();
|
|
||||||
this.txtId = new System.Windows.Forms.TextBox();
|
|
||||||
this.label3 = new System.Windows.Forms.Label();
|
|
||||||
this.txtPort = new System.Windows.Forms.TextBox();
|
|
||||||
this.label2 = new System.Windows.Forms.Label();
|
|
||||||
this.txtAddress = new System.Windows.Forms.TextBox();
|
|
||||||
this.label1 = new System.Windows.Forms.Label();
|
|
||||||
this.panel2 = new System.Windows.Forms.Panel();
|
|
||||||
this.btnOK = new System.Windows.Forms.Button();
|
|
||||||
this.panel1 = new System.Windows.Forms.Panel();
|
|
||||||
this.groupBox1.SuspendLayout();
|
|
||||||
this.groupBox2.SuspendLayout();
|
|
||||||
this.panTlsMore.SuspendLayout();
|
|
||||||
this.panel2.SuspendLayout();
|
|
||||||
this.SuspendLayout();
|
|
||||||
//
|
|
||||||
// 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);
|
|
||||||
//
|
|
||||||
// groupBox1
|
|
||||||
//
|
|
||||||
this.groupBox1.Controls.Add(this.cmbFlow);
|
|
||||||
this.groupBox1.Controls.Add(this.label4);
|
|
||||||
this.groupBox1.Controls.Add(this.btnGUID);
|
|
||||||
this.groupBox1.Controls.Add(this.label13);
|
|
||||||
this.groupBox1.Controls.Add(this.groupBox2);
|
|
||||||
this.groupBox1.Controls.Add(this.label8);
|
|
||||||
this.groupBox1.Controls.Add(this.cmbSecurity);
|
|
||||||
this.groupBox1.Controls.Add(this.txtRemarks);
|
|
||||||
this.groupBox1.Controls.Add(this.label6);
|
|
||||||
this.groupBox1.Controls.Add(this.label5);
|
|
||||||
this.groupBox1.Controls.Add(this.txtId);
|
|
||||||
this.groupBox1.Controls.Add(this.label3);
|
|
||||||
this.groupBox1.Controls.Add(this.txtPort);
|
|
||||||
this.groupBox1.Controls.Add(this.label2);
|
|
||||||
this.groupBox1.Controls.Add(this.txtAddress);
|
|
||||||
this.groupBox1.Controls.Add(this.label1);
|
|
||||||
resources.ApplyResources(this.groupBox1, "groupBox1");
|
|
||||||
this.groupBox1.Name = "groupBox1";
|
|
||||||
this.groupBox1.TabStop = false;
|
|
||||||
//
|
|
||||||
// cmbFlow
|
|
||||||
//
|
|
||||||
this.cmbFlow.FormattingEnabled = true;
|
|
||||||
this.cmbFlow.Items.AddRange(new object[] {
|
|
||||||
resources.GetString("cmbFlow.Items"),
|
|
||||||
resources.GetString("cmbFlow.Items1"),
|
|
||||||
resources.GetString("cmbFlow.Items2"),
|
|
||||||
resources.GetString("cmbFlow.Items3"),
|
|
||||||
resources.GetString("cmbFlow.Items4")});
|
|
||||||
resources.ApplyResources(this.cmbFlow, "cmbFlow");
|
|
||||||
this.cmbFlow.Name = "cmbFlow";
|
|
||||||
//
|
|
||||||
// label4
|
|
||||||
//
|
|
||||||
resources.ApplyResources(this.label4, "label4");
|
|
||||||
this.label4.Name = "label4";
|
|
||||||
//
|
|
||||||
// btnGUID
|
|
||||||
//
|
|
||||||
resources.ApplyResources(this.btnGUID, "btnGUID");
|
|
||||||
this.btnGUID.Name = "btnGUID";
|
|
||||||
this.btnGUID.UseVisualStyleBackColor = true;
|
|
||||||
this.btnGUID.Click += new System.EventHandler(this.btnGUID_Click);
|
|
||||||
//
|
|
||||||
// label13
|
|
||||||
//
|
|
||||||
resources.ApplyResources(this.label13, "label13");
|
|
||||||
this.label13.Name = "label13";
|
|
||||||
//
|
|
||||||
// groupBox2
|
|
||||||
//
|
|
||||||
this.groupBox2.Controls.Add(this.label25);
|
|
||||||
this.groupBox2.Controls.Add(this.label24);
|
|
||||||
this.groupBox2.Controls.Add(this.label23);
|
|
||||||
this.groupBox2.Controls.Add(this.panTlsMore);
|
|
||||||
this.groupBox2.Controls.Add(this.label9);
|
|
||||||
this.groupBox2.Controls.Add(this.label20);
|
|
||||||
this.groupBox2.Controls.Add(this.txtPath);
|
|
||||||
this.groupBox2.Controls.Add(this.cmbNetwork);
|
|
||||||
this.groupBox2.Controls.Add(this.label7);
|
|
||||||
this.groupBox2.Controls.Add(this.label19);
|
|
||||||
this.groupBox2.Controls.Add(this.label18);
|
|
||||||
this.groupBox2.Controls.Add(this.label17);
|
|
||||||
this.groupBox2.Controls.Add(this.label16);
|
|
||||||
this.groupBox2.Controls.Add(this.label14);
|
|
||||||
this.groupBox2.Controls.Add(this.label15);
|
|
||||||
this.groupBox2.Controls.Add(this.cmbStreamSecurity);
|
|
||||||
this.groupBox2.Controls.Add(this.label12);
|
|
||||||
this.groupBox2.Controls.Add(this.txtRequestHost);
|
|
||||||
this.groupBox2.Controls.Add(this.label11);
|
|
||||||
this.groupBox2.Controls.Add(this.label10);
|
|
||||||
this.groupBox2.Controls.Add(this.cmbHeaderType);
|
|
||||||
resources.ApplyResources(this.groupBox2, "groupBox2");
|
|
||||||
this.groupBox2.Name = "groupBox2";
|
|
||||||
this.groupBox2.TabStop = false;
|
|
||||||
//
|
|
||||||
// label25
|
|
||||||
//
|
|
||||||
resources.ApplyResources(this.label25, "label25");
|
|
||||||
this.label25.Name = "label25";
|
|
||||||
//
|
|
||||||
// label24
|
|
||||||
//
|
|
||||||
resources.ApplyResources(this.label24, "label24");
|
|
||||||
this.label24.Name = "label24";
|
|
||||||
//
|
|
||||||
// label23
|
|
||||||
//
|
|
||||||
resources.ApplyResources(this.label23, "label23");
|
|
||||||
this.label23.Name = "label23";
|
|
||||||
//
|
|
||||||
// panTlsMore
|
|
||||||
//
|
|
||||||
this.panTlsMore.Controls.Add(this.txtSNI);
|
|
||||||
this.panTlsMore.Controls.Add(this.label22);
|
|
||||||
this.panTlsMore.Controls.Add(this.label21);
|
|
||||||
this.panTlsMore.Controls.Add(this.cmbAllowInsecure);
|
|
||||||
resources.ApplyResources(this.panTlsMore, "panTlsMore");
|
|
||||||
this.panTlsMore.Name = "panTlsMore";
|
|
||||||
//
|
|
||||||
// txtSNI
|
|
||||||
//
|
|
||||||
resources.ApplyResources(this.txtSNI, "txtSNI");
|
|
||||||
this.txtSNI.Name = "txtSNI";
|
|
||||||
//
|
|
||||||
// label22
|
|
||||||
//
|
|
||||||
resources.ApplyResources(this.label22, "label22");
|
|
||||||
this.label22.Name = "label22";
|
|
||||||
//
|
|
||||||
// label21
|
|
||||||
//
|
|
||||||
resources.ApplyResources(this.label21, "label21");
|
|
||||||
this.label21.Name = "label21";
|
|
||||||
//
|
|
||||||
// cmbAllowInsecure
|
|
||||||
//
|
|
||||||
this.cmbAllowInsecure.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList;
|
|
||||||
this.cmbAllowInsecure.FormattingEnabled = true;
|
|
||||||
this.cmbAllowInsecure.Items.AddRange(new object[] {
|
|
||||||
resources.GetString("cmbAllowInsecure.Items"),
|
|
||||||
resources.GetString("cmbAllowInsecure.Items1"),
|
|
||||||
resources.GetString("cmbAllowInsecure.Items2")});
|
|
||||||
resources.ApplyResources(this.cmbAllowInsecure, "cmbAllowInsecure");
|
|
||||||
this.cmbAllowInsecure.Name = "cmbAllowInsecure";
|
|
||||||
//
|
|
||||||
// label9
|
|
||||||
//
|
|
||||||
resources.ApplyResources(this.label9, "label9");
|
|
||||||
this.label9.Name = "label9";
|
|
||||||
//
|
|
||||||
// label20
|
|
||||||
//
|
|
||||||
resources.ApplyResources(this.label20, "label20");
|
|
||||||
this.label20.Name = "label20";
|
|
||||||
//
|
|
||||||
// txtPath
|
|
||||||
//
|
|
||||||
resources.ApplyResources(this.txtPath, "txtPath");
|
|
||||||
this.txtPath.Name = "txtPath";
|
|
||||||
//
|
|
||||||
// cmbNetwork
|
|
||||||
//
|
|
||||||
this.cmbNetwork.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList;
|
|
||||||
this.cmbNetwork.FormattingEnabled = true;
|
|
||||||
this.cmbNetwork.Items.AddRange(new object[] {
|
|
||||||
resources.GetString("cmbNetwork.Items"),
|
|
||||||
resources.GetString("cmbNetwork.Items1"),
|
|
||||||
resources.GetString("cmbNetwork.Items2"),
|
|
||||||
resources.GetString("cmbNetwork.Items3"),
|
|
||||||
resources.GetString("cmbNetwork.Items4"),
|
|
||||||
resources.GetString("cmbNetwork.Items5")});
|
|
||||||
resources.ApplyResources(this.cmbNetwork, "cmbNetwork");
|
|
||||||
this.cmbNetwork.Name = "cmbNetwork";
|
|
||||||
this.cmbNetwork.SelectedIndexChanged += new System.EventHandler(this.cmbNetwork_SelectedIndexChanged);
|
|
||||||
//
|
|
||||||
// label7
|
|
||||||
//
|
|
||||||
resources.ApplyResources(this.label7, "label7");
|
|
||||||
this.label7.Name = "label7";
|
|
||||||
//
|
|
||||||
// label19
|
|
||||||
//
|
|
||||||
resources.ApplyResources(this.label19, "label19");
|
|
||||||
this.label19.Name = "label19";
|
|
||||||
//
|
|
||||||
// label18
|
|
||||||
//
|
|
||||||
resources.ApplyResources(this.label18, "label18");
|
|
||||||
this.label18.Name = "label18";
|
|
||||||
//
|
|
||||||
// label17
|
|
||||||
//
|
|
||||||
resources.ApplyResources(this.label17, "label17");
|
|
||||||
this.label17.Name = "label17";
|
|
||||||
//
|
|
||||||
// label16
|
|
||||||
//
|
|
||||||
resources.ApplyResources(this.label16, "label16");
|
|
||||||
this.label16.Name = "label16";
|
|
||||||
//
|
|
||||||
// label14
|
|
||||||
//
|
|
||||||
resources.ApplyResources(this.label14, "label14");
|
|
||||||
this.label14.Name = "label14";
|
|
||||||
//
|
|
||||||
// label15
|
|
||||||
//
|
|
||||||
resources.ApplyResources(this.label15, "label15");
|
|
||||||
this.label15.Name = "label15";
|
|
||||||
//
|
|
||||||
// cmbStreamSecurity
|
|
||||||
//
|
|
||||||
this.cmbStreamSecurity.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList;
|
|
||||||
this.cmbStreamSecurity.FormattingEnabled = true;
|
|
||||||
this.cmbStreamSecurity.Items.AddRange(new object[] {
|
|
||||||
resources.GetString("cmbStreamSecurity.Items"),
|
|
||||||
resources.GetString("cmbStreamSecurity.Items1"),
|
|
||||||
resources.GetString("cmbStreamSecurity.Items2")});
|
|
||||||
resources.ApplyResources(this.cmbStreamSecurity, "cmbStreamSecurity");
|
|
||||||
this.cmbStreamSecurity.Name = "cmbStreamSecurity";
|
|
||||||
this.cmbStreamSecurity.SelectedIndexChanged += new System.EventHandler(this.cmbStreamSecurity_SelectedIndexChanged);
|
|
||||||
//
|
|
||||||
// label12
|
|
||||||
//
|
|
||||||
resources.ApplyResources(this.label12, "label12");
|
|
||||||
this.label12.Name = "label12";
|
|
||||||
//
|
|
||||||
// txtRequestHost
|
|
||||||
//
|
|
||||||
resources.ApplyResources(this.txtRequestHost, "txtRequestHost");
|
|
||||||
this.txtRequestHost.Name = "txtRequestHost";
|
|
||||||
//
|
|
||||||
// label11
|
|
||||||
//
|
|
||||||
resources.ApplyResources(this.label11, "label11");
|
|
||||||
this.label11.Name = "label11";
|
|
||||||
//
|
|
||||||
// label10
|
|
||||||
//
|
|
||||||
resources.ApplyResources(this.label10, "label10");
|
|
||||||
this.label10.Name = "label10";
|
|
||||||
//
|
|
||||||
// cmbHeaderType
|
|
||||||
//
|
|
||||||
this.cmbHeaderType.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList;
|
|
||||||
this.cmbHeaderType.FormattingEnabled = true;
|
|
||||||
this.cmbHeaderType.Items.AddRange(new object[] {
|
|
||||||
resources.GetString("cmbHeaderType.Items"),
|
|
||||||
resources.GetString("cmbHeaderType.Items1"),
|
|
||||||
resources.GetString("cmbHeaderType.Items2"),
|
|
||||||
resources.GetString("cmbHeaderType.Items3"),
|
|
||||||
resources.GetString("cmbHeaderType.Items4"),
|
|
||||||
resources.GetString("cmbHeaderType.Items5"),
|
|
||||||
resources.GetString("cmbHeaderType.Items6")});
|
|
||||||
resources.ApplyResources(this.cmbHeaderType, "cmbHeaderType");
|
|
||||||
this.cmbHeaderType.Name = "cmbHeaderType";
|
|
||||||
//
|
|
||||||
// label8
|
|
||||||
//
|
|
||||||
resources.ApplyResources(this.label8, "label8");
|
|
||||||
this.label8.Name = "label8";
|
|
||||||
//
|
|
||||||
// cmbSecurity
|
|
||||||
//
|
|
||||||
this.cmbSecurity.DropDownStyle = System.Windows.Forms.ComboBoxStyle.Simple;
|
|
||||||
this.cmbSecurity.FormattingEnabled = true;
|
|
||||||
this.cmbSecurity.Items.AddRange(new object[] {
|
|
||||||
resources.GetString("cmbSecurity.Items")});
|
|
||||||
resources.ApplyResources(this.cmbSecurity, "cmbSecurity");
|
|
||||||
this.cmbSecurity.Name = "cmbSecurity";
|
|
||||||
//
|
|
||||||
// txtRemarks
|
|
||||||
//
|
|
||||||
resources.ApplyResources(this.txtRemarks, "txtRemarks");
|
|
||||||
this.txtRemarks.Name = "txtRemarks";
|
|
||||||
//
|
|
||||||
// label6
|
|
||||||
//
|
|
||||||
resources.ApplyResources(this.label6, "label6");
|
|
||||||
this.label6.Name = "label6";
|
|
||||||
//
|
|
||||||
// label5
|
|
||||||
//
|
|
||||||
resources.ApplyResources(this.label5, "label5");
|
|
||||||
this.label5.Name = "label5";
|
|
||||||
//
|
|
||||||
// txtId
|
|
||||||
//
|
|
||||||
resources.ApplyResources(this.txtId, "txtId");
|
|
||||||
this.txtId.Name = "txtId";
|
|
||||||
//
|
|
||||||
// label3
|
|
||||||
//
|
|
||||||
resources.ApplyResources(this.label3, "label3");
|
|
||||||
this.label3.Name = "label3";
|
|
||||||
//
|
|
||||||
// txtPort
|
|
||||||
//
|
|
||||||
resources.ApplyResources(this.txtPort, "txtPort");
|
|
||||||
this.txtPort.Name = "txtPort";
|
|
||||||
//
|
|
||||||
// label2
|
|
||||||
//
|
|
||||||
resources.ApplyResources(this.label2, "label2");
|
|
||||||
this.label2.Name = "label2";
|
|
||||||
//
|
|
||||||
// txtAddress
|
|
||||||
//
|
|
||||||
resources.ApplyResources(this.txtAddress, "txtAddress");
|
|
||||||
this.txtAddress.Name = "txtAddress";
|
|
||||||
//
|
|
||||||
// label1
|
|
||||||
//
|
|
||||||
resources.ApplyResources(this.label1, "label1");
|
|
||||||
this.label1.Name = "label1";
|
|
||||||
//
|
|
||||||
// panel2
|
|
||||||
//
|
|
||||||
this.panel2.Controls.Add(this.btnClose);
|
|
||||||
this.panel2.Controls.Add(this.btnOK);
|
|
||||||
resources.ApplyResources(this.panel2, "panel2");
|
|
||||||
this.panel2.Name = "panel2";
|
|
||||||
//
|
|
||||||
// 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.Name = "panel1";
|
|
||||||
//
|
|
||||||
// AddServer5Form
|
|
||||||
//
|
|
||||||
resources.ApplyResources(this, "$this");
|
|
||||||
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
|
|
||||||
this.CancelButton = this.btnClose;
|
|
||||||
this.Controls.Add(this.groupBox1);
|
|
||||||
this.Controls.Add(this.panel2);
|
|
||||||
this.Controls.Add(this.panel1);
|
|
||||||
this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedSingle;
|
|
||||||
this.Name = "AddServer5Form";
|
|
||||||
this.Load += new System.EventHandler(this.AddServer5Form_Load);
|
|
||||||
this.groupBox1.ResumeLayout(false);
|
|
||||||
this.groupBox1.PerformLayout();
|
|
||||||
this.groupBox2.ResumeLayout(false);
|
|
||||||
this.groupBox2.PerformLayout();
|
|
||||||
this.panTlsMore.ResumeLayout(false);
|
|
||||||
this.panTlsMore.PerformLayout();
|
|
||||||
this.panel2.ResumeLayout(false);
|
|
||||||
this.ResumeLayout(false);
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
#endregion
|
|
||||||
|
|
||||||
private System.Windows.Forms.GroupBox groupBox1;
|
|
||||||
private System.Windows.Forms.Button btnClose;
|
|
||||||
private System.Windows.Forms.Button btnOK;
|
|
||||||
private System.Windows.Forms.TextBox txtRemarks;
|
|
||||||
private System.Windows.Forms.Label label6;
|
|
||||||
private System.Windows.Forms.Label label5;
|
|
||||||
private System.Windows.Forms.TextBox txtId;
|
|
||||||
private System.Windows.Forms.Label label3;
|
|
||||||
private System.Windows.Forms.TextBox txtPort;
|
|
||||||
private System.Windows.Forms.Label label2;
|
|
||||||
private System.Windows.Forms.TextBox txtAddress;
|
|
||||||
private System.Windows.Forms.Label label1;
|
|
||||||
private System.Windows.Forms.ComboBox cmbSecurity;
|
|
||||||
private System.Windows.Forms.ComboBox cmbNetwork;
|
|
||||||
private System.Windows.Forms.Label label7;
|
|
||||||
private System.Windows.Forms.Label label9;
|
|
||||||
private System.Windows.Forms.Label label8;
|
|
||||||
private System.Windows.Forms.Panel panel1;
|
|
||||||
private System.Windows.Forms.Panel panel2;
|
|
||||||
private System.Windows.Forms.TextBox txtRequestHost;
|
|
||||||
private System.Windows.Forms.Label label10;
|
|
||||||
private System.Windows.Forms.Label label11;
|
|
||||||
private System.Windows.Forms.ComboBox cmbHeaderType;
|
|
||||||
private System.Windows.Forms.Label label12;
|
|
||||||
private System.Windows.Forms.GroupBox groupBox2;
|
|
||||||
private System.Windows.Forms.Label label13;
|
|
||||||
private System.Windows.Forms.Label label15;
|
|
||||||
private System.Windows.Forms.ComboBox cmbStreamSecurity;
|
|
||||||
private System.Windows.Forms.Button btnGUID;
|
|
||||||
private System.Windows.Forms.Label label16;
|
|
||||||
private System.Windows.Forms.Label label14;
|
|
||||||
private System.Windows.Forms.Label label17;
|
|
||||||
private System.Windows.Forms.Label label18;
|
|
||||||
private System.Windows.Forms.Label label19;
|
|
||||||
private System.Windows.Forms.TextBox txtPath;
|
|
||||||
private System.Windows.Forms.Label label20;
|
|
||||||
private System.Windows.Forms.Label label21;
|
|
||||||
private System.Windows.Forms.ComboBox cmbAllowInsecure;
|
|
||||||
private System.Windows.Forms.Panel panTlsMore;
|
|
||||||
private System.Windows.Forms.Label label24;
|
|
||||||
private System.Windows.Forms.Label label23;
|
|
||||||
private System.Windows.Forms.ComboBox cmbFlow;
|
|
||||||
private System.Windows.Forms.Label label4;
|
|
||||||
private System.Windows.Forms.TextBox txtSNI;
|
|
||||||
private System.Windows.Forms.Label label22;
|
|
||||||
private System.Windows.Forms.Label label25;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@@ -1,202 +0,0 @@
|
|||||||
using System;
|
|
||||||
using System.Windows.Forms;
|
|
||||||
using v2rayN.Handler;
|
|
||||||
using v2rayN.Mode;
|
|
||||||
|
|
||||||
namespace v2rayN.Forms
|
|
||||||
{
|
|
||||||
public partial class AddServer5Form : BaseServerForm
|
|
||||||
{
|
|
||||||
|
|
||||||
public AddServer5Form()
|
|
||||||
{
|
|
||||||
InitializeComponent();
|
|
||||||
}
|
|
||||||
|
|
||||||
private void AddServer5Form_Load(object sender, EventArgs e)
|
|
||||||
{
|
|
||||||
if (EditIndex >= 0)
|
|
||||||
{
|
|
||||||
vmessItem = config.vmess[EditIndex];
|
|
||||||
BindingServer();
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
vmessItem = new VmessItem();
|
|
||||||
ClearServer();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
/// <summary>
|
|
||||||
/// 绑定数据
|
|
||||||
/// </summary>
|
|
||||||
private void BindingServer()
|
|
||||||
{
|
|
||||||
txtAddress.Text = vmessItem.address;
|
|
||||||
txtPort.Text = vmessItem.port.ToString();
|
|
||||||
txtId.Text = vmessItem.id;
|
|
||||||
cmbFlow.Text = vmessItem.flow;
|
|
||||||
cmbSecurity.Text = vmessItem.security;
|
|
||||||
cmbNetwork.Text = vmessItem.network;
|
|
||||||
txtRemarks.Text = vmessItem.remarks;
|
|
||||||
|
|
||||||
cmbHeaderType.Text = vmessItem.headerType;
|
|
||||||
txtRequestHost.Text = vmessItem.requestHost;
|
|
||||||
txtPath.Text = vmessItem.path;
|
|
||||||
cmbStreamSecurity.Text = vmessItem.streamSecurity;
|
|
||||||
cmbAllowInsecure.Text = vmessItem.allowInsecure;
|
|
||||||
txtSNI.Text = vmessItem.sni;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
/// <summary>
|
|
||||||
/// 清除设置
|
|
||||||
/// </summary>
|
|
||||||
private void ClearServer()
|
|
||||||
{
|
|
||||||
txtAddress.Text = "";
|
|
||||||
txtPort.Text = "";
|
|
||||||
txtId.Text = "";
|
|
||||||
cmbFlow.Text = "";
|
|
||||||
cmbSecurity.Text = Global.None;
|
|
||||||
cmbNetwork.Text = Global.DefaultNetwork;
|
|
||||||
txtRemarks.Text = "";
|
|
||||||
|
|
||||||
cmbHeaderType.Text = Global.None;
|
|
||||||
txtRequestHost.Text = "";
|
|
||||||
cmbStreamSecurity.Text = "";
|
|
||||||
cmbAllowInsecure.Text = "";
|
|
||||||
txtPath.Text = "";
|
|
||||||
txtSNI.Text = "";
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
private void cmbNetwork_SelectedIndexChanged(object sender, EventArgs e)
|
|
||||||
{
|
|
||||||
SetHeaderType();
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
/// <summary>
|
|
||||||
/// 设置伪装选项
|
|
||||||
/// </summary>
|
|
||||||
private void SetHeaderType()
|
|
||||||
{
|
|
||||||
cmbHeaderType.Items.Clear();
|
|
||||||
|
|
||||||
string network = cmbNetwork.Text;
|
|
||||||
if (Utils.IsNullOrEmpty(network))
|
|
||||||
{
|
|
||||||
cmbHeaderType.Items.Add(Global.None);
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (network.Equals(Global.DefaultNetwork))
|
|
||||||
{
|
|
||||||
cmbHeaderType.Items.Add(Global.None);
|
|
||||||
cmbHeaderType.Items.Add(Global.TcpHeaderHttp);
|
|
||||||
}
|
|
||||||
else if (network.Equals("kcp") || network.Equals("quic"))
|
|
||||||
{
|
|
||||||
cmbHeaderType.Items.Add(Global.None);
|
|
||||||
cmbHeaderType.Items.Add("srtp");
|
|
||||||
cmbHeaderType.Items.Add("utp");
|
|
||||||
cmbHeaderType.Items.Add("wechat-video");
|
|
||||||
cmbHeaderType.Items.Add("dtls");
|
|
||||||
cmbHeaderType.Items.Add("wireguard");
|
|
||||||
}
|
|
||||||
else if (network.Equals("grpc"))
|
|
||||||
{
|
|
||||||
cmbHeaderType.Items.Add(Global.GrpcgunMode);
|
|
||||||
cmbHeaderType.Items.Add(Global.GrpcmultiMode);
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
cmbHeaderType.Items.Add(Global.None);
|
|
||||||
}
|
|
||||||
cmbHeaderType.SelectedIndex = 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
private void btnOK_Click(object sender, EventArgs e)
|
|
||||||
{
|
|
||||||
string address = txtAddress.Text;
|
|
||||||
string port = txtPort.Text;
|
|
||||||
string id = txtId.Text;
|
|
||||||
string flow = cmbFlow.Text;
|
|
||||||
string security = cmbSecurity.Text;
|
|
||||||
string network = cmbNetwork.Text;
|
|
||||||
string remarks = txtRemarks.Text;
|
|
||||||
|
|
||||||
string headerType = cmbHeaderType.Text;
|
|
||||||
string requestHost = txtRequestHost.Text;
|
|
||||||
string path = txtPath.Text;
|
|
||||||
string streamSecurity = cmbStreamSecurity.Text;
|
|
||||||
string allowInsecure = cmbAllowInsecure.Text;
|
|
||||||
string sni = txtSNI.Text;
|
|
||||||
|
|
||||||
if (Utils.IsNullOrEmpty(address))
|
|
||||||
{
|
|
||||||
UI.Show(UIRes.I18N("FillServerAddress"));
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
if (Utils.IsNullOrEmpty(port) || !Utils.IsNumberic(port))
|
|
||||||
{
|
|
||||||
UI.Show(UIRes.I18N("FillCorrectServerPort"));
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
if (Utils.IsNullOrEmpty(id))
|
|
||||||
{
|
|
||||||
UI.Show(UIRes.I18N("FillUUID"));
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
vmessItem.address = address;
|
|
||||||
vmessItem.port = Utils.ToInt(port);
|
|
||||||
vmessItem.id = id;
|
|
||||||
vmessItem.flow = flow;
|
|
||||||
vmessItem.security = security;
|
|
||||||
vmessItem.network = network;
|
|
||||||
vmessItem.remarks = remarks;
|
|
||||||
|
|
||||||
vmessItem.headerType = headerType;
|
|
||||||
vmessItem.requestHost = requestHost.Replace(" ", "");
|
|
||||||
vmessItem.path = path.Replace(" ", "");
|
|
||||||
vmessItem.streamSecurity = streamSecurity;
|
|
||||||
vmessItem.allowInsecure = allowInsecure;
|
|
||||||
vmessItem.sni = sni;
|
|
||||||
|
|
||||||
if (ConfigHandler.AddVlessServer(ref config, vmessItem, EditIndex) == 0)
|
|
||||||
{
|
|
||||||
this.DialogResult = DialogResult.OK;
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
UI.ShowWarning(UIRes.I18N("OperationFailed"));
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
private void btnGUID_Click(object sender, EventArgs e)
|
|
||||||
{
|
|
||||||
txtId.Text = Utils.GetGUID();
|
|
||||||
}
|
|
||||||
|
|
||||||
private void btnClose_Click(object sender, EventArgs e)
|
|
||||||
{
|
|
||||||
this.DialogResult = DialogResult.Cancel;
|
|
||||||
}
|
|
||||||
|
|
||||||
private void cmbStreamSecurity_SelectedIndexChanged(object sender, EventArgs e)
|
|
||||||
{
|
|
||||||
string security = cmbStreamSecurity.Text;
|
|
||||||
if (Utils.IsNullOrEmpty(security))
|
|
||||||
{
|
|
||||||
panTlsMore.Hide();
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
panTlsMore.Show();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
File diff suppressed because it is too large
Load Diff
@@ -1,344 +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>
|
|
||||||
<assembly alias="System.Drawing" name="System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
|
|
||||||
<data name="cmbFlow.Size" type="System.Drawing.Size, System.Drawing">
|
|
||||||
<value>220, 20</value>
|
|
||||||
</data>
|
|
||||||
<data name="label4.Size" type="System.Drawing.Size, System.Drawing">
|
|
||||||
<value>65, 12</value>
|
|
||||||
</data>
|
|
||||||
<data name="label4.Text" xml:space="preserve">
|
|
||||||
<value>流控(flow)</value>
|
|
||||||
</data>
|
|
||||||
<data name="btnGUID.Text" xml:space="preserve">
|
|
||||||
<value>生成(&G)</value>
|
|
||||||
</data>
|
|
||||||
<data name="label13.Text" xml:space="preserve">
|
|
||||||
<value>*手填,方便识别管理</value>
|
|
||||||
</data>
|
|
||||||
<data name="label24.Size" type="System.Drawing.Size, System.Drawing">
|
|
||||||
<value>149, 12</value>
|
|
||||||
</data>
|
|
||||||
<data name="label24.Text" xml:space="preserve">
|
|
||||||
<value>3)QUIC 加密密钥/Kcp seed</value>
|
|
||||||
</data>
|
|
||||||
<data name="label23.Size" type="System.Drawing.Size, System.Drawing">
|
|
||||||
<value>95, 12</value>
|
|
||||||
</data>
|
|
||||||
<data name="label23.Text" xml:space="preserve">
|
|
||||||
<value>4)QUIC 加密方式</value>
|
|
||||||
</data>
|
|
||||||
<data name="label21.Size" type="System.Drawing.Size, System.Drawing">
|
|
||||||
<value>167, 12</value>
|
|
||||||
</data>
|
|
||||||
<data name="label21.Text" xml:space="preserve">
|
|
||||||
<value>跳过证书验证(allowInsecure)</value>
|
|
||||||
</data>
|
|
||||||
<data name="cmbAllowInsecure.Location" type="System.Drawing.Point, System.Drawing">
|
|
||||||
<value>181, 7</value>
|
|
||||||
</data>
|
|
||||||
<data name="label9.Location" type="System.Drawing.Point, System.Drawing">
|
|
||||||
<value>353, 36</value>
|
|
||||||
</data>
|
|
||||||
<data name="label9.Size" type="System.Drawing.Size, System.Drawing">
|
|
||||||
<value>143, 12</value>
|
|
||||||
</data>
|
|
||||||
<data name="label9.Text" xml:space="preserve">
|
|
||||||
<value>*默认tcp,选错会无法连接</value>
|
|
||||||
</data>
|
|
||||||
<data name="label20.Size" type="System.Drawing.Size, System.Drawing">
|
|
||||||
<value>149, 12</value>
|
|
||||||
</data>
|
|
||||||
<data name="label20.Text" xml:space="preserve">
|
|
||||||
<value>3)h2 host中间逗号(,)隔开</value>
|
|
||||||
</data>
|
|
||||||
<data name="txtPath.Location" type="System.Drawing.Point, System.Drawing">
|
|
||||||
<value>127, 168</value>
|
|
||||||
</data>
|
|
||||||
<data name="cmbNetwork.Location" type="System.Drawing.Point, System.Drawing">
|
|
||||||
<value>127, 32</value>
|
|
||||||
</data>
|
|
||||||
<data name="cmbNetwork.Size" type="System.Drawing.Size, System.Drawing">
|
|
||||||
<value>220, 20</value>
|
|
||||||
</data>
|
|
||||||
<data name="label7.Location" type="System.Drawing.Point, System.Drawing">
|
|
||||||
<value>9, 36</value>
|
|
||||||
</data>
|
|
||||||
<data name="label7.Size" type="System.Drawing.Size, System.Drawing">
|
|
||||||
<value>107, 12</value>
|
|
||||||
</data>
|
|
||||||
<data name="label7.Text" xml:space="preserve">
|
|
||||||
<value>传输协议(network)</value>
|
|
||||||
</data>
|
|
||||||
<data name="label19.Location" type="System.Drawing.Point, System.Drawing">
|
|
||||||
<value>9, 168</value>
|
|
||||||
</data>
|
|
||||||
<data name="label19.Size" type="System.Drawing.Size, System.Drawing">
|
|
||||||
<value>65, 12</value>
|
|
||||||
</data>
|
|
||||||
<data name="label19.Text" xml:space="preserve">
|
|
||||||
<value>路径(path)</value>
|
|
||||||
</data>
|
|
||||||
<data name="label14.Size" type="System.Drawing.Size, System.Drawing">
|
|
||||||
<value>161, 12</value>
|
|
||||||
</data>
|
|
||||||
<data name="label14.Text" xml:space="preserve">
|
|
||||||
<value>1)http host中间逗号(,)隔开</value>
|
|
||||||
</data>
|
|
||||||
<data name="label15.Location" type="System.Drawing.Point, System.Drawing">
|
|
||||||
<value>9, 241</value>
|
|
||||||
</data>
|
|
||||||
<data name="label15.Size" type="System.Drawing.Size, System.Drawing">
|
|
||||||
<value>107, 12</value>
|
|
||||||
</data>
|
|
||||||
<data name="label15.Text" xml:space="preserve">
|
|
||||||
<value>底层传输安全(tls)</value>
|
|
||||||
</data>
|
|
||||||
<data name="cmbStreamSecurity.Location" type="System.Drawing.Point, System.Drawing">
|
|
||||||
<value>127, 237</value>
|
|
||||||
</data>
|
|
||||||
<data name="label12.Location" type="System.Drawing.Point, System.Drawing">
|
|
||||||
<value>282, 71</value>
|
|
||||||
</data>
|
|
||||||
<data name="label12.Size" type="System.Drawing.Size, System.Drawing">
|
|
||||||
<value>197, 12</value>
|
|
||||||
</data>
|
|
||||||
<data name="label12.Text" xml:space="preserve">
|
|
||||||
<value>*tcp或kcp或QUIC伪装类型或grpc模式</value>
|
|
||||||
</data>
|
|
||||||
<data name="txtRequestHost.Location" type="System.Drawing.Point, System.Drawing">
|
|
||||||
<value>127, 102</value>
|
|
||||||
</data>
|
|
||||||
<data name="txtRequestHost.Size" type="System.Drawing.Size, System.Drawing">
|
|
||||||
<value>334, 51</value>
|
|
||||||
</data>
|
|
||||||
<data name="label11.Location" type="System.Drawing.Point, System.Drawing">
|
|
||||||
<value>9, 71</value>
|
|
||||||
</data>
|
|
||||||
<data name="label11.Size" type="System.Drawing.Size, System.Drawing">
|
|
||||||
<value>89, 12</value>
|
|
||||||
</data>
|
|
||||||
<data name="label11.Text" xml:space="preserve">
|
|
||||||
<value>伪装类型(type)</value>
|
|
||||||
</data>
|
|
||||||
<data name="label10.Location" type="System.Drawing.Point, System.Drawing">
|
|
||||||
<value>9, 102</value>
|
|
||||||
</data>
|
|
||||||
<data name="label10.Size" type="System.Drawing.Size, System.Drawing">
|
|
||||||
<value>89, 12</value>
|
|
||||||
</data>
|
|
||||||
<data name="label10.Text" xml:space="preserve">
|
|
||||||
<value>伪装域名(host)</value>
|
|
||||||
</data>
|
|
||||||
<data name="cmbHeaderType.Location" type="System.Drawing.Point, System.Drawing">
|
|
||||||
<value>127, 67</value>
|
|
||||||
</data>
|
|
||||||
<data name="groupBox2.Text" xml:space="preserve">
|
|
||||||
<value>底层传输方式(transport)</value>
|
|
||||||
</data>
|
|
||||||
<data name="label8.Location" type="System.Drawing.Point, System.Drawing">
|
|
||||||
<value>353, 158</value>
|
|
||||||
</data>
|
|
||||||
<data name="label8.Size" type="System.Drawing.Size, System.Drawing">
|
|
||||||
<value>71, 12</value>
|
|
||||||
</data>
|
|
||||||
<data name="label8.Text" xml:space="preserve">
|
|
||||||
<value>*非空(none)</value>
|
|
||||||
</data>
|
|
||||||
<data name="cmbSecurity.Size" type="System.Drawing.Size, System.Drawing">
|
|
||||||
<value>220, 20</value>
|
|
||||||
</data>
|
|
||||||
<data name="txtRemarks.Size" type="System.Drawing.Size, System.Drawing">
|
|
||||||
<value>220, 21</value>
|
|
||||||
</data>
|
|
||||||
<data name="label6.Size" type="System.Drawing.Size, System.Drawing">
|
|
||||||
<value>83, 12</value>
|
|
||||||
</data>
|
|
||||||
<data name="label6.Text" xml:space="preserve">
|
|
||||||
<value>别名(remarks)</value>
|
|
||||||
</data>
|
|
||||||
<data name="label5.Size" type="System.Drawing.Size, System.Drawing">
|
|
||||||
<value>101, 12</value>
|
|
||||||
</data>
|
|
||||||
<data name="label5.Text" xml:space="preserve">
|
|
||||||
<value>加密(encryption)</value>
|
|
||||||
</data>
|
|
||||||
<data name="label3.Size" type="System.Drawing.Size, System.Drawing">
|
|
||||||
<value>65, 12</value>
|
|
||||||
</data>
|
|
||||||
<data name="label3.Text" xml:space="preserve">
|
|
||||||
<value>用户ID(id)</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>端口(port)</value>
|
|
||||||
</data>
|
|
||||||
<data name="label1.Size" type="System.Drawing.Size, System.Drawing">
|
|
||||||
<value>83, 12</value>
|
|
||||||
</data>
|
|
||||||
<data name="label1.Text" xml:space="preserve">
|
|
||||||
<value>地址(address)</value>
|
|
||||||
</data>
|
|
||||||
<data name="groupBox1.Text" xml:space="preserve">
|
|
||||||
<value>服务器</value>
|
|
||||||
</data>
|
|
||||||
<data name="btnOK.Text" xml:space="preserve">
|
|
||||||
<value>确定(&O)</value>
|
|
||||||
</data>
|
|
||||||
<data name="MenuItemImportClient.Size" type="System.Drawing.Size, System.Drawing">
|
|
||||||
<value>171, 22</value>
|
|
||||||
</data>
|
|
||||||
<data name="MenuItemImportClient.Text" xml:space="preserve">
|
|
||||||
<value>导入客户端配置</value>
|
|
||||||
</data>
|
|
||||||
<data name="MenuItemImportServer.Size" type="System.Drawing.Size, System.Drawing">
|
|
||||||
<value>171, 22</value>
|
|
||||||
</data>
|
|
||||||
<data name="MenuItemImportServer.Text" xml:space="preserve">
|
|
||||||
<value>导入服务端配置</value>
|
|
||||||
</data>
|
|
||||||
<data name="toolStripSeparator1.Size" type="System.Drawing.Size, System.Drawing">
|
|
||||||
<value>168, 6</value>
|
|
||||||
</data>
|
|
||||||
<data name="MenuItemImportClipboard.Size" type="System.Drawing.Size, System.Drawing">
|
|
||||||
<value>171, 22</value>
|
|
||||||
</data>
|
|
||||||
<data name="MenuItemImportClipboard.Text" xml:space="preserve">
|
|
||||||
<value>从剪贴板导入URL</value>
|
|
||||||
</data>
|
|
||||||
<assembly alias="mscorlib" name="mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
|
|
||||||
<data name="MenuItem1.Enabled" type="System.Boolean, mscorlib">
|
|
||||||
<value>False</value>
|
|
||||||
</data>
|
|
||||||
<data name="MenuItem1.Size" type="System.Drawing.Size, System.Drawing">
|
|
||||||
<value>92, 21</value>
|
|
||||||
</data>
|
|
||||||
<data name="MenuItem1.Text" xml:space="preserve">
|
|
||||||
<value>导入配置文件</value>
|
|
||||||
</data>
|
|
||||||
<data name="$this.Text" xml:space="preserve">
|
|
||||||
<value>编辑或添加[VLESS]服务器</value>
|
|
||||||
</data>
|
|
||||||
</root>
|
|
||||||
232
v2rayN/v2rayN/Forms/AddServer6Form.Designer.cs
generated
232
v2rayN/v2rayN/Forms/AddServer6Form.Designer.cs
generated
@@ -1,232 +0,0 @@
|
|||||||
namespace v2rayN.Forms
|
|
||||||
{
|
|
||||||
partial class AddServer6Form
|
|
||||||
{
|
|
||||||
/// <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(AddServer6Form));
|
|
||||||
this.btnClose = new System.Windows.Forms.Button();
|
|
||||||
this.groupBox1 = new System.Windows.Forms.GroupBox();
|
|
||||||
this.label21 = new System.Windows.Forms.Label();
|
|
||||||
this.cmbAllowInsecure = new System.Windows.Forms.ComboBox();
|
|
||||||
this.label15 = new System.Windows.Forms.Label();
|
|
||||||
this.cmbStreamSecurity = new System.Windows.Forms.ComboBox();
|
|
||||||
this.label4 = new System.Windows.Forms.Label();
|
|
||||||
this.txtSNI = new System.Windows.Forms.TextBox();
|
|
||||||
this.label13 = new System.Windows.Forms.Label();
|
|
||||||
this.txtRemarks = new System.Windows.Forms.TextBox();
|
|
||||||
this.label6 = new System.Windows.Forms.Label();
|
|
||||||
this.txtId = new System.Windows.Forms.TextBox();
|
|
||||||
this.label3 = new System.Windows.Forms.Label();
|
|
||||||
this.txtPort = new System.Windows.Forms.TextBox();
|
|
||||||
this.label2 = new System.Windows.Forms.Label();
|
|
||||||
this.txtAddress = new System.Windows.Forms.TextBox();
|
|
||||||
this.label1 = new System.Windows.Forms.Label();
|
|
||||||
this.panel2 = new System.Windows.Forms.Panel();
|
|
||||||
this.btnOK = new System.Windows.Forms.Button();
|
|
||||||
this.panel1 = new System.Windows.Forms.Panel();
|
|
||||||
this.groupBox1.SuspendLayout();
|
|
||||||
this.panel2.SuspendLayout();
|
|
||||||
this.SuspendLayout();
|
|
||||||
//
|
|
||||||
// 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);
|
|
||||||
//
|
|
||||||
// groupBox1
|
|
||||||
//
|
|
||||||
this.groupBox1.Controls.Add(this.label21);
|
|
||||||
this.groupBox1.Controls.Add(this.cmbAllowInsecure);
|
|
||||||
this.groupBox1.Controls.Add(this.label15);
|
|
||||||
this.groupBox1.Controls.Add(this.cmbStreamSecurity);
|
|
||||||
this.groupBox1.Controls.Add(this.label4);
|
|
||||||
this.groupBox1.Controls.Add(this.txtSNI);
|
|
||||||
this.groupBox1.Controls.Add(this.label13);
|
|
||||||
this.groupBox1.Controls.Add(this.txtRemarks);
|
|
||||||
this.groupBox1.Controls.Add(this.label6);
|
|
||||||
this.groupBox1.Controls.Add(this.txtId);
|
|
||||||
this.groupBox1.Controls.Add(this.label3);
|
|
||||||
this.groupBox1.Controls.Add(this.txtPort);
|
|
||||||
this.groupBox1.Controls.Add(this.label2);
|
|
||||||
this.groupBox1.Controls.Add(this.txtAddress);
|
|
||||||
this.groupBox1.Controls.Add(this.label1);
|
|
||||||
resources.ApplyResources(this.groupBox1, "groupBox1");
|
|
||||||
this.groupBox1.Name = "groupBox1";
|
|
||||||
this.groupBox1.TabStop = false;
|
|
||||||
//
|
|
||||||
// label21
|
|
||||||
//
|
|
||||||
resources.ApplyResources(this.label21, "label21");
|
|
||||||
this.label21.Name = "label21";
|
|
||||||
//
|
|
||||||
// cmbAllowInsecure
|
|
||||||
//
|
|
||||||
this.cmbAllowInsecure.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList;
|
|
||||||
this.cmbAllowInsecure.FormattingEnabled = true;
|
|
||||||
this.cmbAllowInsecure.Items.AddRange(new object[] {
|
|
||||||
resources.GetString("cmbAllowInsecure.Items"),
|
|
||||||
resources.GetString("cmbAllowInsecure.Items1"),
|
|
||||||
resources.GetString("cmbAllowInsecure.Items2")});
|
|
||||||
resources.ApplyResources(this.cmbAllowInsecure, "cmbAllowInsecure");
|
|
||||||
this.cmbAllowInsecure.Name = "cmbAllowInsecure";
|
|
||||||
//
|
|
||||||
// label15
|
|
||||||
//
|
|
||||||
resources.ApplyResources(this.label15, "label15");
|
|
||||||
this.label15.Name = "label15";
|
|
||||||
//
|
|
||||||
// cmbStreamSecurity
|
|
||||||
//
|
|
||||||
this.cmbStreamSecurity.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList;
|
|
||||||
this.cmbStreamSecurity.FormattingEnabled = true;
|
|
||||||
this.cmbStreamSecurity.Items.AddRange(new object[] {
|
|
||||||
resources.GetString("cmbStreamSecurity.Items"),
|
|
||||||
resources.GetString("cmbStreamSecurity.Items1")});
|
|
||||||
resources.ApplyResources(this.cmbStreamSecurity, "cmbStreamSecurity");
|
|
||||||
this.cmbStreamSecurity.Name = "cmbStreamSecurity";
|
|
||||||
//
|
|
||||||
// label4
|
|
||||||
//
|
|
||||||
resources.ApplyResources(this.label4, "label4");
|
|
||||||
this.label4.Name = "label4";
|
|
||||||
//
|
|
||||||
// txtSNI
|
|
||||||
//
|
|
||||||
resources.ApplyResources(this.txtSNI, "txtSNI");
|
|
||||||
this.txtSNI.Name = "txtSNI";
|
|
||||||
//
|
|
||||||
// label13
|
|
||||||
//
|
|
||||||
resources.ApplyResources(this.label13, "label13");
|
|
||||||
this.label13.Name = "label13";
|
|
||||||
//
|
|
||||||
// txtRemarks
|
|
||||||
//
|
|
||||||
resources.ApplyResources(this.txtRemarks, "txtRemarks");
|
|
||||||
this.txtRemarks.Name = "txtRemarks";
|
|
||||||
//
|
|
||||||
// label6
|
|
||||||
//
|
|
||||||
resources.ApplyResources(this.label6, "label6");
|
|
||||||
this.label6.Name = "label6";
|
|
||||||
//
|
|
||||||
// txtId
|
|
||||||
//
|
|
||||||
resources.ApplyResources(this.txtId, "txtId");
|
|
||||||
this.txtId.Name = "txtId";
|
|
||||||
//
|
|
||||||
// label3
|
|
||||||
//
|
|
||||||
resources.ApplyResources(this.label3, "label3");
|
|
||||||
this.label3.Name = "label3";
|
|
||||||
//
|
|
||||||
// txtPort
|
|
||||||
//
|
|
||||||
resources.ApplyResources(this.txtPort, "txtPort");
|
|
||||||
this.txtPort.Name = "txtPort";
|
|
||||||
//
|
|
||||||
// label2
|
|
||||||
//
|
|
||||||
resources.ApplyResources(this.label2, "label2");
|
|
||||||
this.label2.Name = "label2";
|
|
||||||
//
|
|
||||||
// txtAddress
|
|
||||||
//
|
|
||||||
resources.ApplyResources(this.txtAddress, "txtAddress");
|
|
||||||
this.txtAddress.Name = "txtAddress";
|
|
||||||
//
|
|
||||||
// label1
|
|
||||||
//
|
|
||||||
resources.ApplyResources(this.label1, "label1");
|
|
||||||
this.label1.Name = "label1";
|
|
||||||
//
|
|
||||||
// panel2
|
|
||||||
//
|
|
||||||
this.panel2.Controls.Add(this.btnClose);
|
|
||||||
this.panel2.Controls.Add(this.btnOK);
|
|
||||||
resources.ApplyResources(this.panel2, "panel2");
|
|
||||||
this.panel2.Name = "panel2";
|
|
||||||
//
|
|
||||||
// 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.Name = "panel1";
|
|
||||||
//
|
|
||||||
// AddServer6Form
|
|
||||||
//
|
|
||||||
resources.ApplyResources(this, "$this");
|
|
||||||
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
|
|
||||||
this.CancelButton = this.btnClose;
|
|
||||||
this.Controls.Add(this.groupBox1);
|
|
||||||
this.Controls.Add(this.panel2);
|
|
||||||
this.Controls.Add(this.panel1);
|
|
||||||
this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedSingle;
|
|
||||||
this.MinimizeBox = true;
|
|
||||||
this.Name = "AddServer6Form";
|
|
||||||
this.Load += new System.EventHandler(this.AddServer6Form_Load);
|
|
||||||
this.groupBox1.ResumeLayout(false);
|
|
||||||
this.groupBox1.PerformLayout();
|
|
||||||
this.panel2.ResumeLayout(false);
|
|
||||||
this.ResumeLayout(false);
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
#endregion
|
|
||||||
|
|
||||||
private System.Windows.Forms.GroupBox groupBox1;
|
|
||||||
private System.Windows.Forms.Button btnClose;
|
|
||||||
private System.Windows.Forms.Button btnOK;
|
|
||||||
private System.Windows.Forms.TextBox txtRemarks;
|
|
||||||
private System.Windows.Forms.Label label6;
|
|
||||||
private System.Windows.Forms.TextBox txtId;
|
|
||||||
private System.Windows.Forms.Label label3;
|
|
||||||
private System.Windows.Forms.TextBox txtPort;
|
|
||||||
private System.Windows.Forms.Label label2;
|
|
||||||
private System.Windows.Forms.TextBox txtAddress;
|
|
||||||
private System.Windows.Forms.Label label1;
|
|
||||||
private System.Windows.Forms.Panel panel1;
|
|
||||||
private System.Windows.Forms.Panel panel2;
|
|
||||||
private System.Windows.Forms.Label label13;
|
|
||||||
private System.Windows.Forms.Label label4;
|
|
||||||
private System.Windows.Forms.TextBox txtSNI;
|
|
||||||
private System.Windows.Forms.Label label15;
|
|
||||||
private System.Windows.Forms.ComboBox cmbStreamSecurity;
|
|
||||||
private System.Windows.Forms.Label label21;
|
|
||||||
private System.Windows.Forms.ComboBox cmbAllowInsecure;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@@ -1,108 +0,0 @@
|
|||||||
using System;
|
|
||||||
using System.Windows.Forms;
|
|
||||||
using v2rayN.Handler;
|
|
||||||
using v2rayN.Mode;
|
|
||||||
|
|
||||||
namespace v2rayN.Forms
|
|
||||||
{
|
|
||||||
public partial class AddServer6Form : BaseServerForm
|
|
||||||
{
|
|
||||||
public AddServer6Form()
|
|
||||||
{
|
|
||||||
InitializeComponent();
|
|
||||||
}
|
|
||||||
|
|
||||||
private void AddServer6Form_Load(object sender, EventArgs e)
|
|
||||||
{
|
|
||||||
if (EditIndex >= 0)
|
|
||||||
{
|
|
||||||
vmessItem = config.vmess[EditIndex];
|
|
||||||
BindingServer();
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
vmessItem = new VmessItem();
|
|
||||||
ClearServer();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
/// <summary>
|
|
||||||
/// 绑定数据
|
|
||||||
/// </summary>
|
|
||||||
private void BindingServer()
|
|
||||||
{
|
|
||||||
|
|
||||||
txtAddress.Text = vmessItem.address;
|
|
||||||
txtPort.Text = vmessItem.port.ToString();
|
|
||||||
txtId.Text = vmessItem.id;
|
|
||||||
txtSNI.Text = vmessItem.sni;
|
|
||||||
txtRemarks.Text = vmessItem.remarks;
|
|
||||||
cmbStreamSecurity.Text = vmessItem.streamSecurity;
|
|
||||||
cmbAllowInsecure.Text = vmessItem.allowInsecure;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
/// <summary>
|
|
||||||
/// 清除设置
|
|
||||||
/// </summary>
|
|
||||||
private void ClearServer()
|
|
||||||
{
|
|
||||||
txtAddress.Text = "";
|
|
||||||
txtPort.Text = "";
|
|
||||||
txtId.Text = "";
|
|
||||||
txtSNI.Text = "";
|
|
||||||
txtRemarks.Text = "";
|
|
||||||
cmbStreamSecurity.Text = "tls";
|
|
||||||
cmbAllowInsecure.Text = "";
|
|
||||||
}
|
|
||||||
|
|
||||||
private void btnOK_Click(object sender, EventArgs e)
|
|
||||||
{
|
|
||||||
string address = txtAddress.Text;
|
|
||||||
string port = txtPort.Text;
|
|
||||||
string id = txtId.Text;
|
|
||||||
string sni = txtSNI.Text;
|
|
||||||
string remarks = txtRemarks.Text;
|
|
||||||
string streamSecurity = cmbStreamSecurity.Text;
|
|
||||||
string allowInsecure = cmbAllowInsecure.Text;
|
|
||||||
|
|
||||||
if (Utils.IsNullOrEmpty(address))
|
|
||||||
{
|
|
||||||
UI.Show(UIRes.I18N("FillServerAddress"));
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
if (Utils.IsNullOrEmpty(port) || !Utils.IsNumberic(port))
|
|
||||||
{
|
|
||||||
UI.Show(UIRes.I18N("FillCorrectServerPort"));
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
if (Utils.IsNullOrEmpty(id))
|
|
||||||
{
|
|
||||||
UI.Show(UIRes.I18N("FillPassword"));
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
vmessItem.address = address;
|
|
||||||
vmessItem.port = Utils.ToInt(port);
|
|
||||||
vmessItem.id = id;
|
|
||||||
vmessItem.sni = sni.Replace(" ", "");
|
|
||||||
vmessItem.remarks = remarks;
|
|
||||||
vmessItem.streamSecurity = streamSecurity;
|
|
||||||
vmessItem.allowInsecure = allowInsecure;
|
|
||||||
|
|
||||||
if (ConfigHandler.AddTrojanServer(ref config, vmessItem, EditIndex) == 0)
|
|
||||||
{
|
|
||||||
this.DialogResult = DialogResult.OK;
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
UI.ShowWarning(UIRes.I18N("OperationFailed"));
|
|
||||||
}
|
|
||||||
}
|
|
||||||
private void btnClose_Click(object sender, EventArgs e)
|
|
||||||
{
|
|
||||||
this.DialogResult = DialogResult.Cancel;
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@@ -1,651 +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.Drawing" name="System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
|
|
||||||
<data name="btnClose.Location" type="System.Drawing.Point, System.Drawing">
|
|
||||||
<value>396, 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="label21.AutoSize" type="System.Boolean, mscorlib">
|
|
||||||
<value>True</value>
|
|
||||||
</data>
|
|
||||||
<assembly alias="System.Windows.Forms" name="System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
|
|
||||||
<data name="label21.ImeMode" type="System.Windows.Forms.ImeMode, System.Windows.Forms">
|
|
||||||
<value>NoControl</value>
|
|
||||||
</data>
|
|
||||||
<data name="label21.Location" type="System.Drawing.Point, System.Drawing">
|
|
||||||
<value>224, 189</value>
|
|
||||||
</data>
|
|
||||||
<data name="label21.Size" type="System.Drawing.Size, System.Drawing">
|
|
||||||
<value>83, 12</value>
|
|
||||||
</data>
|
|
||||||
<data name="label21.TabIndex" type="System.Int32, mscorlib">
|
|
||||||
<value>33</value>
|
|
||||||
</data>
|
|
||||||
<data name="label21.Text" xml:space="preserve">
|
|
||||||
<value>allowInsecure</value>
|
|
||||||
</data>
|
|
||||||
<data name=">>label21.Name" xml:space="preserve">
|
|
||||||
<value>label21</value>
|
|
||||||
</data>
|
|
||||||
<data name=">>label21.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=">>label21.Parent" xml:space="preserve">
|
|
||||||
<value>groupBox1</value>
|
|
||||||
</data>
|
|
||||||
<data name=">>label21.ZOrder" xml:space="preserve">
|
|
||||||
<value>0</value>
|
|
||||||
</data>
|
|
||||||
<data name="cmbAllowInsecure.Items" xml:space="preserve">
|
|
||||||
<value />
|
|
||||||
</data>
|
|
||||||
<data name="cmbAllowInsecure.Items1" xml:space="preserve">
|
|
||||||
<value>true</value>
|
|
||||||
</data>
|
|
||||||
<data name="cmbAllowInsecure.Items2" xml:space="preserve">
|
|
||||||
<value>false</value>
|
|
||||||
</data>
|
|
||||||
<data name="cmbAllowInsecure.Location" type="System.Drawing.Point, System.Drawing">
|
|
||||||
<value>312, 185</value>
|
|
||||||
</data>
|
|
||||||
<data name="cmbAllowInsecure.Size" type="System.Drawing.Size, System.Drawing">
|
|
||||||
<value>80, 20</value>
|
|
||||||
</data>
|
|
||||||
<data name="cmbAllowInsecure.TabIndex" type="System.Int32, mscorlib">
|
|
||||||
<value>32</value>
|
|
||||||
</data>
|
|
||||||
<data name=">>cmbAllowInsecure.Name" xml:space="preserve">
|
|
||||||
<value>cmbAllowInsecure</value>
|
|
||||||
</data>
|
|
||||||
<data name=">>cmbAllowInsecure.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=">>cmbAllowInsecure.Parent" xml:space="preserve">
|
|
||||||
<value>groupBox1</value>
|
|
||||||
</data>
|
|
||||||
<data name=">>cmbAllowInsecure.ZOrder" xml:space="preserve">
|
|
||||||
<value>1</value>
|
|
||||||
</data>
|
|
||||||
<data name="label15.AutoSize" type="System.Boolean, mscorlib">
|
|
||||||
<value>True</value>
|
|
||||||
</data>
|
|
||||||
<data name="label15.ImeMode" type="System.Windows.Forms.ImeMode, System.Windows.Forms">
|
|
||||||
<value>NoControl</value>
|
|
||||||
</data>
|
|
||||||
<data name="label15.Location" type="System.Drawing.Point, System.Drawing">
|
|
||||||
<value>12, 189</value>
|
|
||||||
</data>
|
|
||||||
<data name="label15.Size" type="System.Drawing.Size, System.Drawing">
|
|
||||||
<value>23, 12</value>
|
|
||||||
</data>
|
|
||||||
<data name="label15.TabIndex" type="System.Int32, mscorlib">
|
|
||||||
<value>26</value>
|
|
||||||
</data>
|
|
||||||
<data name="label15.Text" xml:space="preserve">
|
|
||||||
<value>TLS</value>
|
|
||||||
</data>
|
|
||||||
<data name=">>label15.Name" xml:space="preserve">
|
|
||||||
<value>label15</value>
|
|
||||||
</data>
|
|
||||||
<data name=">>label15.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=">>label15.Parent" xml:space="preserve">
|
|
||||||
<value>groupBox1</value>
|
|
||||||
</data>
|
|
||||||
<data name=">>label15.ZOrder" xml:space="preserve">
|
|
||||||
<value>2</value>
|
|
||||||
</data>
|
|
||||||
<data name="cmbStreamSecurity.Items" xml:space="preserve">
|
|
||||||
<value>tls</value>
|
|
||||||
</data>
|
|
||||||
<data name="cmbStreamSecurity.Items1" xml:space="preserve">
|
|
||||||
<value>xtls</value>
|
|
||||||
</data>
|
|
||||||
<data name="cmbStreamSecurity.Location" type="System.Drawing.Point, System.Drawing">
|
|
||||||
<value>127, 185</value>
|
|
||||||
</data>
|
|
||||||
<data name="cmbStreamSecurity.Size" type="System.Drawing.Size, System.Drawing">
|
|
||||||
<value>60, 20</value>
|
|
||||||
</data>
|
|
||||||
<data name="cmbStreamSecurity.TabIndex" type="System.Int32, mscorlib">
|
|
||||||
<value>25</value>
|
|
||||||
</data>
|
|
||||||
<data name=">>cmbStreamSecurity.Name" xml:space="preserve">
|
|
||||||
<value>cmbStreamSecurity</value>
|
|
||||||
</data>
|
|
||||||
<data name=">>cmbStreamSecurity.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=">>cmbStreamSecurity.Parent" xml:space="preserve">
|
|
||||||
<value>groupBox1</value>
|
|
||||||
</data>
|
|
||||||
<data name=">>cmbStreamSecurity.ZOrder" xml:space="preserve">
|
|
||||||
<value>3</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>12, 156</value>
|
|
||||||
</data>
|
|
||||||
<data name="label4.Size" type="System.Drawing.Size, System.Drawing">
|
|
||||||
<value>23, 12</value>
|
|
||||||
</data>
|
|
||||||
<data name="label4.TabIndex" type="System.Int32, mscorlib">
|
|
||||||
<value>24</value>
|
|
||||||
</data>
|
|
||||||
<data name="label4.Text" xml:space="preserve">
|
|
||||||
<value>SNI</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>groupBox1</value>
|
|
||||||
</data>
|
|
||||||
<data name=">>label4.ZOrder" xml:space="preserve">
|
|
||||||
<value>4</value>
|
|
||||||
</data>
|
|
||||||
<data name="txtSNI.Location" type="System.Drawing.Point, System.Drawing">
|
|
||||||
<value>127, 152</value>
|
|
||||||
</data>
|
|
||||||
<data name="txtSNI.Size" type="System.Drawing.Size, System.Drawing">
|
|
||||||
<value>359, 21</value>
|
|
||||||
</data>
|
|
||||||
<data name="txtSNI.TabIndex" type="System.Int32, mscorlib">
|
|
||||||
<value>23</value>
|
|
||||||
</data>
|
|
||||||
<data name=">>txtSNI.Name" xml:space="preserve">
|
|
||||||
<value>txtSNI</value>
|
|
||||||
</data>
|
|
||||||
<data name=">>txtSNI.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=">>txtSNI.Parent" xml:space="preserve">
|
|
||||||
<value>groupBox1</value>
|
|
||||||
</data>
|
|
||||||
<data name=">>txtSNI.ZOrder" xml:space="preserve">
|
|
||||||
<value>5</value>
|
|
||||||
</data>
|
|
||||||
<data name="label13.AutoSize" type="System.Boolean, mscorlib">
|
|
||||||
<value>True</value>
|
|
||||||
</data>
|
|
||||||
<data name="label13.Location" type="System.Drawing.Point, System.Drawing">
|
|
||||||
<value>428, 124</value>
|
|
||||||
</data>
|
|
||||||
<data name="label13.Size" type="System.Drawing.Size, System.Drawing">
|
|
||||||
<value>113, 12</value>
|
|
||||||
</data>
|
|
||||||
<data name="label13.TabIndex" type="System.Int32, mscorlib">
|
|
||||||
<value>22</value>
|
|
||||||
</data>
|
|
||||||
<data name="label13.Text" xml:space="preserve">
|
|
||||||
<value>* Fill in manually</value>
|
|
||||||
</data>
|
|
||||||
<data name=">>label13.Name" xml:space="preserve">
|
|
||||||
<value>label13</value>
|
|
||||||
</data>
|
|
||||||
<data name=">>label13.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=">>label13.Parent" xml:space="preserve">
|
|
||||||
<value>groupBox1</value>
|
|
||||||
</data>
|
|
||||||
<data name=">>label13.ZOrder" xml:space="preserve">
|
|
||||||
<value>6</value>
|
|
||||||
</data>
|
|
||||||
<data name="txtRemarks.Location" type="System.Drawing.Point, System.Drawing">
|
|
||||||
<value>127, 121</value>
|
|
||||||
</data>
|
|
||||||
<data name="txtRemarks.Size" type="System.Drawing.Size, System.Drawing">
|
|
||||||
<value>265, 21</value>
|
|
||||||
</data>
|
|
||||||
<data name="txtRemarks.TabIndex" type="System.Int32, mscorlib">
|
|
||||||
<value>11</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>groupBox1</value>
|
|
||||||
</data>
|
|
||||||
<data name=">>txtRemarks.ZOrder" xml:space="preserve">
|
|
||||||
<value>7</value>
|
|
||||||
</data>
|
|
||||||
<data name="label6.AutoSize" type="System.Boolean, mscorlib">
|
|
||||||
<value>True</value>
|
|
||||||
</data>
|
|
||||||
<data name="label6.Location" type="System.Drawing.Point, System.Drawing">
|
|
||||||
<value>12, 125</value>
|
|
||||||
</data>
|
|
||||||
<data name="label6.Size" type="System.Drawing.Size, System.Drawing">
|
|
||||||
<value>95, 12</value>
|
|
||||||
</data>
|
|
||||||
<data name="label6.TabIndex" type="System.Int32, mscorlib">
|
|
||||||
<value>10</value>
|
|
||||||
</data>
|
|
||||||
<data name="label6.Text" xml:space="preserve">
|
|
||||||
<value>Alias (remarks)</value>
|
|
||||||
</data>
|
|
||||||
<data name=">>label6.Name" xml:space="preserve">
|
|
||||||
<value>label6</value>
|
|
||||||
</data>
|
|
||||||
<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=">>label6.Parent" xml:space="preserve">
|
|
||||||
<value>groupBox1</value>
|
|
||||||
</data>
|
|
||||||
<data name=">>label6.ZOrder" xml:space="preserve">
|
|
||||||
<value>8</value>
|
|
||||||
</data>
|
|
||||||
<data name="txtId.Location" type="System.Drawing.Point, System.Drawing">
|
|
||||||
<value>127, 91</value>
|
|
||||||
</data>
|
|
||||||
<data name="txtId.Size" type="System.Drawing.Size, System.Drawing">
|
|
||||||
<value>265, 21</value>
|
|
||||||
</data>
|
|
||||||
<data name="txtId.TabIndex" type="System.Int32, mscorlib">
|
|
||||||
<value>5</value>
|
|
||||||
</data>
|
|
||||||
<data name=">>txtId.Name" xml:space="preserve">
|
|
||||||
<value>txtId</value>
|
|
||||||
</data>
|
|
||||||
<data name=">>txtId.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=">>txtId.Parent" xml:space="preserve">
|
|
||||||
<value>groupBox1</value>
|
|
||||||
</data>
|
|
||||||
<data name=">>txtId.ZOrder" xml:space="preserve">
|
|
||||||
<value>9</value>
|
|
||||||
</data>
|
|
||||||
<data name="label3.AutoSize" type="System.Boolean, mscorlib">
|
|
||||||
<value>True</value>
|
|
||||||
</data>
|
|
||||||
<data name="label3.Location" type="System.Drawing.Point, System.Drawing">
|
|
||||||
<value>12, 93</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>4</value>
|
|
||||||
</data>
|
|
||||||
<data name="label3.Text" xml:space="preserve">
|
|
||||||
<value>Password</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>groupBox1</value>
|
|
||||||
</data>
|
|
||||||
<data name=">>label3.ZOrder" xml:space="preserve">
|
|
||||||
<value>10</value>
|
|
||||||
</data>
|
|
||||||
<data name="txtPort.Location" type="System.Drawing.Point, System.Drawing">
|
|
||||||
<value>127, 59</value>
|
|
||||||
</data>
|
|
||||||
<data name="txtPort.Size" type="System.Drawing.Size, System.Drawing">
|
|
||||||
<value>194, 21</value>
|
|
||||||
</data>
|
|
||||||
<data name="txtPort.TabIndex" type="System.Int32, mscorlib">
|
|
||||||
<value>3</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>groupBox1</value>
|
|
||||||
</data>
|
|
||||||
<data name=">>txtPort.ZOrder" xml:space="preserve">
|
|
||||||
<value>11</value>
|
|
||||||
</data>
|
|
||||||
<data name="label2.AutoSize" type="System.Boolean, mscorlib">
|
|
||||||
<value>True</value>
|
|
||||||
</data>
|
|
||||||
<data name="label2.Location" type="System.Drawing.Point, System.Drawing">
|
|
||||||
<value>12, 62</value>
|
|
||||||
</data>
|
|
||||||
<data name="label2.Size" type="System.Drawing.Size, System.Drawing">
|
|
||||||
<value>71, 12</value>
|
|
||||||
</data>
|
|
||||||
<data name="label2.TabIndex" type="System.Int32, mscorlib">
|
|
||||||
<value>2</value>
|
|
||||||
</data>
|
|
||||||
<data name="label2.Text" xml:space="preserve">
|
|
||||||
<value>Server port</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>groupBox1</value>
|
|
||||||
</data>
|
|
||||||
<data name=">>label2.ZOrder" xml:space="preserve">
|
|
||||||
<value>12</value>
|
|
||||||
</data>
|
|
||||||
<data name="txtAddress.Location" type="System.Drawing.Point, System.Drawing">
|
|
||||||
<value>127, 27</value>
|
|
||||||
</data>
|
|
||||||
<data name="txtAddress.Size" type="System.Drawing.Size, System.Drawing">
|
|
||||||
<value>359, 21</value>
|
|
||||||
</data>
|
|
||||||
<data name="txtAddress.TabIndex" type="System.Int32, mscorlib">
|
|
||||||
<value>1</value>
|
|
||||||
</data>
|
|
||||||
<data name=">>txtAddress.Name" xml:space="preserve">
|
|
||||||
<value>txtAddress</value>
|
|
||||||
</data>
|
|
||||||
<data name=">>txtAddress.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=">>txtAddress.Parent" xml:space="preserve">
|
|
||||||
<value>groupBox1</value>
|
|
||||||
</data>
|
|
||||||
<data name=">>txtAddress.ZOrder" xml:space="preserve">
|
|
||||||
<value>13</value>
|
|
||||||
</data>
|
|
||||||
<data name="label1.AutoSize" type="System.Boolean, mscorlib">
|
|
||||||
<value>True</value>
|
|
||||||
</data>
|
|
||||||
<data name="label1.Location" type="System.Drawing.Point, System.Drawing">
|
|
||||||
<value>12, 31</value>
|
|
||||||
</data>
|
|
||||||
<data name="label1.Size" type="System.Drawing.Size, System.Drawing">
|
|
||||||
<value>89, 12</value>
|
|
||||||
</data>
|
|
||||||
<data name="label1.TabIndex" type="System.Int32, mscorlib">
|
|
||||||
<value>0</value>
|
|
||||||
</data>
|
|
||||||
<data name="label1.Text" xml:space="preserve">
|
|
||||||
<value>Server address</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>groupBox1</value>
|
|
||||||
</data>
|
|
||||||
<data name=">>label1.ZOrder" xml:space="preserve">
|
|
||||||
<value>14</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, 10</value>
|
|
||||||
</data>
|
|
||||||
<data name="groupBox1.Size" type="System.Drawing.Size, System.Drawing">
|
|
||||||
<value>547, 221</value>
|
|
||||||
</data>
|
|
||||||
<data name="groupBox1.TabIndex" type="System.Int32, mscorlib">
|
|
||||||
<value>3</value>
|
|
||||||
</data>
|
|
||||||
<data name="groupBox1.Text" xml:space="preserve">
|
|
||||||
<value>Server</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>$this</value>
|
|
||||||
</data>
|
|
||||||
<data name=">>groupBox1.ZOrder" xml:space="preserve">
|
|
||||||
<value>0</value>
|
|
||||||
</data>
|
|
||||||
<data name="btnOK.Location" type="System.Drawing.Point, System.Drawing">
|
|
||||||
<value>303, 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, 231</value>
|
|
||||||
</data>
|
|
||||||
<data name="panel2.Size" type="System.Drawing.Size, System.Drawing">
|
|
||||||
<value>547, 60</value>
|
|
||||||
</data>
|
|
||||||
<data name="panel2.TabIndex" type="System.Int32, mscorlib">
|
|
||||||
<value>7</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="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, 0</value>
|
|
||||||
</data>
|
|
||||||
<data name="panel1.Size" type="System.Drawing.Size, System.Drawing">
|
|
||||||
<value>547, 10</value>
|
|
||||||
</data>
|
|
||||||
<data name="panel1.TabIndex" type="System.Int32, mscorlib">
|
|
||||||
<value>6</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>2</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>547, 291</value>
|
|
||||||
</data>
|
|
||||||
<data name="$this.Text" xml:space="preserve">
|
|
||||||
<value>Edit or add a [Trojan] server</value>
|
|
||||||
</data>
|
|
||||||
<data name=">>$this.Name" xml:space="preserve">
|
|
||||||
<value>AddServer6Form</value>
|
|
||||||
</data>
|
|
||||||
<data name=">>$this.Type" xml:space="preserve">
|
|
||||||
<value>v2rayN.Forms.BaseServerForm, v2rayN, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null</value>
|
|
||||||
</data>
|
|
||||||
</root>
|
|
||||||
724
v2rayN/v2rayN/Forms/AddServerForm.Designer.cs
generated
724
v2rayN/v2rayN/Forms/AddServerForm.Designer.cs
generated
@@ -31,61 +31,62 @@
|
|||||||
System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(AddServerForm));
|
System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(AddServerForm));
|
||||||
this.btnClose = new System.Windows.Forms.Button();
|
this.btnClose = new System.Windows.Forms.Button();
|
||||||
this.groupBox1 = new System.Windows.Forms.GroupBox();
|
this.groupBox1 = new System.Windows.Forms.GroupBox();
|
||||||
this.btnGUID = new System.Windows.Forms.Button();
|
this.panSocks = new System.Windows.Forms.Panel();
|
||||||
this.label13 = new System.Windows.Forms.Label();
|
|
||||||
this.groupBox2 = new System.Windows.Forms.GroupBox();
|
|
||||||
this.label25 = new System.Windows.Forms.Label();
|
|
||||||
this.label24 = new System.Windows.Forms.Label();
|
|
||||||
this.label23 = new System.Windows.Forms.Label();
|
|
||||||
this.panTlsMore = new System.Windows.Forms.Panel();
|
|
||||||
this.txtSNI = new System.Windows.Forms.TextBox();
|
|
||||||
this.label22 = new System.Windows.Forms.Label();
|
|
||||||
this.label21 = new System.Windows.Forms.Label();
|
|
||||||
this.cmbAllowInsecure = new System.Windows.Forms.ComboBox();
|
|
||||||
this.label9 = new System.Windows.Forms.Label();
|
|
||||||
this.label20 = new System.Windows.Forms.Label();
|
|
||||||
this.txtPath = new System.Windows.Forms.TextBox();
|
|
||||||
this.cmbNetwork = new System.Windows.Forms.ComboBox();
|
|
||||||
this.label7 = new System.Windows.Forms.Label();
|
|
||||||
this.label19 = new System.Windows.Forms.Label();
|
|
||||||
this.label18 = new System.Windows.Forms.Label();
|
|
||||||
this.label17 = new System.Windows.Forms.Label();
|
this.label17 = new System.Windows.Forms.Label();
|
||||||
this.label16 = new System.Windows.Forms.Label();
|
this.txtSecurity4 = new System.Windows.Forms.TextBox();
|
||||||
this.label14 = new System.Windows.Forms.Label();
|
this.label18 = new System.Windows.Forms.Label();
|
||||||
|
this.txtId4 = new System.Windows.Forms.TextBox();
|
||||||
|
this.panSs = new System.Windows.Forms.Panel();
|
||||||
|
this.txtId3 = new System.Windows.Forms.TextBox();
|
||||||
this.label15 = new System.Windows.Forms.Label();
|
this.label15 = new System.Windows.Forms.Label();
|
||||||
this.cmbStreamSecurity = new System.Windows.Forms.ComboBox();
|
this.cmbSecurity3 = new System.Windows.Forms.ComboBox();
|
||||||
|
this.label16 = new System.Windows.Forms.Label();
|
||||||
|
this.panTrojan = new System.Windows.Forms.Panel();
|
||||||
this.label12 = new System.Windows.Forms.Label();
|
this.label12 = new System.Windows.Forms.Label();
|
||||||
this.txtRequestHost = new System.Windows.Forms.TextBox();
|
this.cmbFlow6 = new System.Windows.Forms.ComboBox();
|
||||||
this.label11 = new System.Windows.Forms.Label();
|
this.txtId6 = new System.Windows.Forms.TextBox();
|
||||||
|
this.label14 = new System.Windows.Forms.Label();
|
||||||
|
this.panVless = new System.Windows.Forms.Panel();
|
||||||
|
this.label7 = new System.Windows.Forms.Label();
|
||||||
|
this.cmbFlow5 = new System.Windows.Forms.ComboBox();
|
||||||
|
this.txtId5 = new System.Windows.Forms.TextBox();
|
||||||
|
this.label9 = new System.Windows.Forms.Label();
|
||||||
this.label10 = new System.Windows.Forms.Label();
|
this.label10 = new System.Windows.Forms.Label();
|
||||||
this.cmbHeaderType = new System.Windows.Forms.ComboBox();
|
this.btnGUID5 = new System.Windows.Forms.Button();
|
||||||
this.label8 = new System.Windows.Forms.Label();
|
this.cmbSecurity5 = new System.Windows.Forms.ComboBox();
|
||||||
this.cmbSecurity = new System.Windows.Forms.ComboBox();
|
this.label11 = new System.Windows.Forms.Label();
|
||||||
this.txtRemarks = new System.Windows.Forms.TextBox();
|
this.panVmess = new System.Windows.Forms.Panel();
|
||||||
this.label6 = new System.Windows.Forms.Label();
|
|
||||||
this.label5 = new System.Windows.Forms.Label();
|
|
||||||
this.txtAlterId = new System.Windows.Forms.TextBox();
|
|
||||||
this.label4 = new System.Windows.Forms.Label();
|
|
||||||
this.txtId = new System.Windows.Forms.TextBox();
|
|
||||||
this.label3 = new System.Windows.Forms.Label();
|
this.label3 = new System.Windows.Forms.Label();
|
||||||
this.txtPort = new System.Windows.Forms.TextBox();
|
this.txtId = new System.Windows.Forms.TextBox();
|
||||||
this.label2 = new System.Windows.Forms.Label();
|
this.btnGUID = new System.Windows.Forms.Button();
|
||||||
this.txtAddress = new System.Windows.Forms.TextBox();
|
this.label4 = new System.Windows.Forms.Label();
|
||||||
|
this.label8 = new System.Windows.Forms.Label();
|
||||||
|
this.txtAlterId = new System.Windows.Forms.TextBox();
|
||||||
|
this.cmbSecurity = new System.Windows.Forms.ComboBox();
|
||||||
|
this.label5 = new System.Windows.Forms.Label();
|
||||||
|
this.panAddr = new System.Windows.Forms.Panel();
|
||||||
|
this.label6 = new System.Windows.Forms.Label();
|
||||||
this.label1 = new System.Windows.Forms.Label();
|
this.label1 = new System.Windows.Forms.Label();
|
||||||
this.panel2 = new System.Windows.Forms.Panel();
|
this.txtAddress = new System.Windows.Forms.TextBox();
|
||||||
|
this.label2 = new System.Windows.Forms.Label();
|
||||||
|
this.txtPort = new System.Windows.Forms.TextBox();
|
||||||
|
this.txtRemarks = new System.Windows.Forms.TextBox();
|
||||||
|
this.panBottom = new System.Windows.Forms.Panel();
|
||||||
this.btnOK = new System.Windows.Forms.Button();
|
this.btnOK = new System.Windows.Forms.Button();
|
||||||
this.panel1 = new System.Windows.Forms.Panel();
|
this.panTop = new System.Windows.Forms.Panel();
|
||||||
this.menuServer = new System.Windows.Forms.MenuStrip();
|
this.panTran = new System.Windows.Forms.Panel();
|
||||||
this.MenuItem1 = new System.Windows.Forms.ToolStripMenuItem();
|
this.transportControl = new v2rayN.Forms.ServerTransportControl();
|
||||||
this.MenuItemImportClient = new System.Windows.Forms.ToolStripMenuItem();
|
this.cmbCoreType = new System.Windows.Forms.ComboBox();
|
||||||
this.MenuItemImportServer = new System.Windows.Forms.ToolStripMenuItem();
|
this.labCoreType = new System.Windows.Forms.Label();
|
||||||
this.toolStripSeparator1 = new System.Windows.Forms.ToolStripSeparator();
|
|
||||||
this.MenuItemImportClipboard = new System.Windows.Forms.ToolStripMenuItem();
|
|
||||||
this.groupBox1.SuspendLayout();
|
this.groupBox1.SuspendLayout();
|
||||||
this.groupBox2.SuspendLayout();
|
this.panSocks.SuspendLayout();
|
||||||
this.panTlsMore.SuspendLayout();
|
this.panSs.SuspendLayout();
|
||||||
this.panel2.SuspendLayout();
|
this.panTrojan.SuspendLayout();
|
||||||
this.menuServer.SuspendLayout();
|
this.panVless.SuspendLayout();
|
||||||
|
this.panVmess.SuspendLayout();
|
||||||
|
this.panAddr.SuspendLayout();
|
||||||
|
this.panBottom.SuspendLayout();
|
||||||
|
this.panTran.SuspendLayout();
|
||||||
this.SuspendLayout();
|
this.SuspendLayout();
|
||||||
//
|
//
|
||||||
// btnClose
|
// btnClose
|
||||||
@@ -98,26 +99,189 @@
|
|||||||
//
|
//
|
||||||
// groupBox1
|
// groupBox1
|
||||||
//
|
//
|
||||||
this.groupBox1.Controls.Add(this.btnGUID);
|
this.groupBox1.Controls.Add(this.panSocks);
|
||||||
this.groupBox1.Controls.Add(this.label13);
|
this.groupBox1.Controls.Add(this.panSs);
|
||||||
this.groupBox1.Controls.Add(this.groupBox2);
|
this.groupBox1.Controls.Add(this.panTrojan);
|
||||||
this.groupBox1.Controls.Add(this.label8);
|
this.groupBox1.Controls.Add(this.panVless);
|
||||||
this.groupBox1.Controls.Add(this.cmbSecurity);
|
this.groupBox1.Controls.Add(this.panVmess);
|
||||||
this.groupBox1.Controls.Add(this.txtRemarks);
|
this.groupBox1.Controls.Add(this.panAddr);
|
||||||
this.groupBox1.Controls.Add(this.label6);
|
|
||||||
this.groupBox1.Controls.Add(this.label5);
|
|
||||||
this.groupBox1.Controls.Add(this.txtAlterId);
|
|
||||||
this.groupBox1.Controls.Add(this.label4);
|
|
||||||
this.groupBox1.Controls.Add(this.txtId);
|
|
||||||
this.groupBox1.Controls.Add(this.label3);
|
|
||||||
this.groupBox1.Controls.Add(this.txtPort);
|
|
||||||
this.groupBox1.Controls.Add(this.label2);
|
|
||||||
this.groupBox1.Controls.Add(this.txtAddress);
|
|
||||||
this.groupBox1.Controls.Add(this.label1);
|
|
||||||
resources.ApplyResources(this.groupBox1, "groupBox1");
|
resources.ApplyResources(this.groupBox1, "groupBox1");
|
||||||
this.groupBox1.Name = "groupBox1";
|
this.groupBox1.Name = "groupBox1";
|
||||||
this.groupBox1.TabStop = false;
|
this.groupBox1.TabStop = false;
|
||||||
//
|
//
|
||||||
|
// panSocks
|
||||||
|
//
|
||||||
|
this.panSocks.Controls.Add(this.label17);
|
||||||
|
this.panSocks.Controls.Add(this.txtSecurity4);
|
||||||
|
this.panSocks.Controls.Add(this.label18);
|
||||||
|
this.panSocks.Controls.Add(this.txtId4);
|
||||||
|
resources.ApplyResources(this.panSocks, "panSocks");
|
||||||
|
this.panSocks.Name = "panSocks";
|
||||||
|
//
|
||||||
|
// label17
|
||||||
|
//
|
||||||
|
resources.ApplyResources(this.label17, "label17");
|
||||||
|
this.label17.Name = "label17";
|
||||||
|
//
|
||||||
|
// txtSecurity4
|
||||||
|
//
|
||||||
|
resources.ApplyResources(this.txtSecurity4, "txtSecurity4");
|
||||||
|
this.txtSecurity4.Name = "txtSecurity4";
|
||||||
|
//
|
||||||
|
// label18
|
||||||
|
//
|
||||||
|
resources.ApplyResources(this.label18, "label18");
|
||||||
|
this.label18.Name = "label18";
|
||||||
|
//
|
||||||
|
// txtId4
|
||||||
|
//
|
||||||
|
resources.ApplyResources(this.txtId4, "txtId4");
|
||||||
|
this.txtId4.Name = "txtId4";
|
||||||
|
//
|
||||||
|
// panSs
|
||||||
|
//
|
||||||
|
this.panSs.Controls.Add(this.txtId3);
|
||||||
|
this.panSs.Controls.Add(this.label15);
|
||||||
|
this.panSs.Controls.Add(this.cmbSecurity3);
|
||||||
|
this.panSs.Controls.Add(this.label16);
|
||||||
|
resources.ApplyResources(this.panSs, "panSs");
|
||||||
|
this.panSs.Name = "panSs";
|
||||||
|
//
|
||||||
|
// txtId3
|
||||||
|
//
|
||||||
|
resources.ApplyResources(this.txtId3, "txtId3");
|
||||||
|
this.txtId3.Name = "txtId3";
|
||||||
|
//
|
||||||
|
// label15
|
||||||
|
//
|
||||||
|
resources.ApplyResources(this.label15, "label15");
|
||||||
|
this.label15.Name = "label15";
|
||||||
|
//
|
||||||
|
// cmbSecurity3
|
||||||
|
//
|
||||||
|
this.cmbSecurity3.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList;
|
||||||
|
this.cmbSecurity3.FormattingEnabled = true;
|
||||||
|
resources.ApplyResources(this.cmbSecurity3, "cmbSecurity3");
|
||||||
|
this.cmbSecurity3.Name = "cmbSecurity3";
|
||||||
|
//
|
||||||
|
// label16
|
||||||
|
//
|
||||||
|
resources.ApplyResources(this.label16, "label16");
|
||||||
|
this.label16.Name = "label16";
|
||||||
|
//
|
||||||
|
// panTrojan
|
||||||
|
//
|
||||||
|
this.panTrojan.Controls.Add(this.label12);
|
||||||
|
this.panTrojan.Controls.Add(this.cmbFlow6);
|
||||||
|
this.panTrojan.Controls.Add(this.txtId6);
|
||||||
|
this.panTrojan.Controls.Add(this.label14);
|
||||||
|
resources.ApplyResources(this.panTrojan, "panTrojan");
|
||||||
|
this.panTrojan.Name = "panTrojan";
|
||||||
|
//
|
||||||
|
// label12
|
||||||
|
//
|
||||||
|
resources.ApplyResources(this.label12, "label12");
|
||||||
|
this.label12.Name = "label12";
|
||||||
|
//
|
||||||
|
// cmbFlow6
|
||||||
|
//
|
||||||
|
this.cmbFlow6.FormattingEnabled = true;
|
||||||
|
resources.ApplyResources(this.cmbFlow6, "cmbFlow6");
|
||||||
|
this.cmbFlow6.Name = "cmbFlow6";
|
||||||
|
//
|
||||||
|
// txtId6
|
||||||
|
//
|
||||||
|
resources.ApplyResources(this.txtId6, "txtId6");
|
||||||
|
this.txtId6.Name = "txtId6";
|
||||||
|
//
|
||||||
|
// label14
|
||||||
|
//
|
||||||
|
resources.ApplyResources(this.label14, "label14");
|
||||||
|
this.label14.Name = "label14";
|
||||||
|
//
|
||||||
|
// panVless
|
||||||
|
//
|
||||||
|
this.panVless.Controls.Add(this.label7);
|
||||||
|
this.panVless.Controls.Add(this.cmbFlow5);
|
||||||
|
this.panVless.Controls.Add(this.txtId5);
|
||||||
|
this.panVless.Controls.Add(this.label9);
|
||||||
|
this.panVless.Controls.Add(this.label10);
|
||||||
|
this.panVless.Controls.Add(this.btnGUID5);
|
||||||
|
this.panVless.Controls.Add(this.cmbSecurity5);
|
||||||
|
this.panVless.Controls.Add(this.label11);
|
||||||
|
resources.ApplyResources(this.panVless, "panVless");
|
||||||
|
this.panVless.Name = "panVless";
|
||||||
|
//
|
||||||
|
// label7
|
||||||
|
//
|
||||||
|
resources.ApplyResources(this.label7, "label7");
|
||||||
|
this.label7.Name = "label7";
|
||||||
|
//
|
||||||
|
// cmbFlow5
|
||||||
|
//
|
||||||
|
this.cmbFlow5.FormattingEnabled = true;
|
||||||
|
resources.ApplyResources(this.cmbFlow5, "cmbFlow5");
|
||||||
|
this.cmbFlow5.Name = "cmbFlow5";
|
||||||
|
//
|
||||||
|
// txtId5
|
||||||
|
//
|
||||||
|
resources.ApplyResources(this.txtId5, "txtId5");
|
||||||
|
this.txtId5.Name = "txtId5";
|
||||||
|
//
|
||||||
|
// label9
|
||||||
|
//
|
||||||
|
resources.ApplyResources(this.label9, "label9");
|
||||||
|
this.label9.Name = "label9";
|
||||||
|
//
|
||||||
|
// label10
|
||||||
|
//
|
||||||
|
resources.ApplyResources(this.label10, "label10");
|
||||||
|
this.label10.Name = "label10";
|
||||||
|
//
|
||||||
|
// btnGUID5
|
||||||
|
//
|
||||||
|
resources.ApplyResources(this.btnGUID5, "btnGUID5");
|
||||||
|
this.btnGUID5.Name = "btnGUID5";
|
||||||
|
this.btnGUID5.UseVisualStyleBackColor = true;
|
||||||
|
this.btnGUID5.Click += new System.EventHandler(this.btnGUID_Click);
|
||||||
|
//
|
||||||
|
// cmbSecurity5
|
||||||
|
//
|
||||||
|
this.cmbSecurity5.DropDownStyle = System.Windows.Forms.ComboBoxStyle.Simple;
|
||||||
|
this.cmbSecurity5.FormattingEnabled = true;
|
||||||
|
this.cmbSecurity5.Items.AddRange(new object[] {
|
||||||
|
resources.GetString("cmbSecurity5.Items")});
|
||||||
|
resources.ApplyResources(this.cmbSecurity5, "cmbSecurity5");
|
||||||
|
this.cmbSecurity5.Name = "cmbSecurity5";
|
||||||
|
//
|
||||||
|
// label11
|
||||||
|
//
|
||||||
|
resources.ApplyResources(this.label11, "label11");
|
||||||
|
this.label11.Name = "label11";
|
||||||
|
//
|
||||||
|
// panVmess
|
||||||
|
//
|
||||||
|
this.panVmess.Controls.Add(this.label3);
|
||||||
|
this.panVmess.Controls.Add(this.txtId);
|
||||||
|
this.panVmess.Controls.Add(this.btnGUID);
|
||||||
|
this.panVmess.Controls.Add(this.label4);
|
||||||
|
this.panVmess.Controls.Add(this.label8);
|
||||||
|
this.panVmess.Controls.Add(this.txtAlterId);
|
||||||
|
this.panVmess.Controls.Add(this.cmbSecurity);
|
||||||
|
this.panVmess.Controls.Add(this.label5);
|
||||||
|
resources.ApplyResources(this.panVmess, "panVmess");
|
||||||
|
this.panVmess.Name = "panVmess";
|
||||||
|
//
|
||||||
|
// label3
|
||||||
|
//
|
||||||
|
resources.ApplyResources(this.label3, "label3");
|
||||||
|
this.label3.Name = "label3";
|
||||||
|
//
|
||||||
|
// txtId
|
||||||
|
//
|
||||||
|
resources.ApplyResources(this.txtId, "txtId");
|
||||||
|
this.txtId.Name = "txtId";
|
||||||
|
//
|
||||||
// btnGUID
|
// btnGUID
|
||||||
//
|
//
|
||||||
resources.ApplyResources(this.btnGUID, "btnGUID");
|
resources.ApplyResources(this.btnGUID, "btnGUID");
|
||||||
@@ -125,278 +289,82 @@
|
|||||||
this.btnGUID.UseVisualStyleBackColor = true;
|
this.btnGUID.UseVisualStyleBackColor = true;
|
||||||
this.btnGUID.Click += new System.EventHandler(this.btnGUID_Click);
|
this.btnGUID.Click += new System.EventHandler(this.btnGUID_Click);
|
||||||
//
|
//
|
||||||
// label13
|
// label4
|
||||||
//
|
//
|
||||||
resources.ApplyResources(this.label13, "label13");
|
resources.ApplyResources(this.label4, "label4");
|
||||||
this.label13.Name = "label13";
|
this.label4.Name = "label4";
|
||||||
//
|
|
||||||
// groupBox2
|
|
||||||
//
|
|
||||||
this.groupBox2.Controls.Add(this.label25);
|
|
||||||
this.groupBox2.Controls.Add(this.label24);
|
|
||||||
this.groupBox2.Controls.Add(this.label23);
|
|
||||||
this.groupBox2.Controls.Add(this.panTlsMore);
|
|
||||||
this.groupBox2.Controls.Add(this.label9);
|
|
||||||
this.groupBox2.Controls.Add(this.label20);
|
|
||||||
this.groupBox2.Controls.Add(this.txtPath);
|
|
||||||
this.groupBox2.Controls.Add(this.cmbNetwork);
|
|
||||||
this.groupBox2.Controls.Add(this.label7);
|
|
||||||
this.groupBox2.Controls.Add(this.label19);
|
|
||||||
this.groupBox2.Controls.Add(this.label18);
|
|
||||||
this.groupBox2.Controls.Add(this.label17);
|
|
||||||
this.groupBox2.Controls.Add(this.label16);
|
|
||||||
this.groupBox2.Controls.Add(this.label14);
|
|
||||||
this.groupBox2.Controls.Add(this.label15);
|
|
||||||
this.groupBox2.Controls.Add(this.cmbStreamSecurity);
|
|
||||||
this.groupBox2.Controls.Add(this.label12);
|
|
||||||
this.groupBox2.Controls.Add(this.txtRequestHost);
|
|
||||||
this.groupBox2.Controls.Add(this.label11);
|
|
||||||
this.groupBox2.Controls.Add(this.label10);
|
|
||||||
this.groupBox2.Controls.Add(this.cmbHeaderType);
|
|
||||||
resources.ApplyResources(this.groupBox2, "groupBox2");
|
|
||||||
this.groupBox2.Name = "groupBox2";
|
|
||||||
this.groupBox2.TabStop = false;
|
|
||||||
//
|
|
||||||
// label25
|
|
||||||
//
|
|
||||||
resources.ApplyResources(this.label25, "label25");
|
|
||||||
this.label25.Name = "label25";
|
|
||||||
//
|
|
||||||
// label24
|
|
||||||
//
|
|
||||||
resources.ApplyResources(this.label24, "label24");
|
|
||||||
this.label24.Name = "label24";
|
|
||||||
//
|
|
||||||
// label23
|
|
||||||
//
|
|
||||||
resources.ApplyResources(this.label23, "label23");
|
|
||||||
this.label23.Name = "label23";
|
|
||||||
//
|
|
||||||
// panTlsMore
|
|
||||||
//
|
|
||||||
this.panTlsMore.Controls.Add(this.txtSNI);
|
|
||||||
this.panTlsMore.Controls.Add(this.label22);
|
|
||||||
this.panTlsMore.Controls.Add(this.label21);
|
|
||||||
this.panTlsMore.Controls.Add(this.cmbAllowInsecure);
|
|
||||||
resources.ApplyResources(this.panTlsMore, "panTlsMore");
|
|
||||||
this.panTlsMore.Name = "panTlsMore";
|
|
||||||
//
|
|
||||||
// txtSNI
|
|
||||||
//
|
|
||||||
resources.ApplyResources(this.txtSNI, "txtSNI");
|
|
||||||
this.txtSNI.Name = "txtSNI";
|
|
||||||
//
|
|
||||||
// label22
|
|
||||||
//
|
|
||||||
resources.ApplyResources(this.label22, "label22");
|
|
||||||
this.label22.Name = "label22";
|
|
||||||
//
|
|
||||||
// label21
|
|
||||||
//
|
|
||||||
resources.ApplyResources(this.label21, "label21");
|
|
||||||
this.label21.Name = "label21";
|
|
||||||
//
|
|
||||||
// cmbAllowInsecure
|
|
||||||
//
|
|
||||||
this.cmbAllowInsecure.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList;
|
|
||||||
this.cmbAllowInsecure.FormattingEnabled = true;
|
|
||||||
this.cmbAllowInsecure.Items.AddRange(new object[] {
|
|
||||||
resources.GetString("cmbAllowInsecure.Items"),
|
|
||||||
resources.GetString("cmbAllowInsecure.Items1"),
|
|
||||||
resources.GetString("cmbAllowInsecure.Items2")});
|
|
||||||
resources.ApplyResources(this.cmbAllowInsecure, "cmbAllowInsecure");
|
|
||||||
this.cmbAllowInsecure.Name = "cmbAllowInsecure";
|
|
||||||
//
|
|
||||||
// label9
|
|
||||||
//
|
|
||||||
resources.ApplyResources(this.label9, "label9");
|
|
||||||
this.label9.Name = "label9";
|
|
||||||
//
|
|
||||||
// label20
|
|
||||||
//
|
|
||||||
resources.ApplyResources(this.label20, "label20");
|
|
||||||
this.label20.Name = "label20";
|
|
||||||
//
|
|
||||||
// txtPath
|
|
||||||
//
|
|
||||||
resources.ApplyResources(this.txtPath, "txtPath");
|
|
||||||
this.txtPath.Name = "txtPath";
|
|
||||||
//
|
|
||||||
// cmbNetwork
|
|
||||||
//
|
|
||||||
this.cmbNetwork.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList;
|
|
||||||
this.cmbNetwork.FormattingEnabled = true;
|
|
||||||
this.cmbNetwork.Items.AddRange(new object[] {
|
|
||||||
resources.GetString("cmbNetwork.Items"),
|
|
||||||
resources.GetString("cmbNetwork.Items1"),
|
|
||||||
resources.GetString("cmbNetwork.Items2"),
|
|
||||||
resources.GetString("cmbNetwork.Items3"),
|
|
||||||
resources.GetString("cmbNetwork.Items4"),
|
|
||||||
resources.GetString("cmbNetwork.Items5")});
|
|
||||||
resources.ApplyResources(this.cmbNetwork, "cmbNetwork");
|
|
||||||
this.cmbNetwork.Name = "cmbNetwork";
|
|
||||||
this.cmbNetwork.SelectedIndexChanged += new System.EventHandler(this.cmbNetwork_SelectedIndexChanged);
|
|
||||||
//
|
|
||||||
// label7
|
|
||||||
//
|
|
||||||
resources.ApplyResources(this.label7, "label7");
|
|
||||||
this.label7.Name = "label7";
|
|
||||||
//
|
|
||||||
// label19
|
|
||||||
//
|
|
||||||
resources.ApplyResources(this.label19, "label19");
|
|
||||||
this.label19.Name = "label19";
|
|
||||||
//
|
|
||||||
// label18
|
|
||||||
//
|
|
||||||
resources.ApplyResources(this.label18, "label18");
|
|
||||||
this.label18.Name = "label18";
|
|
||||||
//
|
|
||||||
// label17
|
|
||||||
//
|
|
||||||
resources.ApplyResources(this.label17, "label17");
|
|
||||||
this.label17.Name = "label17";
|
|
||||||
//
|
|
||||||
// label16
|
|
||||||
//
|
|
||||||
resources.ApplyResources(this.label16, "label16");
|
|
||||||
this.label16.Name = "label16";
|
|
||||||
//
|
|
||||||
// label14
|
|
||||||
//
|
|
||||||
resources.ApplyResources(this.label14, "label14");
|
|
||||||
this.label14.Name = "label14";
|
|
||||||
//
|
|
||||||
// label15
|
|
||||||
//
|
|
||||||
resources.ApplyResources(this.label15, "label15");
|
|
||||||
this.label15.Name = "label15";
|
|
||||||
//
|
|
||||||
// cmbStreamSecurity
|
|
||||||
//
|
|
||||||
this.cmbStreamSecurity.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList;
|
|
||||||
this.cmbStreamSecurity.FormattingEnabled = true;
|
|
||||||
this.cmbStreamSecurity.Items.AddRange(new object[] {
|
|
||||||
resources.GetString("cmbStreamSecurity.Items"),
|
|
||||||
resources.GetString("cmbStreamSecurity.Items1")});
|
|
||||||
resources.ApplyResources(this.cmbStreamSecurity, "cmbStreamSecurity");
|
|
||||||
this.cmbStreamSecurity.Name = "cmbStreamSecurity";
|
|
||||||
this.cmbStreamSecurity.SelectedIndexChanged += new System.EventHandler(this.cmbStreamSecurity_SelectedIndexChanged);
|
|
||||||
//
|
|
||||||
// label12
|
|
||||||
//
|
|
||||||
resources.ApplyResources(this.label12, "label12");
|
|
||||||
this.label12.Name = "label12";
|
|
||||||
//
|
|
||||||
// txtRequestHost
|
|
||||||
//
|
|
||||||
resources.ApplyResources(this.txtRequestHost, "txtRequestHost");
|
|
||||||
this.txtRequestHost.Name = "txtRequestHost";
|
|
||||||
//
|
|
||||||
// label11
|
|
||||||
//
|
|
||||||
resources.ApplyResources(this.label11, "label11");
|
|
||||||
this.label11.Name = "label11";
|
|
||||||
//
|
|
||||||
// label10
|
|
||||||
//
|
|
||||||
resources.ApplyResources(this.label10, "label10");
|
|
||||||
this.label10.Name = "label10";
|
|
||||||
//
|
|
||||||
// cmbHeaderType
|
|
||||||
//
|
|
||||||
this.cmbHeaderType.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList;
|
|
||||||
this.cmbHeaderType.FormattingEnabled = true;
|
|
||||||
this.cmbHeaderType.Items.AddRange(new object[] {
|
|
||||||
resources.GetString("cmbHeaderType.Items"),
|
|
||||||
resources.GetString("cmbHeaderType.Items1"),
|
|
||||||
resources.GetString("cmbHeaderType.Items2"),
|
|
||||||
resources.GetString("cmbHeaderType.Items3"),
|
|
||||||
resources.GetString("cmbHeaderType.Items4"),
|
|
||||||
resources.GetString("cmbHeaderType.Items5"),
|
|
||||||
resources.GetString("cmbHeaderType.Items6")});
|
|
||||||
resources.ApplyResources(this.cmbHeaderType, "cmbHeaderType");
|
|
||||||
this.cmbHeaderType.Name = "cmbHeaderType";
|
|
||||||
//
|
//
|
||||||
// label8
|
// label8
|
||||||
//
|
//
|
||||||
resources.ApplyResources(this.label8, "label8");
|
resources.ApplyResources(this.label8, "label8");
|
||||||
this.label8.Name = "label8";
|
this.label8.Name = "label8";
|
||||||
//
|
//
|
||||||
|
// txtAlterId
|
||||||
|
//
|
||||||
|
resources.ApplyResources(this.txtAlterId, "txtAlterId");
|
||||||
|
this.txtAlterId.Name = "txtAlterId";
|
||||||
|
//
|
||||||
// cmbSecurity
|
// cmbSecurity
|
||||||
//
|
//
|
||||||
this.cmbSecurity.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList;
|
this.cmbSecurity.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList;
|
||||||
this.cmbSecurity.FormattingEnabled = true;
|
this.cmbSecurity.FormattingEnabled = true;
|
||||||
this.cmbSecurity.Items.AddRange(new object[] {
|
|
||||||
resources.GetString("cmbSecurity.Items"),
|
|
||||||
resources.GetString("cmbSecurity.Items1"),
|
|
||||||
resources.GetString("cmbSecurity.Items2"),
|
|
||||||
resources.GetString("cmbSecurity.Items3"),
|
|
||||||
resources.GetString("cmbSecurity.Items4")});
|
|
||||||
resources.ApplyResources(this.cmbSecurity, "cmbSecurity");
|
resources.ApplyResources(this.cmbSecurity, "cmbSecurity");
|
||||||
this.cmbSecurity.Name = "cmbSecurity";
|
this.cmbSecurity.Name = "cmbSecurity";
|
||||||
//
|
//
|
||||||
// txtRemarks
|
|
||||||
//
|
|
||||||
resources.ApplyResources(this.txtRemarks, "txtRemarks");
|
|
||||||
this.txtRemarks.Name = "txtRemarks";
|
|
||||||
//
|
|
||||||
// label6
|
|
||||||
//
|
|
||||||
resources.ApplyResources(this.label6, "label6");
|
|
||||||
this.label6.Name = "label6";
|
|
||||||
//
|
|
||||||
// label5
|
// label5
|
||||||
//
|
//
|
||||||
resources.ApplyResources(this.label5, "label5");
|
resources.ApplyResources(this.label5, "label5");
|
||||||
this.label5.Name = "label5";
|
this.label5.Name = "label5";
|
||||||
//
|
//
|
||||||
// txtAlterId
|
// panAddr
|
||||||
//
|
//
|
||||||
resources.ApplyResources(this.txtAlterId, "txtAlterId");
|
this.panAddr.Controls.Add(this.cmbCoreType);
|
||||||
this.txtAlterId.Name = "txtAlterId";
|
this.panAddr.Controls.Add(this.labCoreType);
|
||||||
|
this.panAddr.Controls.Add(this.label6);
|
||||||
|
this.panAddr.Controls.Add(this.label1);
|
||||||
|
this.panAddr.Controls.Add(this.txtAddress);
|
||||||
|
this.panAddr.Controls.Add(this.label2);
|
||||||
|
this.panAddr.Controls.Add(this.txtPort);
|
||||||
|
this.panAddr.Controls.Add(this.txtRemarks);
|
||||||
|
resources.ApplyResources(this.panAddr, "panAddr");
|
||||||
|
this.panAddr.Name = "panAddr";
|
||||||
//
|
//
|
||||||
// label4
|
// label6
|
||||||
//
|
//
|
||||||
resources.ApplyResources(this.label4, "label4");
|
resources.ApplyResources(this.label6, "label6");
|
||||||
this.label4.Name = "label4";
|
this.label6.Name = "label6";
|
||||||
//
|
|
||||||
// txtId
|
|
||||||
//
|
|
||||||
resources.ApplyResources(this.txtId, "txtId");
|
|
||||||
this.txtId.Name = "txtId";
|
|
||||||
//
|
|
||||||
// label3
|
|
||||||
//
|
|
||||||
resources.ApplyResources(this.label3, "label3");
|
|
||||||
this.label3.Name = "label3";
|
|
||||||
//
|
|
||||||
// txtPort
|
|
||||||
//
|
|
||||||
resources.ApplyResources(this.txtPort, "txtPort");
|
|
||||||
this.txtPort.Name = "txtPort";
|
|
||||||
//
|
|
||||||
// label2
|
|
||||||
//
|
|
||||||
resources.ApplyResources(this.label2, "label2");
|
|
||||||
this.label2.Name = "label2";
|
|
||||||
//
|
|
||||||
// txtAddress
|
|
||||||
//
|
|
||||||
resources.ApplyResources(this.txtAddress, "txtAddress");
|
|
||||||
this.txtAddress.Name = "txtAddress";
|
|
||||||
//
|
//
|
||||||
// label1
|
// label1
|
||||||
//
|
//
|
||||||
resources.ApplyResources(this.label1, "label1");
|
resources.ApplyResources(this.label1, "label1");
|
||||||
this.label1.Name = "label1";
|
this.label1.Name = "label1";
|
||||||
//
|
//
|
||||||
// panel2
|
// txtAddress
|
||||||
//
|
//
|
||||||
this.panel2.Controls.Add(this.btnClose);
|
resources.ApplyResources(this.txtAddress, "txtAddress");
|
||||||
this.panel2.Controls.Add(this.btnOK);
|
this.txtAddress.Name = "txtAddress";
|
||||||
resources.ApplyResources(this.panel2, "panel2");
|
//
|
||||||
this.panel2.Name = "panel2";
|
// label2
|
||||||
|
//
|
||||||
|
resources.ApplyResources(this.label2, "label2");
|
||||||
|
this.label2.Name = "label2";
|
||||||
|
//
|
||||||
|
// txtPort
|
||||||
|
//
|
||||||
|
resources.ApplyResources(this.txtPort, "txtPort");
|
||||||
|
this.txtPort.Name = "txtPort";
|
||||||
|
//
|
||||||
|
// txtRemarks
|
||||||
|
//
|
||||||
|
resources.ApplyResources(this.txtRemarks, "txtRemarks");
|
||||||
|
this.txtRemarks.Name = "txtRemarks";
|
||||||
|
//
|
||||||
|
// panBottom
|
||||||
|
//
|
||||||
|
this.panBottom.Controls.Add(this.btnClose);
|
||||||
|
this.panBottom.Controls.Add(this.btnOK);
|
||||||
|
resources.ApplyResources(this.panBottom, "panBottom");
|
||||||
|
this.panBottom.Name = "panBottom";
|
||||||
//
|
//
|
||||||
// btnOK
|
// btnOK
|
||||||
//
|
//
|
||||||
@@ -405,50 +373,34 @@
|
|||||||
this.btnOK.UseVisualStyleBackColor = true;
|
this.btnOK.UseVisualStyleBackColor = true;
|
||||||
this.btnOK.Click += new System.EventHandler(this.btnOK_Click);
|
this.btnOK.Click += new System.EventHandler(this.btnOK_Click);
|
||||||
//
|
//
|
||||||
// panel1
|
// panTop
|
||||||
//
|
//
|
||||||
resources.ApplyResources(this.panel1, "panel1");
|
resources.ApplyResources(this.panTop, "panTop");
|
||||||
this.panel1.Name = "panel1";
|
this.panTop.Name = "panTop";
|
||||||
//
|
//
|
||||||
// menuServer
|
// panTran
|
||||||
//
|
//
|
||||||
this.menuServer.Items.AddRange(new System.Windows.Forms.ToolStripItem[] {
|
this.panTran.Controls.Add(this.transportControl);
|
||||||
this.MenuItem1});
|
resources.ApplyResources(this.panTran, "panTran");
|
||||||
resources.ApplyResources(this.menuServer, "menuServer");
|
this.panTran.Name = "panTran";
|
||||||
this.menuServer.Name = "menuServer";
|
|
||||||
//
|
//
|
||||||
// MenuItem1
|
// transportControl
|
||||||
//
|
//
|
||||||
this.MenuItem1.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] {
|
this.transportControl.AllowXtls = false;
|
||||||
this.MenuItemImportClient,
|
resources.ApplyResources(this.transportControl, "transportControl");
|
||||||
this.MenuItemImportServer,
|
this.transportControl.Name = "transportControl";
|
||||||
this.toolStripSeparator1,
|
|
||||||
this.MenuItemImportClipboard});
|
|
||||||
this.MenuItem1.Name = "MenuItem1";
|
|
||||||
resources.ApplyResources(this.MenuItem1, "MenuItem1");
|
|
||||||
//
|
//
|
||||||
// MenuItemImportClient
|
// cmbCoreType
|
||||||
//
|
//
|
||||||
this.MenuItemImportClient.Name = "MenuItemImportClient";
|
this.cmbCoreType.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList;
|
||||||
resources.ApplyResources(this.MenuItemImportClient, "MenuItemImportClient");
|
this.cmbCoreType.FormattingEnabled = true;
|
||||||
this.MenuItemImportClient.Click += new System.EventHandler(this.MenuItemImportClient_Click);
|
resources.ApplyResources(this.cmbCoreType, "cmbCoreType");
|
||||||
|
this.cmbCoreType.Name = "cmbCoreType";
|
||||||
//
|
//
|
||||||
// MenuItemImportServer
|
// labCoreType
|
||||||
//
|
//
|
||||||
this.MenuItemImportServer.Name = "MenuItemImportServer";
|
resources.ApplyResources(this.labCoreType, "labCoreType");
|
||||||
resources.ApplyResources(this.MenuItemImportServer, "MenuItemImportServer");
|
this.labCoreType.Name = "labCoreType";
|
||||||
this.MenuItemImportServer.Click += new System.EventHandler(this.MenuItemImportServer_Click);
|
|
||||||
//
|
|
||||||
// toolStripSeparator1
|
|
||||||
//
|
|
||||||
this.toolStripSeparator1.Name = "toolStripSeparator1";
|
|
||||||
resources.ApplyResources(this.toolStripSeparator1, "toolStripSeparator1");
|
|
||||||
//
|
|
||||||
// MenuItemImportClipboard
|
|
||||||
//
|
|
||||||
this.MenuItemImportClipboard.Name = "MenuItemImportClipboard";
|
|
||||||
resources.ApplyResources(this.MenuItemImportClipboard, "MenuItemImportClipboard");
|
|
||||||
this.MenuItemImportClipboard.Click += new System.EventHandler(this.MenuItemImportClipboard_Click);
|
|
||||||
//
|
//
|
||||||
// AddServerForm
|
// AddServerForm
|
||||||
//
|
//
|
||||||
@@ -456,23 +408,28 @@
|
|||||||
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
|
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
|
||||||
this.CancelButton = this.btnClose;
|
this.CancelButton = this.btnClose;
|
||||||
this.Controls.Add(this.groupBox1);
|
this.Controls.Add(this.groupBox1);
|
||||||
this.Controls.Add(this.panel2);
|
this.Controls.Add(this.panTran);
|
||||||
this.Controls.Add(this.panel1);
|
this.Controls.Add(this.panBottom);
|
||||||
this.Controls.Add(this.menuServer);
|
this.Controls.Add(this.panTop);
|
||||||
this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedSingle;
|
this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedSingle;
|
||||||
this.Name = "AddServerForm";
|
this.Name = "AddServerForm";
|
||||||
this.Load += new System.EventHandler(this.AddServerForm_Load);
|
this.Load += new System.EventHandler(this.AddServerForm_Load);
|
||||||
this.groupBox1.ResumeLayout(false);
|
this.groupBox1.ResumeLayout(false);
|
||||||
this.groupBox1.PerformLayout();
|
this.panSocks.ResumeLayout(false);
|
||||||
this.groupBox2.ResumeLayout(false);
|
this.panSocks.PerformLayout();
|
||||||
this.groupBox2.PerformLayout();
|
this.panSs.ResumeLayout(false);
|
||||||
this.panTlsMore.ResumeLayout(false);
|
this.panSs.PerformLayout();
|
||||||
this.panTlsMore.PerformLayout();
|
this.panTrojan.ResumeLayout(false);
|
||||||
this.panel2.ResumeLayout(false);
|
this.panTrojan.PerformLayout();
|
||||||
this.menuServer.ResumeLayout(false);
|
this.panVless.ResumeLayout(false);
|
||||||
this.menuServer.PerformLayout();
|
this.panVless.PerformLayout();
|
||||||
|
this.panVmess.ResumeLayout(false);
|
||||||
|
this.panVmess.PerformLayout();
|
||||||
|
this.panAddr.ResumeLayout(false);
|
||||||
|
this.panAddr.PerformLayout();
|
||||||
|
this.panBottom.ResumeLayout(false);
|
||||||
|
this.panTran.ResumeLayout(false);
|
||||||
this.ResumeLayout(false);
|
this.ResumeLayout(false);
|
||||||
this.PerformLayout();
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -493,42 +450,39 @@
|
|||||||
private System.Windows.Forms.TextBox txtAddress;
|
private System.Windows.Forms.TextBox txtAddress;
|
||||||
private System.Windows.Forms.Label label1;
|
private System.Windows.Forms.Label label1;
|
||||||
private System.Windows.Forms.ComboBox cmbSecurity;
|
private System.Windows.Forms.ComboBox cmbSecurity;
|
||||||
private System.Windows.Forms.ComboBox cmbNetwork;
|
|
||||||
private System.Windows.Forms.Label label7;
|
|
||||||
private System.Windows.Forms.Label label9;
|
|
||||||
private System.Windows.Forms.Label label8;
|
private System.Windows.Forms.Label label8;
|
||||||
private System.Windows.Forms.Panel panel1;
|
private System.Windows.Forms.Panel panTop;
|
||||||
private System.Windows.Forms.Panel panel2;
|
private System.Windows.Forms.Panel panBottom;
|
||||||
private System.Windows.Forms.TextBox txtRequestHost;
|
|
||||||
private System.Windows.Forms.Label label10;
|
|
||||||
private System.Windows.Forms.Label label11;
|
|
||||||
private System.Windows.Forms.ComboBox cmbHeaderType;
|
|
||||||
private System.Windows.Forms.Label label12;
|
|
||||||
private System.Windows.Forms.GroupBox groupBox2;
|
|
||||||
private System.Windows.Forms.Label label13;
|
|
||||||
private System.Windows.Forms.MenuStrip menuServer;
|
|
||||||
private System.Windows.Forms.ToolStripMenuItem MenuItem1;
|
|
||||||
private System.Windows.Forms.ToolStripMenuItem MenuItemImportClient;
|
|
||||||
private System.Windows.Forms.ToolStripMenuItem MenuItemImportServer;
|
|
||||||
private System.Windows.Forms.Label label15;
|
|
||||||
private System.Windows.Forms.ComboBox cmbStreamSecurity;
|
|
||||||
private System.Windows.Forms.ToolStripSeparator toolStripSeparator1;
|
|
||||||
private System.Windows.Forms.ToolStripMenuItem MenuItemImportClipboard;
|
|
||||||
private System.Windows.Forms.Button btnGUID;
|
private System.Windows.Forms.Button btnGUID;
|
||||||
private System.Windows.Forms.Label label16;
|
private System.Windows.Forms.Panel panTran;
|
||||||
|
private ServerTransportControl transportControl;
|
||||||
|
private System.Windows.Forms.Panel panAddr;
|
||||||
|
private System.Windows.Forms.Panel panVmess;
|
||||||
|
private System.Windows.Forms.Panel panVless;
|
||||||
|
private System.Windows.Forms.Label label7;
|
||||||
|
private System.Windows.Forms.ComboBox cmbFlow5;
|
||||||
|
private System.Windows.Forms.TextBox txtId5;
|
||||||
|
private System.Windows.Forms.Label label9;
|
||||||
|
private System.Windows.Forms.Label label10;
|
||||||
|
private System.Windows.Forms.Button btnGUID5;
|
||||||
|
private System.Windows.Forms.ComboBox cmbSecurity5;
|
||||||
|
private System.Windows.Forms.Label label11;
|
||||||
|
private System.Windows.Forms.Panel panTrojan;
|
||||||
|
private System.Windows.Forms.Label label12;
|
||||||
|
private System.Windows.Forms.ComboBox cmbFlow6;
|
||||||
|
private System.Windows.Forms.TextBox txtId6;
|
||||||
private System.Windows.Forms.Label label14;
|
private System.Windows.Forms.Label label14;
|
||||||
|
private System.Windows.Forms.Panel panSs;
|
||||||
|
private System.Windows.Forms.TextBox txtId3;
|
||||||
|
private System.Windows.Forms.Label label15;
|
||||||
|
private System.Windows.Forms.ComboBox cmbSecurity3;
|
||||||
|
private System.Windows.Forms.Label label16;
|
||||||
|
private System.Windows.Forms.Panel panSocks;
|
||||||
private System.Windows.Forms.Label label17;
|
private System.Windows.Forms.Label label17;
|
||||||
|
private System.Windows.Forms.TextBox txtSecurity4;
|
||||||
private System.Windows.Forms.Label label18;
|
private System.Windows.Forms.Label label18;
|
||||||
private System.Windows.Forms.Label label19;
|
private System.Windows.Forms.TextBox txtId4;
|
||||||
private System.Windows.Forms.TextBox txtPath;
|
private System.Windows.Forms.ComboBox cmbCoreType;
|
||||||
private System.Windows.Forms.Label label20;
|
private System.Windows.Forms.Label labCoreType;
|
||||||
private System.Windows.Forms.Label label21;
|
|
||||||
private System.Windows.Forms.ComboBox cmbAllowInsecure;
|
|
||||||
private System.Windows.Forms.Panel panTlsMore;
|
|
||||||
private System.Windows.Forms.Label label24;
|
|
||||||
private System.Windows.Forms.Label label23;
|
|
||||||
private System.Windows.Forms.Label label22;
|
|
||||||
private System.Windows.Forms.TextBox txtSNI;
|
|
||||||
private System.Windows.Forms.Label label25;
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -1,4 +1,5 @@
|
|||||||
using System;
|
using System;
|
||||||
|
using System.Collections.Generic;
|
||||||
using System.Windows.Forms;
|
using System.Windows.Forms;
|
||||||
using v2rayN.Handler;
|
using v2rayN.Handler;
|
||||||
using v2rayN.Mode;
|
using v2rayN.Mode;
|
||||||
@@ -7,7 +8,6 @@ namespace v2rayN.Forms
|
|||||||
{
|
{
|
||||||
public partial class AddServerForm : BaseServerForm
|
public partial class AddServerForm : BaseServerForm
|
||||||
{
|
{
|
||||||
|
|
||||||
public AddServerForm()
|
public AddServerForm()
|
||||||
{
|
{
|
||||||
InitializeComponent();
|
InitializeComponent();
|
||||||
@@ -15,14 +15,57 @@ namespace v2rayN.Forms
|
|||||||
|
|
||||||
private void AddServerForm_Load(object sender, EventArgs e)
|
private void AddServerForm_Load(object sender, EventArgs e)
|
||||||
{
|
{
|
||||||
if (EditIndex >= 0)
|
this.Text = (eConfigType).ToString();
|
||||||
|
|
||||||
|
cmbCoreType.Items.AddRange(Global.coreTypes.ToArray());
|
||||||
|
cmbCoreType.Items.Add(string.Empty);
|
||||||
|
|
||||||
|
switch (eConfigType)
|
||||||
|
{
|
||||||
|
case EConfigType.Vmess:
|
||||||
|
panVmess.Dock = DockStyle.Fill;
|
||||||
|
panVmess.Visible = true;
|
||||||
|
|
||||||
|
cmbSecurity.Items.AddRange(Global.vmessSecuritys.ToArray());
|
||||||
|
break;
|
||||||
|
case EConfigType.Shadowsocks:
|
||||||
|
panSs.Dock = DockStyle.Fill;
|
||||||
|
panSs.Visible = true;
|
||||||
|
panTran.Visible = false;
|
||||||
|
this.Height = this.Height - panTran.Height;
|
||||||
|
|
||||||
|
cmbSecurity3.Items.AddRange(LazyConfig.Instance.GetShadowsocksSecuritys().ToArray());
|
||||||
|
break;
|
||||||
|
case EConfigType.Socks:
|
||||||
|
panSocks.Dock = DockStyle.Fill;
|
||||||
|
panSocks.Visible = true;
|
||||||
|
panTran.Visible = false;
|
||||||
|
this.Height = this.Height - panTran.Height;
|
||||||
|
break;
|
||||||
|
case EConfigType.VLESS:
|
||||||
|
panVless.Dock = DockStyle.Fill;
|
||||||
|
panVless.Visible = true;
|
||||||
|
transportControl.AllowXtls = true;
|
||||||
|
|
||||||
|
cmbFlow5.Items.AddRange(Global.xtlsFlows.ToArray());
|
||||||
|
break;
|
||||||
|
case EConfigType.Trojan:
|
||||||
|
panTrojan.Dock = DockStyle.Fill;
|
||||||
|
panTrojan.Visible = true;
|
||||||
|
transportControl.AllowXtls = true;
|
||||||
|
|
||||||
|
cmbFlow6.Items.AddRange(Global.xtlsFlows.ToArray());
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (vmessItem != null)
|
||||||
{
|
{
|
||||||
vmessItem = config.vmess[EditIndex];
|
|
||||||
BindingServer();
|
BindingServer();
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
vmessItem = new VmessItem();
|
vmessItem = new VmessItem();
|
||||||
|
vmessItem.groupId = groupId;
|
||||||
ClearServer();
|
ClearServer();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -32,106 +75,122 @@ namespace v2rayN.Forms
|
|||||||
/// </summary>
|
/// </summary>
|
||||||
private void BindingServer()
|
private void BindingServer()
|
||||||
{
|
{
|
||||||
|
txtRemarks.Text = vmessItem.remarks;
|
||||||
txtAddress.Text = vmessItem.address;
|
txtAddress.Text = vmessItem.address;
|
||||||
txtPort.Text = vmessItem.port.ToString();
|
txtPort.Text = vmessItem.port.ToString();
|
||||||
txtId.Text = vmessItem.id;
|
|
||||||
txtAlterId.Text = vmessItem.alterId.ToString();
|
|
||||||
cmbSecurity.Text = vmessItem.security;
|
|
||||||
cmbNetwork.Text = vmessItem.network;
|
|
||||||
txtRemarks.Text = vmessItem.remarks;
|
|
||||||
|
|
||||||
cmbHeaderType.Text = vmessItem.headerType;
|
switch (eConfigType)
|
||||||
txtRequestHost.Text = vmessItem.requestHost;
|
{
|
||||||
txtPath.Text = vmessItem.path;
|
case EConfigType.Vmess:
|
||||||
cmbStreamSecurity.Text = vmessItem.streamSecurity;
|
txtId.Text = vmessItem.id;
|
||||||
cmbAllowInsecure.Text = vmessItem.allowInsecure;
|
txtAlterId.Text = vmessItem.alterId.ToString();
|
||||||
txtSNI.Text = vmessItem.sni;
|
cmbSecurity.Text = vmessItem.security;
|
||||||
|
break;
|
||||||
|
case EConfigType.Shadowsocks:
|
||||||
|
txtId3.Text = vmessItem.id;
|
||||||
|
cmbSecurity3.Text = vmessItem.security;
|
||||||
|
break;
|
||||||
|
case EConfigType.Socks:
|
||||||
|
txtId4.Text = vmessItem.id;
|
||||||
|
txtSecurity4.Text = vmessItem.security;
|
||||||
|
break;
|
||||||
|
case EConfigType.VLESS:
|
||||||
|
txtId5.Text = vmessItem.id;
|
||||||
|
cmbFlow5.Text = vmessItem.flow;
|
||||||
|
cmbSecurity5.Text = vmessItem.security;
|
||||||
|
break;
|
||||||
|
case EConfigType.Trojan:
|
||||||
|
txtId6.Text = vmessItem.id;
|
||||||
|
cmbFlow6.Text = vmessItem.flow;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (vmessItem.coreType == null)
|
||||||
|
{
|
||||||
|
cmbCoreType.Text = string.Empty;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
cmbCoreType.Text = vmessItem.coreType.ToString();
|
||||||
|
}
|
||||||
|
|
||||||
|
transportControl.BindingServer(vmessItem);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 清除设置
|
/// 清除设置
|
||||||
/// </summary>
|
/// </summary>
|
||||||
private void ClearServer()
|
private void ClearServer()
|
||||||
{
|
{
|
||||||
|
txtRemarks.Text = "";
|
||||||
txtAddress.Text = "";
|
txtAddress.Text = "";
|
||||||
txtPort.Text = "";
|
txtPort.Text = "";
|
||||||
txtId.Text = "";
|
|
||||||
txtAlterId.Text = "0";
|
|
||||||
cmbSecurity.Text = Global.DefaultSecurity;
|
|
||||||
cmbNetwork.Text = Global.DefaultNetwork;
|
|
||||||
txtRemarks.Text = "";
|
|
||||||
|
|
||||||
cmbHeaderType.Text = Global.None;
|
switch (eConfigType)
|
||||||
txtRequestHost.Text = "";
|
|
||||||
cmbStreamSecurity.Text = "";
|
|
||||||
cmbAllowInsecure.Text = "";
|
|
||||||
txtPath.Text = "";
|
|
||||||
txtSNI.Text = "";
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
private void cmbNetwork_SelectedIndexChanged(object sender, EventArgs e)
|
|
||||||
{
|
|
||||||
SetHeaderType();
|
|
||||||
}
|
|
||||||
|
|
||||||
/// <summary>
|
|
||||||
/// 设置伪装选项
|
|
||||||
/// </summary>
|
|
||||||
private void SetHeaderType()
|
|
||||||
{
|
|
||||||
cmbHeaderType.Items.Clear();
|
|
||||||
|
|
||||||
string network = cmbNetwork.Text;
|
|
||||||
if (Utils.IsNullOrEmpty(network))
|
|
||||||
{
|
{
|
||||||
cmbHeaderType.Items.Add(Global.None);
|
case EConfigType.Vmess:
|
||||||
return;
|
txtId.Text = "";
|
||||||
|
txtAlterId.Text = "0";
|
||||||
|
cmbSecurity.Text = Global.DefaultSecurity;
|
||||||
|
break;
|
||||||
|
case EConfigType.Shadowsocks:
|
||||||
|
txtId3.Text = "";
|
||||||
|
cmbSecurity3.Text = Global.DefaultSecurity;
|
||||||
|
break;
|
||||||
|
case EConfigType.Socks:
|
||||||
|
txtId4.Text = "";
|
||||||
|
txtSecurity4.Text = "";
|
||||||
|
break;
|
||||||
|
case EConfigType.VLESS:
|
||||||
|
txtId5.Text = "";
|
||||||
|
cmbFlow5.Text = "";
|
||||||
|
cmbSecurity5.Text = Global.None;
|
||||||
|
break;
|
||||||
|
case EConfigType.Trojan:
|
||||||
|
txtId6.Text = "";
|
||||||
|
cmbFlow6.Text = "";
|
||||||
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (network.Equals(Global.DefaultNetwork))
|
transportControl.ClearServer(vmessItem);
|
||||||
{
|
|
||||||
cmbHeaderType.Items.Add(Global.None);
|
|
||||||
cmbHeaderType.Items.Add(Global.TcpHeaderHttp);
|
|
||||||
}
|
|
||||||
else if (network.Equals("kcp") || network.Equals("quic"))
|
|
||||||
{
|
|
||||||
cmbHeaderType.Items.Add(Global.None);
|
|
||||||
cmbHeaderType.Items.Add("srtp");
|
|
||||||
cmbHeaderType.Items.Add("utp");
|
|
||||||
cmbHeaderType.Items.Add("wechat-video");
|
|
||||||
cmbHeaderType.Items.Add("dtls");
|
|
||||||
cmbHeaderType.Items.Add("wireguard");
|
|
||||||
}
|
|
||||||
else if (network.Equals("grpc"))
|
|
||||||
{
|
|
||||||
cmbHeaderType.Items.Add(Global.GrpcgunMode);
|
|
||||||
cmbHeaderType.Items.Add(Global.GrpcmultiMode);
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
cmbHeaderType.Items.Add(Global.None);
|
|
||||||
}
|
|
||||||
cmbHeaderType.SelectedIndex = 0;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
private void btnOK_Click(object sender, EventArgs e)
|
private void btnOK_Click(object sender, EventArgs e)
|
||||||
{
|
{
|
||||||
|
string remarks = txtRemarks.Text;
|
||||||
string address = txtAddress.Text;
|
string address = txtAddress.Text;
|
||||||
string port = txtPort.Text;
|
string port = txtPort.Text;
|
||||||
string id = txtId.Text;
|
|
||||||
string alterId = txtAlterId.Text;
|
|
||||||
string security = cmbSecurity.Text;
|
|
||||||
string network = cmbNetwork.Text;
|
|
||||||
string remarks = txtRemarks.Text;
|
|
||||||
|
|
||||||
string headerType = cmbHeaderType.Text;
|
string id = string.Empty;
|
||||||
string requestHost = txtRequestHost.Text;
|
string alterId = string.Empty;
|
||||||
string path = txtPath.Text;
|
string security = string.Empty;
|
||||||
string streamSecurity = cmbStreamSecurity.Text;
|
string flow = string.Empty;
|
||||||
string allowInsecure = cmbAllowInsecure.Text;
|
|
||||||
string sni = txtSNI.Text;
|
switch (eConfigType)
|
||||||
|
{
|
||||||
|
case EConfigType.Vmess:
|
||||||
|
id = txtId.Text;
|
||||||
|
alterId = txtAlterId.Text;
|
||||||
|
security = cmbSecurity.Text;
|
||||||
|
break;
|
||||||
|
case EConfigType.Shadowsocks:
|
||||||
|
id = txtId3.Text;
|
||||||
|
security = cmbSecurity3.Text;
|
||||||
|
break;
|
||||||
|
case EConfigType.Socks:
|
||||||
|
id = txtId4.Text;
|
||||||
|
security = txtSecurity4.Text;
|
||||||
|
break;
|
||||||
|
case EConfigType.VLESS:
|
||||||
|
id = txtId5.Text;
|
||||||
|
flow = cmbFlow5.Text;
|
||||||
|
security = cmbSecurity5.Text;
|
||||||
|
break;
|
||||||
|
case EConfigType.Trojan:
|
||||||
|
id = txtId6.Text;
|
||||||
|
flow = cmbFlow6.Text;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
if (Utils.IsNullOrEmpty(address))
|
if (Utils.IsNullOrEmpty(address))
|
||||||
{
|
{
|
||||||
@@ -143,33 +202,69 @@ namespace v2rayN.Forms
|
|||||||
UI.Show(UIRes.I18N("FillCorrectServerPort"));
|
UI.Show(UIRes.I18N("FillCorrectServerPort"));
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
if (Utils.IsNullOrEmpty(id))
|
if (eConfigType == EConfigType.Shadowsocks)
|
||||||
{
|
{
|
||||||
UI.Show(UIRes.I18N("FillUUID"));
|
if (Utils.IsNullOrEmpty(id))
|
||||||
return;
|
{
|
||||||
|
UI.Show(UIRes.I18N("FillPassword"));
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
if (Utils.IsNullOrEmpty(security))
|
||||||
|
{
|
||||||
|
UI.Show(UIRes.I18N("PleaseSelectEncryption"));
|
||||||
|
return;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
if (Utils.IsNullOrEmpty(alterId) || !Utils.IsNumberic(alterId))
|
if (eConfigType != EConfigType.Socks)
|
||||||
{
|
{
|
||||||
UI.Show(UIRes.I18N("FillCorrectAlterId"));
|
if (Utils.IsNullOrEmpty(id))
|
||||||
return;
|
{
|
||||||
|
UI.Show(UIRes.I18N("FillUUID"));
|
||||||
|
return;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
transportControl.EndBindingServer();
|
||||||
|
|
||||||
|
vmessItem.remarks = remarks;
|
||||||
vmessItem.address = address;
|
vmessItem.address = address;
|
||||||
vmessItem.port = Utils.ToInt(port);
|
vmessItem.port = Utils.ToInt(port);
|
||||||
vmessItem.id = id;
|
vmessItem.id = id;
|
||||||
vmessItem.alterId = Utils.ToInt(alterId);
|
vmessItem.alterId = Utils.ToInt(alterId);
|
||||||
vmessItem.security = security;
|
vmessItem.security = security;
|
||||||
vmessItem.network = network;
|
|
||||||
vmessItem.remarks = remarks;
|
|
||||||
|
|
||||||
vmessItem.headerType = headerType;
|
if (Utils.IsNullOrEmpty(cmbCoreType.Text))
|
||||||
vmessItem.requestHost = requestHost.Replace(" ", "");
|
{
|
||||||
vmessItem.path = path.Replace(" ", "");
|
vmessItem.coreType = null;
|
||||||
vmessItem.streamSecurity = streamSecurity;
|
}
|
||||||
vmessItem.allowInsecure = allowInsecure;
|
else
|
||||||
vmessItem.sni = sni;
|
{
|
||||||
|
vmessItem.coreType = (ECoreType)Enum.Parse(typeof(ECoreType), cmbCoreType.Text);
|
||||||
|
}
|
||||||
|
|
||||||
if (ConfigHandler.AddServer(ref config, vmessItem, EditIndex) == 0)
|
int ret = -1;
|
||||||
|
switch (eConfigType)
|
||||||
|
{
|
||||||
|
case EConfigType.Vmess:
|
||||||
|
ret = ConfigHandler.AddServer(ref config, vmessItem);
|
||||||
|
break;
|
||||||
|
case EConfigType.Shadowsocks:
|
||||||
|
ret = ConfigHandler.AddShadowsocksServer(ref config, vmessItem);
|
||||||
|
break;
|
||||||
|
case EConfigType.Socks:
|
||||||
|
ret = ConfigHandler.AddSocksServer(ref config, vmessItem);
|
||||||
|
break;
|
||||||
|
case EConfigType.VLESS:
|
||||||
|
vmessItem.flow = flow;
|
||||||
|
ret = ConfigHandler.AddVlessServer(ref config, vmessItem);
|
||||||
|
break;
|
||||||
|
case EConfigType.Trojan:
|
||||||
|
vmessItem.flow = flow;
|
||||||
|
ret = ConfigHandler.AddTrojanServer(ref config, vmessItem);
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (ret == 0)
|
||||||
{
|
{
|
||||||
this.DialogResult = DialogResult.OK;
|
this.DialogResult = DialogResult.OK;
|
||||||
}
|
}
|
||||||
@@ -177,127 +272,18 @@ namespace v2rayN.Forms
|
|||||||
{
|
{
|
||||||
UI.ShowWarning(UIRes.I18N("OperationFailed"));
|
UI.ShowWarning(UIRes.I18N("OperationFailed"));
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
private void btnGUID_Click(object sender, EventArgs e)
|
private void btnGUID_Click(object sender, EventArgs e)
|
||||||
{
|
{
|
||||||
txtId.Text = Utils.GetGUID();
|
txtId.Text =
|
||||||
|
txtId5.Text = Utils.GetGUID();
|
||||||
}
|
}
|
||||||
|
|
||||||
private void btnClose_Click(object sender, EventArgs e)
|
private void btnClose_Click(object sender, EventArgs e)
|
||||||
{
|
{
|
||||||
this.DialogResult = DialogResult.Cancel;
|
this.DialogResult = DialogResult.Cancel;
|
||||||
}
|
}
|
||||||
|
|
||||||
private void cmbStreamSecurity_SelectedIndexChanged(object sender, EventArgs e)
|
|
||||||
{
|
|
||||||
string security = cmbStreamSecurity.Text;
|
|
||||||
if (Utils.IsNullOrEmpty(security))
|
|
||||||
{
|
|
||||||
panTlsMore.Hide();
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
panTlsMore.Show();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
#region 导入客户端/服务端配置
|
|
||||||
|
|
||||||
/// <summary>
|
|
||||||
/// 导入客户端
|
|
||||||
/// </summary>
|
|
||||||
/// <param name="sender"></param>
|
|
||||||
/// <param name="e"></param>
|
|
||||||
private void MenuItemImportClient_Click(object sender, EventArgs e)
|
|
||||||
{
|
|
||||||
MenuItemImport(1);
|
|
||||||
}
|
|
||||||
|
|
||||||
/// <summary>
|
|
||||||
/// 导入服务端
|
|
||||||
/// </summary>
|
|
||||||
/// <param name="sender"></param>
|
|
||||||
/// <param name="e"></param>
|
|
||||||
private void MenuItemImportServer_Click(object sender, EventArgs e)
|
|
||||||
{
|
|
||||||
MenuItemImport(2);
|
|
||||||
}
|
|
||||||
|
|
||||||
private void MenuItemImport(int type)
|
|
||||||
{
|
|
||||||
ClearServer();
|
|
||||||
|
|
||||||
OpenFileDialog fileDialog = new OpenFileDialog
|
|
||||||
{
|
|
||||||
Multiselect = false,
|
|
||||||
Filter = "Config|*.json|All|*.*"
|
|
||||||
};
|
|
||||||
if (fileDialog.ShowDialog() != DialogResult.OK)
|
|
||||||
{
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
string fileName = fileDialog.FileName;
|
|
||||||
if (Utils.IsNullOrEmpty(fileName))
|
|
||||||
{
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
string msg;
|
|
||||||
VmessItem vmessItem;
|
|
||||||
if (type.Equals(1))
|
|
||||||
{
|
|
||||||
vmessItem = V2rayConfigHandler.ImportFromClientConfig(fileName, out msg);
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
vmessItem = V2rayConfigHandler.ImportFromServerConfig(fileName, out msg);
|
|
||||||
}
|
|
||||||
if (vmessItem == null)
|
|
||||||
{
|
|
||||||
UI.ShowWarning(msg);
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
txtAddress.Text = vmessItem.address;
|
|
||||||
txtPort.Text = vmessItem.port.ToString();
|
|
||||||
txtId.Text = vmessItem.id;
|
|
||||||
txtAlterId.Text = vmessItem.alterId.ToString();
|
|
||||||
txtRemarks.Text = vmessItem.remarks;
|
|
||||||
cmbNetwork.Text = vmessItem.network;
|
|
||||||
cmbHeaderType.Text = vmessItem.headerType;
|
|
||||||
txtRequestHost.Text = vmessItem.requestHost;
|
|
||||||
txtPath.Text = vmessItem.path;
|
|
||||||
cmbStreamSecurity.Text = vmessItem.streamSecurity;
|
|
||||||
}
|
|
||||||
|
|
||||||
/// <summary>
|
|
||||||
/// 从剪贴板导入URL
|
|
||||||
/// </summary>
|
|
||||||
/// <param name="sender"></param>
|
|
||||||
/// <param name="e"></param>
|
|
||||||
private void MenuItemImportClipboard_Click(object sender, EventArgs e)
|
|
||||||
{
|
|
||||||
ClearServer();
|
|
||||||
|
|
||||||
VmessItem vmessItem = ShareHandler.ImportFromClipboardConfig(Utils.GetClipboardData(), out string msg);
|
|
||||||
if (vmessItem == null)
|
|
||||||
{
|
|
||||||
UI.ShowWarning(msg);
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
txtAddress.Text = vmessItem.address;
|
|
||||||
txtPort.Text = vmessItem.port.ToString();
|
|
||||||
txtId.Text = vmessItem.id;
|
|
||||||
txtAlterId.Text = vmessItem.alterId.ToString();
|
|
||||||
txtRemarks.Text = vmessItem.remarks;
|
|
||||||
cmbNetwork.Text = vmessItem.network;
|
|
||||||
cmbHeaderType.Text = vmessItem.headerType;
|
|
||||||
txtRequestHost.Text = vmessItem.requestHost;
|
|
||||||
txtPath.Text = vmessItem.path;
|
|
||||||
cmbStreamSecurity.Text = vmessItem.streamSecurity;
|
|
||||||
}
|
|
||||||
#endregion
|
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
File diff suppressed because it is too large
Load Diff
@@ -120,132 +120,109 @@
|
|||||||
<data name="btnClose.Text" xml:space="preserve">
|
<data name="btnClose.Text" xml:space="preserve">
|
||||||
<value>取消(&C)</value>
|
<value>取消(&C)</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="groupBox1.Text" xml:space="preserve">
|
||||||
|
<value>服务器</value>
|
||||||
|
</data>
|
||||||
|
<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>None</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>270, 156</value>
|
||||||
|
</data>
|
||||||
|
<data name="panel1.Size" type="System.Drawing.Size, System.Drawing">
|
||||||
|
<value>115, 61</value>
|
||||||
|
</data>
|
||||||
|
<data name="label17.Size" type="System.Drawing.Size, System.Drawing">
|
||||||
|
<value>77, 12</value>
|
||||||
|
</data>
|
||||||
|
<data name="label17.Text" xml:space="preserve">
|
||||||
|
<value>用户名(可选)</value>
|
||||||
|
</data>
|
||||||
|
<data name="label18.Size" type="System.Drawing.Size, System.Drawing">
|
||||||
|
<value>65, 12</value>
|
||||||
|
</data>
|
||||||
|
<data name="label18.Text" xml:space="preserve">
|
||||||
|
<value>密码(可选)</value>
|
||||||
|
</data>
|
||||||
|
<data name="panel3.Dock" type="System.Windows.Forms.DockStyle, System.Windows.Forms">
|
||||||
|
<value>None</value>
|
||||||
|
</data>
|
||||||
|
<data name="panel3.Location" type="System.Drawing.Point, System.Drawing">
|
||||||
|
<value>142, 147</value>
|
||||||
|
</data>
|
||||||
|
<data name="panel3.Size" type="System.Drawing.Size, System.Drawing">
|
||||||
|
<value>137, 78</value>
|
||||||
|
</data>
|
||||||
|
<data name="label15.Size" type="System.Drawing.Size, System.Drawing">
|
||||||
|
<value>89, 12</value>
|
||||||
|
</data>
|
||||||
|
<data name="label15.Text" xml:space="preserve">
|
||||||
|
<value>密码(password)</value>
|
||||||
|
</data>
|
||||||
|
<data name="label16.Size" type="System.Drawing.Size, System.Drawing">
|
||||||
|
<value>125, 12</value>
|
||||||
|
</data>
|
||||||
|
<data name="label16.Text" xml:space="preserve">
|
||||||
|
<value>加密方式(encryption)</value>
|
||||||
|
</data>
|
||||||
|
<data name="label12.Size" type="System.Drawing.Size, System.Drawing">
|
||||||
|
<value>89, 12</value>
|
||||||
|
</data>
|
||||||
|
<data name="label12.Text" xml:space="preserve">
|
||||||
|
<value>密码(password)</value>
|
||||||
|
</data>
|
||||||
|
<data name="label14.Size" type="System.Drawing.Size, System.Drawing">
|
||||||
|
<value>65, 12</value>
|
||||||
|
</data>
|
||||||
|
<data name="label14.Text" xml:space="preserve">
|
||||||
|
<value>流控(flow)</value>
|
||||||
|
</data>
|
||||||
|
<data name="panVless.Size" type="System.Drawing.Size, System.Drawing">
|
||||||
|
<value>110, 52</value>
|
||||||
|
</data>
|
||||||
|
<data name="label7.Size" type="System.Drawing.Size, System.Drawing">
|
||||||
|
<value>65, 12</value>
|
||||||
|
</data>
|
||||||
|
<data name="label7.Text" xml:space="preserve">
|
||||||
|
<value>用户ID(id)</value>
|
||||||
|
</data>
|
||||||
|
<data name="label9.Size" type="System.Drawing.Size, System.Drawing">
|
||||||
|
<value>65, 12</value>
|
||||||
|
</data>
|
||||||
|
<data name="label9.Text" xml:space="preserve">
|
||||||
|
<value>流控(flow)</value>
|
||||||
|
</data>
|
||||||
|
<data name="label10.Size" type="System.Drawing.Size, System.Drawing">
|
||||||
|
<value>101, 12</value>
|
||||||
|
</data>
|
||||||
|
<data name="label10.Text" xml:space="preserve">
|
||||||
|
<value>加密(encryption)</value>
|
||||||
|
</data>
|
||||||
|
<data name="button1.Text" xml:space="preserve">
|
||||||
|
<value>生成</value>
|
||||||
|
</data>
|
||||||
|
<data name="label11.Size" type="System.Drawing.Size, System.Drawing">
|
||||||
|
<value>71, 12</value>
|
||||||
|
</data>
|
||||||
|
<data name="label11.Text" xml:space="preserve">
|
||||||
|
<value>*非空(none)</value>
|
||||||
|
</data>
|
||||||
|
<data name="label3.Size" type="System.Drawing.Size, System.Drawing">
|
||||||
|
<value>65, 12</value>
|
||||||
|
</data>
|
||||||
|
<data name="label3.Text" xml:space="preserve">
|
||||||
|
<value>用户ID(id)</value>
|
||||||
|
</data>
|
||||||
<data name="btnGUID.Text" xml:space="preserve">
|
<data name="btnGUID.Text" xml:space="preserve">
|
||||||
<value>生成(&G)</value>
|
<value>生成(&G)</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="label13.Text" xml:space="preserve">
|
<data name="label4.Size" type="System.Drawing.Size, System.Drawing">
|
||||||
<value>*手填,方便识别管理</value>
|
|
||||||
</data>
|
|
||||||
<assembly alias="System.Drawing" name="System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
|
|
||||||
<data name="label24.Size" type="System.Drawing.Size, System.Drawing">
|
|
||||||
<value>149, 12</value>
|
|
||||||
</data>
|
|
||||||
<data name="label24.Text" xml:space="preserve">
|
|
||||||
<value>3)QUIC 加密密钥/Kcp seed</value>
|
|
||||||
</data>
|
|
||||||
<data name="label23.Size" type="System.Drawing.Size, System.Drawing">
|
|
||||||
<value>95, 12</value>
|
<value>95, 12</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="label23.Text" xml:space="preserve">
|
<data name="label4.Text" xml:space="preserve">
|
||||||
<value>4)QUIC 加密方式</value>
|
<value>额外ID(alterId)</value>
|
||||||
</data>
|
|
||||||
<data name="label21.Size" type="System.Drawing.Size, System.Drawing">
|
|
||||||
<value>167, 12</value>
|
|
||||||
</data>
|
|
||||||
<data name="label21.Text" xml:space="preserve">
|
|
||||||
<value>跳过证书验证(allowInsecure)</value>
|
|
||||||
</data>
|
|
||||||
<data name="cmbAllowInsecure.Location" type="System.Drawing.Point, System.Drawing">
|
|
||||||
<value>180, 7</value>
|
|
||||||
</data>
|
|
||||||
<data name="label9.Location" type="System.Drawing.Point, System.Drawing">
|
|
||||||
<value>350, 36</value>
|
|
||||||
</data>
|
|
||||||
<data name="label9.Size" type="System.Drawing.Size, System.Drawing">
|
|
||||||
<value>143, 12</value>
|
|
||||||
</data>
|
|
||||||
<data name="label9.Text" xml:space="preserve">
|
|
||||||
<value>*默认tcp,选错会无法连接</value>
|
|
||||||
</data>
|
|
||||||
<data name="label20.Size" type="System.Drawing.Size, System.Drawing">
|
|
||||||
<value>149, 12</value>
|
|
||||||
</data>
|
|
||||||
<data name="label20.Text" xml:space="preserve">
|
|
||||||
<value>3)h2 host中间逗号(,)隔开</value>
|
|
||||||
</data>
|
|
||||||
<data name="txtPath.Location" type="System.Drawing.Point, System.Drawing">
|
|
||||||
<value>127, 168</value>
|
|
||||||
</data>
|
|
||||||
<data name="cmbNetwork.Location" type="System.Drawing.Point, System.Drawing">
|
|
||||||
<value>127, 32</value>
|
|
||||||
</data>
|
|
||||||
<data name="cmbNetwork.Size" type="System.Drawing.Size, System.Drawing">
|
|
||||||
<value>211, 20</value>
|
|
||||||
</data>
|
|
||||||
<data name="label7.Location" type="System.Drawing.Point, System.Drawing">
|
|
||||||
<value>9, 36</value>
|
|
||||||
</data>
|
|
||||||
<data name="label7.Size" type="System.Drawing.Size, System.Drawing">
|
|
||||||
<value>107, 12</value>
|
|
||||||
</data>
|
|
||||||
<data name="label7.Text" xml:space="preserve">
|
|
||||||
<value>传输协议(network)</value>
|
|
||||||
</data>
|
|
||||||
<data name="label19.Location" type="System.Drawing.Point, System.Drawing">
|
|
||||||
<value>9, 168</value>
|
|
||||||
</data>
|
|
||||||
<data name="label19.Size" type="System.Drawing.Size, System.Drawing">
|
|
||||||
<value>65, 12</value>
|
|
||||||
</data>
|
|
||||||
<data name="label19.Text" xml:space="preserve">
|
|
||||||
<value>路径(path)</value>
|
|
||||||
</data>
|
|
||||||
<data name="label14.Size" type="System.Drawing.Size, System.Drawing">
|
|
||||||
<value>161, 12</value>
|
|
||||||
</data>
|
|
||||||
<data name="label14.Text" xml:space="preserve">
|
|
||||||
<value>1)http host中间逗号(,)隔开</value>
|
|
||||||
</data>
|
|
||||||
<data name="label15.Location" type="System.Drawing.Point, System.Drawing">
|
|
||||||
<value>9, 237</value>
|
|
||||||
</data>
|
|
||||||
<data name="label15.Size" type="System.Drawing.Size, System.Drawing">
|
|
||||||
<value>107, 12</value>
|
|
||||||
</data>
|
|
||||||
<data name="label15.Text" xml:space="preserve">
|
|
||||||
<value>底层传输安全(tls)</value>
|
|
||||||
</data>
|
|
||||||
<data name="cmbStreamSecurity.Location" type="System.Drawing.Point, System.Drawing">
|
|
||||||
<value>127, 237</value>
|
|
||||||
</data>
|
|
||||||
<data name="label12.Location" type="System.Drawing.Point, System.Drawing">
|
|
||||||
<value>282, 71</value>
|
|
||||||
</data>
|
|
||||||
<data name="label12.Size" type="System.Drawing.Size, System.Drawing">
|
|
||||||
<value>197, 12</value>
|
|
||||||
</data>
|
|
||||||
<data name="label12.Text" xml:space="preserve">
|
|
||||||
<value>*tcp或kcp或QUIC伪装类型或grpc模式</value>
|
|
||||||
</data>
|
|
||||||
<data name="txtRequestHost.Location" type="System.Drawing.Point, System.Drawing">
|
|
||||||
<value>127, 102</value>
|
|
||||||
</data>
|
|
||||||
<data name="txtRequestHost.Size" type="System.Drawing.Size, System.Drawing">
|
|
||||||
<value>334, 51</value>
|
|
||||||
</data>
|
|
||||||
<data name="label11.Location" type="System.Drawing.Point, System.Drawing">
|
|
||||||
<value>9, 71</value>
|
|
||||||
</data>
|
|
||||||
<data name="label11.Size" type="System.Drawing.Size, System.Drawing">
|
|
||||||
<value>89, 12</value>
|
|
||||||
</data>
|
|
||||||
<data name="label11.Text" xml:space="preserve">
|
|
||||||
<value>伪装类型(type)</value>
|
|
||||||
</data>
|
|
||||||
<data name="label10.Location" type="System.Drawing.Point, System.Drawing">
|
|
||||||
<value>9, 102</value>
|
|
||||||
</data>
|
|
||||||
<data name="label10.Size" type="System.Drawing.Size, System.Drawing">
|
|
||||||
<value>89, 12</value>
|
|
||||||
</data>
|
|
||||||
<data name="label10.Text" xml:space="preserve">
|
|
||||||
<value>伪装域名(host)</value>
|
|
||||||
</data>
|
|
||||||
<data name="cmbHeaderType.Location" type="System.Drawing.Point, System.Drawing">
|
|
||||||
<value>127, 67</value>
|
|
||||||
</data>
|
|
||||||
<data name="groupBox2.Text" xml:space="preserve">
|
|
||||||
<value>底层传输方式(transport)</value>
|
|
||||||
</data>
|
</data>
|
||||||
<data name="label8.Size" type="System.Drawing.Size, System.Drawing">
|
<data name="label8.Size" type="System.Drawing.Size, System.Drawing">
|
||||||
<value>113, 12</value>
|
<value>113, 12</value>
|
||||||
@@ -254,40 +231,22 @@
|
|||||||
<value>*随便选,建议(auto)</value>
|
<value>*随便选,建议(auto)</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="cmbSecurity.Location" type="System.Drawing.Point, System.Drawing">
|
<data name="cmbSecurity.Location" type="System.Drawing.Point, System.Drawing">
|
||||||
<value>127, 143</value>
|
<value>126, 65</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="cmbSecurity.Size" type="System.Drawing.Size, System.Drawing">
|
<data name="cmbSecurity.Size" type="System.Drawing.Size, System.Drawing">
|
||||||
<value>211, 20</value>
|
<value>211, 20</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="label6.Size" type="System.Drawing.Size, System.Drawing">
|
|
||||||
<value>83, 12</value>
|
|
||||||
</data>
|
|
||||||
<data name="label6.Text" xml:space="preserve">
|
|
||||||
<value>别名(remarks)</value>
|
|
||||||
</data>
|
|
||||||
<data name="label5.Size" type="System.Drawing.Size, System.Drawing">
|
<data name="label5.Size" type="System.Drawing.Size, System.Drawing">
|
||||||
<value>113, 12</value>
|
<value>113, 12</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="label5.Text" xml:space="preserve">
|
<data name="label5.Text" xml:space="preserve">
|
||||||
<value>加密方式(security)</value>
|
<value>加密方式(security)</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="label4.Size" type="System.Drawing.Size, System.Drawing">
|
<data name="label6.Size" type="System.Drawing.Size, System.Drawing">
|
||||||
<value>95, 12</value>
|
<value>83, 12</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="label4.Text" xml:space="preserve">
|
<data name="label6.Text" xml:space="preserve">
|
||||||
<value>额外ID(alterId)</value>
|
<value>别名(remarks)</value>
|
||||||
</data>
|
|
||||||
<data name="label3.Size" type="System.Drawing.Size, System.Drawing">
|
|
||||||
<value>65, 12</value>
|
|
||||||
</data>
|
|
||||||
<data name="label3.Text" xml:space="preserve">
|
|
||||||
<value>用户ID(id)</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>端口(port)</value>
|
|
||||||
</data>
|
</data>
|
||||||
<data name="label1.Size" type="System.Drawing.Size, System.Drawing">
|
<data name="label1.Size" type="System.Drawing.Size, System.Drawing">
|
||||||
<value>83, 12</value>
|
<value>83, 12</value>
|
||||||
@@ -295,40 +254,22 @@
|
|||||||
<data name="label1.Text" xml:space="preserve">
|
<data name="label1.Text" xml:space="preserve">
|
||||||
<value>地址(address)</value>
|
<value>地址(address)</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="groupBox1.Text" xml:space="preserve">
|
<data name="label2.Size" type="System.Drawing.Size, System.Drawing">
|
||||||
<value>服务器</value>
|
<value>65, 12</value>
|
||||||
|
</data>
|
||||||
|
<data name="label2.Text" xml:space="preserve">
|
||||||
|
<value>端口(port)</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="btnOK.Text" xml:space="preserve">
|
<data name="btnOK.Text" xml:space="preserve">
|
||||||
<value>确定(&O)</value>
|
<value>确定(&O)</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="MenuItemImportClient.Size" type="System.Drawing.Size, System.Drawing">
|
|
||||||
<value>171, 22</value>
|
|
||||||
</data>
|
|
||||||
<data name="MenuItemImportClient.Text" xml:space="preserve">
|
|
||||||
<value>导入客户端配置</value>
|
|
||||||
</data>
|
|
||||||
<data name="MenuItemImportServer.Size" type="System.Drawing.Size, System.Drawing">
|
|
||||||
<value>171, 22</value>
|
|
||||||
</data>
|
|
||||||
<data name="MenuItemImportServer.Text" xml:space="preserve">
|
|
||||||
<value>导入服务端配置</value>
|
|
||||||
</data>
|
|
||||||
<data name="toolStripSeparator1.Size" type="System.Drawing.Size, System.Drawing">
|
|
||||||
<value>168, 6</value>
|
|
||||||
</data>
|
|
||||||
<data name="MenuItemImportClipboard.Size" type="System.Drawing.Size, System.Drawing">
|
|
||||||
<value>171, 22</value>
|
|
||||||
</data>
|
|
||||||
<data name="MenuItemImportClipboard.Text" xml:space="preserve">
|
|
||||||
<value>从剪贴板导入URL</value>
|
|
||||||
</data>
|
|
||||||
<data name="MenuItem1.Size" type="System.Drawing.Size, System.Drawing">
|
|
||||||
<value>92, 21</value>
|
|
||||||
</data>
|
|
||||||
<data name="MenuItem1.Text" xml:space="preserve">
|
|
||||||
<value>导入配置文件</value>
|
|
||||||
</data>
|
|
||||||
<data name="$this.Text" xml:space="preserve">
|
<data name="$this.Text" xml:space="preserve">
|
||||||
<value>编辑或添加[VMess]服务器</value>
|
<value>编辑或添加[VMess]服务器</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="btnGUID5.Text" xml:space="preserve">
|
||||||
|
<value>生成</value>
|
||||||
|
</data>
|
||||||
|
<data name="labCoreType.Text" xml:space="preserve">
|
||||||
|
<value>Core类型</value>
|
||||||
|
</data>
|
||||||
</root>
|
</root>
|
||||||
1
v2rayN/v2rayN/Forms/BaseServerForm.Designer.cs
generated
1
v2rayN/v2rayN/Forms/BaseServerForm.Designer.cs
generated
@@ -36,7 +36,6 @@
|
|||||||
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 12F);
|
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 12F);
|
||||||
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
|
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
|
||||||
this.ClientSize = new System.Drawing.Size(292, 273);
|
this.ClientSize = new System.Drawing.Size(292, 273);
|
||||||
this.Icon = ((System.Drawing.Icon)(resources.GetObject("$this.Icon")));
|
|
||||||
this.MaximizeBox = false;
|
this.MaximizeBox = false;
|
||||||
this.MinimizeBox = false;
|
this.MinimizeBox = false;
|
||||||
this.Name = "BaseServerForm";
|
this.Name = "BaseServerForm";
|
||||||
|
|||||||
@@ -6,13 +6,14 @@ namespace v2rayN.Forms
|
|||||||
{
|
{
|
||||||
public partial class BaseServerForm : BaseForm
|
public partial class BaseServerForm : BaseForm
|
||||||
{
|
{
|
||||||
public int EditIndex { get; set; }
|
public VmessItem vmessItem = null;
|
||||||
protected VmessItem vmessItem = null;
|
public string groupId;
|
||||||
|
public EConfigType eConfigType;
|
||||||
|
|
||||||
public BaseServerForm()
|
public BaseServerForm()
|
||||||
{
|
{
|
||||||
InitializeComponent();
|
InitializeComponent();
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
File diff suppressed because it is too large
Load Diff
@@ -1,6 +1,6 @@
|
|||||||
namespace v2rayN.Forms
|
namespace v2rayN.Forms
|
||||||
{
|
{
|
||||||
partial class AddServer4Form
|
partial class GlobalHotkeySettingForm
|
||||||
{
|
{
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Required designer variable.
|
/// Required designer variable.
|
||||||
@@ -28,114 +28,49 @@
|
|||||||
/// </summary>
|
/// </summary>
|
||||||
private void InitializeComponent()
|
private void InitializeComponent()
|
||||||
{
|
{
|
||||||
System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(AddServer4Form));
|
System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(GlobalHotkeySettingForm));
|
||||||
this.btnClose = new System.Windows.Forms.Button();
|
this.btnClose = new System.Windows.Forms.Button();
|
||||||
this.groupBox1 = new System.Windows.Forms.GroupBox();
|
|
||||||
this.txtSecurity = new System.Windows.Forms.TextBox();
|
|
||||||
this.label4 = new System.Windows.Forms.Label();
|
|
||||||
this.txtId = new System.Windows.Forms.TextBox();
|
|
||||||
this.label3 = new System.Windows.Forms.Label();
|
|
||||||
this.label13 = new System.Windows.Forms.Label();
|
|
||||||
this.txtRemarks = new System.Windows.Forms.TextBox();
|
|
||||||
this.label6 = new System.Windows.Forms.Label();
|
|
||||||
this.txtPort = new System.Windows.Forms.TextBox();
|
|
||||||
this.label2 = new System.Windows.Forms.Label();
|
|
||||||
this.txtAddress = new System.Windows.Forms.TextBox();
|
|
||||||
this.label1 = new System.Windows.Forms.Label();
|
|
||||||
this.panel2 = new System.Windows.Forms.Panel();
|
this.panel2 = new System.Windows.Forms.Panel();
|
||||||
|
this.btnReset = new System.Windows.Forms.Button();
|
||||||
this.btnOK = new System.Windows.Forms.Button();
|
this.btnOK = new System.Windows.Forms.Button();
|
||||||
this.panel1 = new System.Windows.Forms.Panel();
|
this.panel1 = new System.Windows.Forms.Panel();
|
||||||
this.groupBox1.SuspendLayout();
|
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.panel2.SuspendLayout();
|
||||||
|
this.panel1.SuspendLayout();
|
||||||
this.SuspendLayout();
|
this.SuspendLayout();
|
||||||
//
|
//
|
||||||
// btnClose
|
// btnClose
|
||||||
//
|
//
|
||||||
this.btnClose.DialogResult = System.Windows.Forms.DialogResult.Cancel;
|
|
||||||
resources.ApplyResources(this.btnClose, "btnClose");
|
resources.ApplyResources(this.btnClose, "btnClose");
|
||||||
|
this.btnClose.DialogResult = System.Windows.Forms.DialogResult.Cancel;
|
||||||
this.btnClose.Name = "btnClose";
|
this.btnClose.Name = "btnClose";
|
||||||
this.btnClose.UseVisualStyleBackColor = true;
|
this.btnClose.UseVisualStyleBackColor = true;
|
||||||
this.btnClose.Click += new System.EventHandler(this.btnClose_Click);
|
this.btnClose.Click += new System.EventHandler(this.btnClose_Click);
|
||||||
//
|
//
|
||||||
// groupBox1
|
|
||||||
//
|
|
||||||
this.groupBox1.Controls.Add(this.txtSecurity);
|
|
||||||
this.groupBox1.Controls.Add(this.label4);
|
|
||||||
this.groupBox1.Controls.Add(this.txtId);
|
|
||||||
this.groupBox1.Controls.Add(this.label3);
|
|
||||||
this.groupBox1.Controls.Add(this.label13);
|
|
||||||
this.groupBox1.Controls.Add(this.txtRemarks);
|
|
||||||
this.groupBox1.Controls.Add(this.label6);
|
|
||||||
this.groupBox1.Controls.Add(this.txtPort);
|
|
||||||
this.groupBox1.Controls.Add(this.label2);
|
|
||||||
this.groupBox1.Controls.Add(this.txtAddress);
|
|
||||||
this.groupBox1.Controls.Add(this.label1);
|
|
||||||
resources.ApplyResources(this.groupBox1, "groupBox1");
|
|
||||||
this.groupBox1.Name = "groupBox1";
|
|
||||||
this.groupBox1.TabStop = false;
|
|
||||||
//
|
|
||||||
// txtSecurity
|
|
||||||
//
|
|
||||||
resources.ApplyResources(this.txtSecurity, "txtSecurity");
|
|
||||||
this.txtSecurity.Name = "txtSecurity";
|
|
||||||
//
|
|
||||||
// label4
|
|
||||||
//
|
|
||||||
resources.ApplyResources(this.label4, "label4");
|
|
||||||
this.label4.Name = "label4";
|
|
||||||
//
|
|
||||||
// txtId
|
|
||||||
//
|
|
||||||
resources.ApplyResources(this.txtId, "txtId");
|
|
||||||
this.txtId.Name = "txtId";
|
|
||||||
//
|
|
||||||
// label3
|
|
||||||
//
|
|
||||||
resources.ApplyResources(this.label3, "label3");
|
|
||||||
this.label3.Name = "label3";
|
|
||||||
//
|
|
||||||
// label13
|
|
||||||
//
|
|
||||||
resources.ApplyResources(this.label13, "label13");
|
|
||||||
this.label13.Name = "label13";
|
|
||||||
//
|
|
||||||
// txtRemarks
|
|
||||||
//
|
|
||||||
resources.ApplyResources(this.txtRemarks, "txtRemarks");
|
|
||||||
this.txtRemarks.Name = "txtRemarks";
|
|
||||||
//
|
|
||||||
// label6
|
|
||||||
//
|
|
||||||
resources.ApplyResources(this.label6, "label6");
|
|
||||||
this.label6.Name = "label6";
|
|
||||||
//
|
|
||||||
// txtPort
|
|
||||||
//
|
|
||||||
resources.ApplyResources(this.txtPort, "txtPort");
|
|
||||||
this.txtPort.Name = "txtPort";
|
|
||||||
//
|
|
||||||
// label2
|
|
||||||
//
|
|
||||||
resources.ApplyResources(this.label2, "label2");
|
|
||||||
this.label2.Name = "label2";
|
|
||||||
//
|
|
||||||
// txtAddress
|
|
||||||
//
|
|
||||||
resources.ApplyResources(this.txtAddress, "txtAddress");
|
|
||||||
this.txtAddress.Name = "txtAddress";
|
|
||||||
//
|
|
||||||
// label1
|
|
||||||
//
|
|
||||||
resources.ApplyResources(this.label1, "label1");
|
|
||||||
this.label1.Name = "label1";
|
|
||||||
//
|
|
||||||
// panel2
|
// panel2
|
||||||
//
|
//
|
||||||
|
resources.ApplyResources(this.panel2, "panel2");
|
||||||
|
this.panel2.Controls.Add(this.btnReset);
|
||||||
this.panel2.Controls.Add(this.btnClose);
|
this.panel2.Controls.Add(this.btnClose);
|
||||||
this.panel2.Controls.Add(this.btnOK);
|
this.panel2.Controls.Add(this.btnOK);
|
||||||
resources.ApplyResources(this.panel2, "panel2");
|
|
||||||
this.panel2.Name = "panel2";
|
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
|
// btnOK
|
||||||
//
|
//
|
||||||
resources.ApplyResources(this.btnOK, "btnOK");
|
resources.ApplyResources(this.btnOK, "btnOK");
|
||||||
@@ -146,44 +81,106 @@
|
|||||||
// panel1
|
// panel1
|
||||||
//
|
//
|
||||||
resources.ApplyResources(this.panel1, "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";
|
this.panel1.Name = "panel1";
|
||||||
//
|
//
|
||||||
// AddServer4Form
|
// 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");
|
resources.ApplyResources(this, "$this");
|
||||||
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
|
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
|
||||||
this.CancelButton = this.btnClose;
|
this.CancelButton = this.btnClose;
|
||||||
this.Controls.Add(this.groupBox1);
|
|
||||||
this.Controls.Add(this.panel2);
|
|
||||||
this.Controls.Add(this.panel1);
|
this.Controls.Add(this.panel1);
|
||||||
|
this.Controls.Add(this.panel2);
|
||||||
this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedSingle;
|
this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedSingle;
|
||||||
this.MinimizeBox = true;
|
this.Name = "GlobalHotkeySettingForm";
|
||||||
this.Name = "AddServer4Form";
|
this.Load += new System.EventHandler(this.GlobalHotkeySettingForm_Load);
|
||||||
this.Load += new System.EventHandler(this.AddServer4Form_Load);
|
|
||||||
this.groupBox1.ResumeLayout(false);
|
|
||||||
this.groupBox1.PerformLayout();
|
|
||||||
this.panel2.ResumeLayout(false);
|
this.panel2.ResumeLayout(false);
|
||||||
|
this.panel1.ResumeLayout(false);
|
||||||
|
this.panel1.PerformLayout();
|
||||||
this.ResumeLayout(false);
|
this.ResumeLayout(false);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
#endregion
|
#endregion
|
||||||
|
|
||||||
private System.Windows.Forms.GroupBox groupBox1;
|
|
||||||
private System.Windows.Forms.Button btnClose;
|
private System.Windows.Forms.Button btnClose;
|
||||||
private System.Windows.Forms.Button btnOK;
|
private System.Windows.Forms.Button btnOK;
|
||||||
private System.Windows.Forms.TextBox txtRemarks;
|
|
||||||
private System.Windows.Forms.Label label6;
|
|
||||||
private System.Windows.Forms.TextBox txtPort;
|
|
||||||
private System.Windows.Forms.Label label2;
|
|
||||||
private System.Windows.Forms.TextBox txtAddress;
|
|
||||||
private System.Windows.Forms.Label label1;
|
|
||||||
private System.Windows.Forms.Panel panel1;
|
|
||||||
private System.Windows.Forms.Panel panel2;
|
private System.Windows.Forms.Panel panel2;
|
||||||
private System.Windows.Forms.Label label13;
|
private System.Windows.Forms.Panel panel1;
|
||||||
private System.Windows.Forms.TextBox txtId;
|
private System.Windows.Forms.TextBox txtGlobalHotkey0;
|
||||||
private System.Windows.Forms.Label label3;
|
private System.Windows.Forms.Label label2;
|
||||||
private System.Windows.Forms.TextBox txtSecurity;
|
private System.Windows.Forms.TextBox txtGlobalHotkey3;
|
||||||
private System.Windows.Forms.Label label4;
|
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;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
138
v2rayN/v2rayN/Forms/GlobalHotkeySettingForm.cs
Normal file
138
v2rayN/v2rayN/Forms/GlobalHotkeySettingForm.cs
Normal file
@@ -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);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -117,421 +117,421 @@
|
|||||||
<resheader name="writer">
|
<resheader name="writer">
|
||||||
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||||
</resheader>
|
</resheader>
|
||||||
<assembly alias="System.Drawing" name="System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
|
<data name="label1.Text" xml:space="preserve">
|
||||||
<data name="btnClose.Location" type="System.Drawing.Point, System.Drawing">
|
<value>Clear system proxy</value>
|
||||||
<value>396, 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="txtSecurity.Location" type="System.Drawing.Point, System.Drawing">
|
|
||||||
<value>127, 89</value>
|
|
||||||
</data>
|
|
||||||
<data name="txtSecurity.Size" type="System.Drawing.Size, System.Drawing">
|
|
||||||
<value>278, 21</value>
|
|
||||||
</data>
|
|
||||||
<data name="txtSecurity.TabIndex" type="System.Int32, mscorlib">
|
|
||||||
<value>26</value>
|
|
||||||
</data>
|
|
||||||
<data name=">>txtSecurity.Name" xml:space="preserve">
|
|
||||||
<value>txtSecurity</value>
|
|
||||||
</data>
|
|
||||||
<data name=">>txtSecurity.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=">>txtSecurity.Parent" xml:space="preserve">
|
|
||||||
<value>groupBox1</value>
|
|
||||||
</data>
|
|
||||||
<data name=">>txtSecurity.ZOrder" xml:space="preserve">
|
|
||||||
<value>0</value>
|
|
||||||
</data>
|
|
||||||
<data name="label4.AutoSize" type="System.Boolean, mscorlib">
|
|
||||||
<value>True</value>
|
|
||||||
</data>
|
</data>
|
||||||
<assembly alias="System.Windows.Forms" name="System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
|
<assembly alias="System.Windows.Forms" name="System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
|
||||||
<data name="label4.ImeMode" type="System.Windows.Forms.ImeMode, System.Windows.Forms">
|
<data name="label2.ImeMode" type="System.Windows.Forms.ImeMode, System.Windows.Forms">
|
||||||
<value>NoControl</value>
|
<value>NoControl</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="label4.Location" type="System.Drawing.Point, System.Drawing">
|
|
||||||
<value>12, 93</value>
|
|
||||||
</data>
|
|
||||||
<data name="label4.Size" type="System.Drawing.Size, System.Drawing">
|
|
||||||
<value>89, 12</value>
|
|
||||||
</data>
|
|
||||||
<data name="label4.TabIndex" type="System.Int32, mscorlib">
|
|
||||||
<value>25</value>
|
|
||||||
</data>
|
|
||||||
<data name="label4.Text" xml:space="preserve">
|
|
||||||
<value>User(Optional)</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>groupBox1</value>
|
|
||||||
</data>
|
|
||||||
<data name=">>label4.ZOrder" xml:space="preserve">
|
|
||||||
<value>1</value>
|
|
||||||
</data>
|
|
||||||
<data name="txtId.Location" type="System.Drawing.Point, System.Drawing">
|
|
||||||
<value>127, 120</value>
|
|
||||||
</data>
|
|
||||||
<data name="txtId.Size" type="System.Drawing.Size, System.Drawing">
|
|
||||||
<value>278, 21</value>
|
|
||||||
</data>
|
|
||||||
<data name="txtId.TabIndex" type="System.Int32, mscorlib">
|
|
||||||
<value>24</value>
|
|
||||||
</data>
|
|
||||||
<data name=">>txtId.Name" xml:space="preserve">
|
|
||||||
<value>txtId</value>
|
|
||||||
</data>
|
|
||||||
<data name=">>txtId.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=">>txtId.Parent" xml:space="preserve">
|
|
||||||
<value>groupBox1</value>
|
|
||||||
</data>
|
|
||||||
<data name=">>txtId.ZOrder" xml:space="preserve">
|
|
||||||
<value>2</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, 124</value>
|
|
||||||
</data>
|
|
||||||
<data name="label3.Size" type="System.Drawing.Size, System.Drawing">
|
|
||||||
<value>113, 12</value>
|
|
||||||
</data>
|
|
||||||
<data name="label3.TabIndex" type="System.Int32, mscorlib">
|
|
||||||
<value>23</value>
|
|
||||||
</data>
|
|
||||||
<data name="label3.Text" xml:space="preserve">
|
|
||||||
<value>Password(Optional)</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>groupBox1</value>
|
|
||||||
</data>
|
|
||||||
<data name=">>label3.ZOrder" xml:space="preserve">
|
|
||||||
<value>3</value>
|
|
||||||
</data>
|
|
||||||
<data name="label13.AutoSize" type="System.Boolean, mscorlib">
|
|
||||||
<value>True</value>
|
|
||||||
</data>
|
|
||||||
<data name="label13.Location" type="System.Drawing.Point, System.Drawing">
|
|
||||||
<value>422, 155</value>
|
|
||||||
</data>
|
|
||||||
<data name="label13.Size" type="System.Drawing.Size, System.Drawing">
|
|
||||||
<value>113, 12</value>
|
|
||||||
</data>
|
|
||||||
<data name="label13.TabIndex" type="System.Int32, mscorlib">
|
|
||||||
<value>22</value>
|
|
||||||
</data>
|
|
||||||
<data name="label13.Text" xml:space="preserve">
|
|
||||||
<value>* Fill in manually</value>
|
|
||||||
</data>
|
|
||||||
<data name=">>label13.Name" xml:space="preserve">
|
|
||||||
<value>label13</value>
|
|
||||||
</data>
|
|
||||||
<data name=">>label13.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=">>label13.Parent" xml:space="preserve">
|
|
||||||
<value>groupBox1</value>
|
|
||||||
</data>
|
|
||||||
<data name=">>label13.ZOrder" xml:space="preserve">
|
|
||||||
<value>4</value>
|
|
||||||
</data>
|
|
||||||
<data name="txtRemarks.Location" type="System.Drawing.Point, System.Drawing">
|
|
||||||
<value>127, 151</value>
|
|
||||||
</data>
|
|
||||||
<data name="txtRemarks.Size" type="System.Drawing.Size, System.Drawing">
|
|
||||||
<value>278, 21</value>
|
|
||||||
</data>
|
|
||||||
<data name="txtRemarks.TabIndex" type="System.Int32, mscorlib">
|
|
||||||
<value>11</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>groupBox1</value>
|
|
||||||
</data>
|
|
||||||
<data name=">>txtRemarks.ZOrder" xml:space="preserve">
|
|
||||||
<value>5</value>
|
|
||||||
</data>
|
|
||||||
<data name="label6.AutoSize" type="System.Boolean, mscorlib">
|
|
||||||
<value>True</value>
|
|
||||||
</data>
|
|
||||||
<data name="label6.Location" type="System.Drawing.Point, System.Drawing">
|
|
||||||
<value>12, 155</value>
|
|
||||||
</data>
|
|
||||||
<data name="label6.Size" type="System.Drawing.Size, System.Drawing">
|
|
||||||
<value>95, 12</value>
|
|
||||||
</data>
|
|
||||||
<data name="label6.TabIndex" type="System.Int32, mscorlib">
|
|
||||||
<value>10</value>
|
|
||||||
</data>
|
|
||||||
<data name="label6.Text" xml:space="preserve">
|
|
||||||
<value>Alias (remarks)</value>
|
|
||||||
</data>
|
|
||||||
<data name=">>label6.Name" xml:space="preserve">
|
|
||||||
<value>label6</value>
|
|
||||||
</data>
|
|
||||||
<data name=">>label6.Type" xml:space="preserve">
|
<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>
|
<value>System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||||
</data>
|
</data>
|
||||||
<data name=">>label6.Parent" xml:space="preserve">
|
<data name="panel2.Dock" type="System.Windows.Forms.DockStyle, System.Windows.Forms">
|
||||||
<value>groupBox1</value>
|
<value>Bottom</value>
|
||||||
</data>
|
</data>
|
||||||
<data name=">>label6.ZOrder" xml:space="preserve">
|
<data name=">>panel2.ZOrder" xml:space="preserve">
|
||||||
<value>6</value>
|
|
||||||
</data>
|
|
||||||
<data name="txtPort.Location" type="System.Drawing.Point, System.Drawing">
|
|
||||||
<value>127, 58</value>
|
|
||||||
</data>
|
|
||||||
<data name="txtPort.Size" type="System.Drawing.Size, System.Drawing">
|
|
||||||
<value>194, 21</value>
|
|
||||||
</data>
|
|
||||||
<data name="txtPort.TabIndex" type="System.Int32, mscorlib">
|
|
||||||
<value>3</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>groupBox1</value>
|
|
||||||
</data>
|
|
||||||
<data name=">>txtPort.ZOrder" xml:space="preserve">
|
|
||||||
<value>7</value>
|
|
||||||
</data>
|
|
||||||
<data name="label2.AutoSize" type="System.Boolean, mscorlib">
|
|
||||||
<value>True</value>
|
|
||||||
</data>
|
|
||||||
<data name="label2.Location" type="System.Drawing.Point, System.Drawing">
|
|
||||||
<value>12, 62</value>
|
|
||||||
</data>
|
|
||||||
<data name="label2.Size" type="System.Drawing.Size, System.Drawing">
|
|
||||||
<value>71, 12</value>
|
|
||||||
</data>
|
|
||||||
<data name="label2.TabIndex" type="System.Int32, mscorlib">
|
|
||||||
<value>2</value>
|
|
||||||
</data>
|
|
||||||
<data name="label2.Text" xml:space="preserve">
|
|
||||||
<value>Server port</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>groupBox1</value>
|
|
||||||
</data>
|
|
||||||
<data name=">>label2.ZOrder" xml:space="preserve">
|
|
||||||
<value>8</value>
|
|
||||||
</data>
|
|
||||||
<data name="txtAddress.Location" type="System.Drawing.Point, System.Drawing">
|
|
||||||
<value>127, 27</value>
|
|
||||||
</data>
|
|
||||||
<data name="txtAddress.Size" type="System.Drawing.Size, System.Drawing">
|
|
||||||
<value>359, 21</value>
|
|
||||||
</data>
|
|
||||||
<data name="txtAddress.TabIndex" type="System.Int32, mscorlib">
|
|
||||||
<value>1</value>
|
<value>1</value>
|
||||||
</data>
|
</data>
|
||||||
<data name=">>txtAddress.Name" xml:space="preserve">
|
<assembly alias="System.Drawing" name="System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
|
||||||
<value>txtAddress</value>
|
<data name="btnReset.Size" type="System.Drawing.Size, System.Drawing">
|
||||||
</data>
|
|
||||||
<data name=">>txtAddress.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=">>txtAddress.Parent" xml:space="preserve">
|
|
||||||
<value>groupBox1</value>
|
|
||||||
</data>
|
|
||||||
<data name=">>txtAddress.ZOrder" xml:space="preserve">
|
|
||||||
<value>9</value>
|
|
||||||
</data>
|
|
||||||
<data name="label1.AutoSize" type="System.Boolean, mscorlib">
|
|
||||||
<value>True</value>
|
|
||||||
</data>
|
|
||||||
<data name="label1.Location" type="System.Drawing.Point, System.Drawing">
|
|
||||||
<value>12, 31</value>
|
|
||||||
</data>
|
|
||||||
<data name="label1.Size" type="System.Drawing.Size, System.Drawing">
|
|
||||||
<value>89, 12</value>
|
|
||||||
</data>
|
|
||||||
<data name="label1.TabIndex" type="System.Int32, mscorlib">
|
|
||||||
<value>0</value>
|
|
||||||
</data>
|
|
||||||
<data name="label1.Text" xml:space="preserve">
|
|
||||||
<value>Server address</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>groupBox1</value>
|
|
||||||
</data>
|
|
||||||
<data name=">>label1.ZOrder" xml:space="preserve">
|
|
||||||
<value>10</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, 10</value>
|
|
||||||
</data>
|
|
||||||
<data name="groupBox1.Size" type="System.Drawing.Size, System.Drawing">
|
|
||||||
<value>547, 221</value>
|
|
||||||
</data>
|
|
||||||
<data name="groupBox1.TabIndex" type="System.Int32, mscorlib">
|
|
||||||
<value>3</value>
|
|
||||||
</data>
|
|
||||||
<data name="groupBox1.Text" xml:space="preserve">
|
|
||||||
<value>Server</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>$this</value>
|
|
||||||
</data>
|
|
||||||
<data name=">>groupBox1.ZOrder" xml:space="preserve">
|
|
||||||
<value>0</value>
|
|
||||||
</data>
|
|
||||||
<data name="btnOK.Location" type="System.Drawing.Point, System.Drawing">
|
|
||||||
<value>303, 17</value>
|
|
||||||
</data>
|
|
||||||
<data name="btnOK.Size" type="System.Drawing.Size, System.Drawing">
|
|
||||||
<value>75, 23</value>
|
<value>75, 23</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="btnOK.TabIndex" type="System.Int32, mscorlib">
|
<data name=">>panel2.Name" xml:space="preserve">
|
||||||
<value>5</value>
|
<value>panel2</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="btnOK.Text" xml:space="preserve">
|
<data name=">>label3.Parent" xml:space="preserve">
|
||||||
<value>&OK</value>
|
<value>panel1</value>
|
||||||
</data>
|
</data>
|
||||||
<data name=">>btnOK.Name" xml:space="preserve">
|
<data name="btnReset.Text" xml:space="preserve">
|
||||||
<value>btnOK</value>
|
<value>&Reset</value>
|
||||||
|
</data>
|
||||||
|
<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>
|
||||||
<data name=">>btnOK.Type" xml:space="preserve">
|
<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>
|
<value>System.Windows.Forms.Button, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||||
</data>
|
</data>
|
||||||
<data name=">>btnOK.Parent" xml:space="preserve">
|
<data name="btnClose.ImeMode" type="System.Windows.Forms.ImeMode, System.Windows.Forms">
|
||||||
<value>panel2</value>
|
<value>NoControl</value>
|
||||||
</data>
|
</data>
|
||||||
<data name=">>btnOK.ZOrder" xml:space="preserve">
|
<data name=">>btnOK.Name" xml:space="preserve">
|
||||||
<value>1</value>
|
<value>btnOK</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="panel2.Dock" type="System.Windows.Forms.DockStyle, System.Windows.Forms">
|
<data name=">>btnReset.Parent" xml:space="preserve">
|
||||||
<value>Bottom</value>
|
|
||||||
</data>
|
|
||||||
<data name="panel2.Location" type="System.Drawing.Point, System.Drawing">
|
|
||||||
<value>0, 231</value>
|
|
||||||
</data>
|
|
||||||
<data name="panel2.Size" type="System.Drawing.Size, System.Drawing">
|
|
||||||
<value>547, 60</value>
|
|
||||||
</data>
|
|
||||||
<data name="panel2.TabIndex" type="System.Int32, mscorlib">
|
|
||||||
<value>7</value>
|
|
||||||
</data>
|
|
||||||
<data name=">>panel2.Name" xml:space="preserve">
|
|
||||||
<value>panel2</value>
|
<value>panel2</value>
|
||||||
</data>
|
</data>
|
||||||
<data name=">>panel2.Type" xml:space="preserve">
|
<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>
|
<value>System.Windows.Forms.Panel, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||||
</data>
|
</data>
|
||||||
<data name=">>panel2.Parent" xml:space="preserve">
|
<data name=">>label3.ZOrder" xml:space="preserve">
|
||||||
<value>$this</value>
|
<value>5</value>
|
||||||
</data>
|
</data>
|
||||||
<data name=">>panel2.ZOrder" xml:space="preserve">
|
<data name=">>$this.Name" xml:space="preserve">
|
||||||
<value>1</value>
|
<value>GlobalHotkeySettingForm</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="panel1.Dock" type="System.Windows.Forms.DockStyle, System.Windows.Forms">
|
<data name=">>label1.Name" xml:space="preserve">
|
||||||
<value>Top</value>
|
<value>label1</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="panel1.Location" type="System.Drawing.Point, System.Drawing">
|
<data name="txtGlobalHotkey3.Location" type="System.Drawing.Point, System.Drawing">
|
||||||
<value>0, 0</value>
|
<value>189, 138</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="panel1.Size" type="System.Drawing.Size, System.Drawing">
|
<data name="txtGlobalHotkey1.TabIndex" type="System.Int32, mscorlib">
|
||||||
<value>547, 10</value>
|
<value>34</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="panel1.TabIndex" type="System.Int32, mscorlib">
|
<data name="label4.TabIndex" type="System.Int32, mscorlib">
|
||||||
|
<value>37</value>
|
||||||
|
</data>
|
||||||
|
<data name=">>btnClose.Parent" xml:space="preserve">
|
||||||
|
<value>panel2</value>
|
||||||
|
</data>
|
||||||
|
<data name="label6.Location" type="System.Drawing.Point, System.Drawing">
|
||||||
|
<value>18, 215</value>
|
||||||
|
</data>
|
||||||
|
<data name=">>txtGlobalHotkey1.ZOrder" xml:space="preserve">
|
||||||
<value>6</value>
|
<value>6</value>
|
||||||
</data>
|
</data>
|
||||||
<data name=">>panel1.Name" xml:space="preserve">
|
<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="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="label6.Text" xml:space="preserve">
|
||||||
|
<value>Take effect after restart</value>
|
||||||
|
</data>
|
||||||
|
<data name="txtGlobalHotkey0.Size" type="System.Drawing.Size, System.Drawing">
|
||||||
|
<value>278, 21</value>
|
||||||
|
</data>
|
||||||
|
<data name="txtGlobalHotkey0.Location" type="System.Drawing.Point, System.Drawing">
|
||||||
|
<value>189, 18</value>
|
||||||
|
</data>
|
||||||
|
<data name="panel1.TabIndex" type="System.Int32, mscorlib">
|
||||||
|
<value>11</value>
|
||||||
|
</data>
|
||||||
|
<data name="panel2.TabIndex" type="System.Int32, mscorlib">
|
||||||
|
<value>7</value>
|
||||||
|
</data>
|
||||||
|
<data name=">>label1.Parent" xml:space="preserve">
|
||||||
<value>panel1</value>
|
<value>panel1</value>
|
||||||
</data>
|
</data>
|
||||||
<data name=">>panel1.Type" xml:space="preserve">
|
<data name="label3.Location" type="System.Drawing.Point, System.Drawing">
|
||||||
<value>System.Windows.Forms.Panel, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
<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=">>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>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="btnOK.Location" type="System.Drawing.Point, System.Drawing">
|
||||||
|
<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>panel1</value>
|
||||||
|
</data>
|
||||||
|
<data name="panel1.Dock" type="System.Windows.Forms.DockStyle, System.Windows.Forms">
|
||||||
|
<value>Fill</value>
|
||||||
|
</data>
|
||||||
|
<data name=">>label4.ZOrder" xml:space="preserve">
|
||||||
|
<value>3</value>
|
||||||
|
</data>
|
||||||
|
<data name=">>btnReset.Name" xml:space="preserve">
|
||||||
|
<value>btnReset</value>
|
||||||
|
</data>
|
||||||
|
<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>0</value>
|
||||||
|
</data>
|
||||||
|
<data name=">>label1.ZOrder" xml:space="preserve">
|
||||||
|
<value>7</value>
|
||||||
|
</data>
|
||||||
|
<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="label5.AutoSize" type="System.Boolean, mscorlib">
|
||||||
|
<value>True</value>
|
||||||
|
</data>
|
||||||
|
<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="label3.AutoSize" type="System.Boolean, mscorlib">
|
||||||
|
<value>True</value>
|
||||||
|
</data>
|
||||||
|
<data name="txtGlobalHotkey2.Size" type="System.Drawing.Size, System.Drawing">
|
||||||
|
<value>278, 21</value>
|
||||||
|
</data>
|
||||||
|
<data name="label1.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="txtGlobalHotkey2.Location" type="System.Drawing.Point, System.Drawing">
|
||||||
|
<value>189, 99</value>
|
||||||
|
</data>
|
||||||
|
<data name=">>label2.Name" xml:space="preserve">
|
||||||
|
<value>label2</value>
|
||||||
|
</data>
|
||||||
|
<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="btnClose.Text" xml:space="preserve">
|
||||||
|
<value>&Cancel</value>
|
||||||
|
</data>
|
||||||
|
<data name="label1.Location" type="System.Drawing.Point, System.Drawing">
|
||||||
|
<value>18, 62</value>
|
||||||
|
</data>
|
||||||
|
<data name="btnOK.Text" xml:space="preserve">
|
||||||
|
<value>&OK</value>
|
||||||
|
</data>
|
||||||
|
<data name=">>btnClose.ZOrder" xml:space="preserve">
|
||||||
|
<value>1</value>
|
||||||
|
</data>
|
||||||
|
<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=">>label6.Parent" xml:space="preserve">
|
||||||
|
<value>panel1</value>
|
||||||
|
</data>
|
||||||
|
<data name="label4.Location" type="System.Drawing.Point, System.Drawing">
|
||||||
|
<value>18, 142</value>
|
||||||
|
</data>
|
||||||
|
<data name=">>txtGlobalHotkey3.ZOrder" xml:space="preserve">
|
||||||
|
<value>2</value>
|
||||||
</data>
|
</data>
|
||||||
<data name=">>panel1.Parent" xml:space="preserve">
|
<data name=">>panel1.Parent" xml:space="preserve">
|
||||||
<value>$this</value>
|
<value>$this</value>
|
||||||
</data>
|
</data>
|
||||||
<data name=">>panel1.ZOrder" xml:space="preserve">
|
<data name="label4.Size" type="System.Drawing.Size, System.Drawing">
|
||||||
|
<value>161, 12</value>
|
||||||
|
</data>
|
||||||
|
<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="label5.Size" type="System.Drawing.Size, System.Drawing">
|
||||||
|
<value>227, 12</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="panel1.Location" type="System.Drawing.Point, System.Drawing">
|
||||||
|
<value>0, 0</value>
|
||||||
|
</data>
|
||||||
|
<data name=">>btnOK.Parent" xml:space="preserve">
|
||||||
|
<value>panel2</value>
|
||||||
|
</data>
|
||||||
|
<data name=">>txtGlobalHotkey2.ZOrder" xml:space="preserve">
|
||||||
|
<value>4</value>
|
||||||
|
</data>
|
||||||
|
<data name="label6.Size" type="System.Drawing.Size, System.Drawing">
|
||||||
|
<value>155, 12</value>
|
||||||
|
</data>
|
||||||
|
<data name="$this.Text" xml:space="preserve">
|
||||||
|
<value>GlobalHotkey Setting</value>
|
||||||
|
</data>
|
||||||
|
<data name=">>btnOK.ZOrder" xml:space="preserve">
|
||||||
<value>2</value>
|
<value>2</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="btnOK.TabIndex" type="System.Int32, mscorlib">
|
||||||
|
<value>5</value>
|
||||||
|
</data>
|
||||||
|
<data name="$this.ClientSize" type="System.Drawing.Size, System.Drawing">
|
||||||
|
<value>527, 302</value>
|
||||||
|
</data>
|
||||||
|
<data name="btnClose.TabIndex" type="System.Int32, mscorlib">
|
||||||
|
<value>4</value>
|
||||||
|
</data>
|
||||||
|
<data name="txtGlobalHotkey3.TabIndex" type="System.Int32, mscorlib">
|
||||||
|
<value>38</value>
|
||||||
|
</data>
|
||||||
|
<data name=">>txtGlobalHotkey3.Name" xml:space="preserve">
|
||||||
|
<value>txtGlobalHotkey3</value>
|
||||||
|
</data>
|
||||||
|
<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>396, 17</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=">>label6.Name" xml:space="preserve">
|
||||||
|
<value>label6</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.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">
|
<metadata name="$this.Localizable" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||||
<value>True</value>
|
<value>True</value>
|
||||||
</metadata>
|
</metadata>
|
||||||
<data name="$this.AutoScaleDimensions" type="System.Drawing.SizeF, System.Drawing">
|
<metadata name="$this.TrayHeight" type="System.Int32, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||||
<value>6, 12</value>
|
<value>25</value>
|
||||||
</data>
|
</metadata>
|
||||||
<data name="$this.ClientSize" type="System.Drawing.Size, System.Drawing">
|
|
||||||
<value>547, 291</value>
|
|
||||||
</data>
|
|
||||||
<data name="$this.Text" xml:space="preserve">
|
|
||||||
<value>Edit or add a [Socks] server</value>
|
|
||||||
</data>
|
|
||||||
<data name=">>$this.Name" xml:space="preserve">
|
|
||||||
<value>AddServer4Form</value>
|
|
||||||
</data>
|
|
||||||
<data name=">>$this.Type" xml:space="preserve">
|
|
||||||
<value>v2rayN.Forms.BaseServerForm, v2rayN, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null</value>
|
|
||||||
</data>
|
|
||||||
</root>
|
</root>
|
||||||
@@ -120,59 +120,47 @@
|
|||||||
<data name="btnClose.Text" xml:space="preserve">
|
<data name="btnClose.Text" xml:space="preserve">
|
||||||
<value>取消(&C)</value>
|
<value>取消(&C)</value>
|
||||||
</data>
|
</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" />
|
<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">
|
<data name="label6.Size" type="System.Drawing.Size, System.Drawing">
|
||||||
<value>77, 12</value>
|
|
||||||
</data>
|
|
||||||
<data name="label4.Text" xml:space="preserve">
|
|
||||||
<value>用户名(可选)</value>
|
|
||||||
</data>
|
|
||||||
<data name="label3.Size" type="System.Drawing.Size, System.Drawing">
|
|
||||||
<value>65, 12</value>
|
<value>65, 12</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="label3.Text" xml:space="preserve">
|
|
||||||
<value>密码(可选)</value>
|
|
||||||
</data>
|
|
||||||
<data name="label13.Text" xml:space="preserve">
|
|
||||||
<value>*手填,方便识别管理</value>
|
|
||||||
</data>
|
|
||||||
<data name="label6.Size" type="System.Drawing.Size, System.Drawing">
|
|
||||||
<value>83, 12</value>
|
|
||||||
</data>
|
|
||||||
<data name="label6.Text" xml:space="preserve">
|
<data name="label6.Text" xml:space="preserve">
|
||||||
<value>别名(remarks)</value>
|
<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>
|
||||||
<data name="label2.Size" type="System.Drawing.Size, System.Drawing">
|
<data name="label2.Size" type="System.Drawing.Size, System.Drawing">
|
||||||
<value>65, 12</value>
|
<value>65, 12</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="label2.Text" xml:space="preserve">
|
<data name="label2.Text" xml:space="preserve">
|
||||||
<value>服务器端口</value>
|
<value>显示主界面</value>
|
||||||
</data>
|
|
||||||
<data name="label1.Size" type="System.Drawing.Size, System.Drawing">
|
|
||||||
<value>65, 12</value>
|
|
||||||
</data>
|
|
||||||
<data name="label1.Text" xml:space="preserve">
|
|
||||||
<value>服务器地址</value>
|
|
||||||
</data>
|
|
||||||
<data name="groupBox1.Text" xml:space="preserve">
|
|
||||||
<value>服务器</value>
|
|
||||||
</data>
|
|
||||||
<data name="btnOK.Text" xml:space="preserve">
|
|
||||||
<value>确定(&O)</value>
|
|
||||||
</data>
|
|
||||||
<data name="menuItemImportClipboard.Size" type="System.Drawing.Size, System.Drawing">
|
|
||||||
<value>171, 22</value>
|
|
||||||
</data>
|
|
||||||
<data name="menuItemImportClipboard.Text" xml:space="preserve">
|
|
||||||
<value>从剪贴板导入URL</value>
|
|
||||||
</data>
|
|
||||||
<data name="MenuItem1.Size" type="System.Drawing.Size, System.Drawing">
|
|
||||||
<value>92, 21</value>
|
|
||||||
</data>
|
|
||||||
<data name="MenuItem1.Text" xml:space="preserve">
|
|
||||||
<value>导入配置文件</value>
|
|
||||||
</data>
|
</data>
|
||||||
<data name="$this.Text" xml:space="preserve">
|
<data name="$this.Text" xml:space="preserve">
|
||||||
<value>编辑或添加[Socks]服务器</value>
|
<value>全局热键设置</value>
|
||||||
</data>
|
</data>
|
||||||
</root>
|
</root>
|
||||||
86
v2rayN/v2rayN/Forms/GroupSettingControl.Designer.cs
generated
Normal file
86
v2rayN/v2rayN/Forms/GroupSettingControl.Designer.cs
generated
Normal file
@@ -0,0 +1,86 @@
|
|||||||
|
namespace v2rayN.Forms
|
||||||
|
{
|
||||||
|
partial class GroupSettingControl
|
||||||
|
{
|
||||||
|
/// <summary>
|
||||||
|
/// 必需的设计器变量。
|
||||||
|
/// </summary>
|
||||||
|
private System.ComponentModel.IContainer components = null;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 清理所有正在使用的资源。
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="disposing">如果应释放托管资源,为 true;否则为 false。</param>
|
||||||
|
protected override void Dispose(bool disposing)
|
||||||
|
{
|
||||||
|
if (disposing && (components != null))
|
||||||
|
{
|
||||||
|
components.Dispose();
|
||||||
|
}
|
||||||
|
base.Dispose(disposing);
|
||||||
|
}
|
||||||
|
|
||||||
|
#region 组件设计器生成的代码
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 设计器支持所需的方法 - 不要修改
|
||||||
|
/// 使用代码编辑器修改此方法的内容。
|
||||||
|
/// </summary>
|
||||||
|
private void InitializeComponent()
|
||||||
|
{
|
||||||
|
System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(GroupSettingControl));
|
||||||
|
this.grbMain = new System.Windows.Forms.GroupBox();
|
||||||
|
this.btnRemove = new System.Windows.Forms.Button();
|
||||||
|
this.txtRemarks = new System.Windows.Forms.TextBox();
|
||||||
|
this.label2 = new System.Windows.Forms.Label();
|
||||||
|
this.grbMain.SuspendLayout();
|
||||||
|
this.SuspendLayout();
|
||||||
|
//
|
||||||
|
// grbMain
|
||||||
|
//
|
||||||
|
resources.ApplyResources(this.grbMain, "grbMain");
|
||||||
|
this.grbMain.Controls.Add(this.btnRemove);
|
||||||
|
this.grbMain.Controls.Add(this.txtRemarks);
|
||||||
|
this.grbMain.Controls.Add(this.label2);
|
||||||
|
this.grbMain.Name = "grbMain";
|
||||||
|
this.grbMain.TabStop = false;
|
||||||
|
//
|
||||||
|
// btnRemove
|
||||||
|
//
|
||||||
|
resources.ApplyResources(this.btnRemove, "btnRemove");
|
||||||
|
this.btnRemove.Name = "btnRemove";
|
||||||
|
this.btnRemove.UseVisualStyleBackColor = true;
|
||||||
|
this.btnRemove.Click += new System.EventHandler(this.btnRemove_Click);
|
||||||
|
//
|
||||||
|
// txtRemarks
|
||||||
|
//
|
||||||
|
resources.ApplyResources(this.txtRemarks, "txtRemarks");
|
||||||
|
this.txtRemarks.Name = "txtRemarks";
|
||||||
|
this.txtRemarks.Leave += new System.EventHandler(this.txtRemarks_Leave);
|
||||||
|
//
|
||||||
|
// label2
|
||||||
|
//
|
||||||
|
resources.ApplyResources(this.label2, "label2");
|
||||||
|
this.label2.Name = "label2";
|
||||||
|
//
|
||||||
|
// GroupSettingControl
|
||||||
|
//
|
||||||
|
resources.ApplyResources(this, "$this");
|
||||||
|
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
|
||||||
|
this.Controls.Add(this.grbMain);
|
||||||
|
this.Name = "GroupSettingControl";
|
||||||
|
this.Load += new System.EventHandler(this.GroupSettingControl_Load);
|
||||||
|
this.grbMain.ResumeLayout(false);
|
||||||
|
this.grbMain.PerformLayout();
|
||||||
|
this.ResumeLayout(false);
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
#endregion
|
||||||
|
|
||||||
|
private System.Windows.Forms.GroupBox grbMain;
|
||||||
|
private System.Windows.Forms.TextBox txtRemarks;
|
||||||
|
private System.Windows.Forms.Label label2;
|
||||||
|
private System.Windows.Forms.Button btnRemove;
|
||||||
|
}
|
||||||
|
}
|
||||||
59
v2rayN/v2rayN/Forms/GroupSettingControl.cs
Normal file
59
v2rayN/v2rayN/Forms/GroupSettingControl.cs
Normal file
@@ -0,0 +1,59 @@
|
|||||||
|
using System;
|
||||||
|
using System.Windows.Forms;
|
||||||
|
using v2rayN.Base;
|
||||||
|
using v2rayN.Handler;
|
||||||
|
using v2rayN.Mode;
|
||||||
|
|
||||||
|
namespace v2rayN.Forms
|
||||||
|
{
|
||||||
|
public partial class GroupSettingControl : UserControl
|
||||||
|
{
|
||||||
|
public event ChangeEventHandler OnButtonClicked;
|
||||||
|
|
||||||
|
|
||||||
|
public GroupItem groupItem
|
||||||
|
{
|
||||||
|
get; set;
|
||||||
|
}
|
||||||
|
|
||||||
|
public GroupSettingControl()
|
||||||
|
{
|
||||||
|
InitializeComponent();
|
||||||
|
}
|
||||||
|
|
||||||
|
private void GroupSettingControl_Load(object sender, EventArgs e)
|
||||||
|
{
|
||||||
|
this.Height = grbMain.Height;
|
||||||
|
BindingSub();
|
||||||
|
}
|
||||||
|
|
||||||
|
private void BindingSub()
|
||||||
|
{
|
||||||
|
if (groupItem != null)
|
||||||
|
{
|
||||||
|
txtRemarks.Text = groupItem.remarks.ToString();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
private void EndBindingSub()
|
||||||
|
{
|
||||||
|
if (groupItem != null)
|
||||||
|
{
|
||||||
|
groupItem.remarks = txtRemarks.Text.TrimEx();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
private void txtRemarks_Leave(object sender, EventArgs e)
|
||||||
|
{
|
||||||
|
EndBindingSub();
|
||||||
|
}
|
||||||
|
|
||||||
|
private void btnRemove_Click(object sender, EventArgs e)
|
||||||
|
{
|
||||||
|
if (groupItem != null)
|
||||||
|
{
|
||||||
|
groupItem.remarks = string.Empty;
|
||||||
|
}
|
||||||
|
|
||||||
|
OnButtonClicked?.Invoke(sender, e);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -117,62 +117,127 @@
|
|||||||
<resheader name="writer">
|
<resheader name="writer">
|
||||||
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||||
</resheader>
|
</resheader>
|
||||||
<data name="btnClose.Text" xml:space="preserve">
|
<assembly alias="mscorlib" name="mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
|
||||||
<value>取消(&C)</value>
|
<data name="grbMain.TabIndex" type="System.Int32, mscorlib">
|
||||||
</data>
|
<value>10</value>
|
||||||
<data name="groupBox1.Text" xml:space="preserve">
|
|
||||||
<value>服务器</value>
|
|
||||||
</data>
|
|
||||||
<data name="label13.Text" xml:space="preserve">
|
|
||||||
<value>*手填,方便识别管理</value>
|
|
||||||
</data>
|
</data>
|
||||||
<assembly alias="System.Drawing" name="System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
|
<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">
|
<data name="$this.AutoScaleDimensions" type="System.Drawing.SizeF, System.Drawing">
|
||||||
<value>83, 12</value>
|
<value>6, 12</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="label6.Text" xml:space="preserve">
|
<data name=">>grbMain.ZOrder" xml:space="preserve">
|
||||||
<value>别名(remarks)</value>
|
<value>0</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="label5.Size" type="System.Drawing.Size, System.Drawing">
|
<data name="txtRemarks.Size" type="System.Drawing.Size, System.Drawing">
|
||||||
<value>53, 12</value>
|
<value>292, 21</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="label5.Text" xml:space="preserve">
|
<data name="btnRemove.Location" type="System.Drawing.Point, System.Drawing">
|
||||||
<value>加密方式</value>
|
<value>525, 21</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="label3.Size" type="System.Drawing.Size, System.Drawing">
|
<data name="txtRemarks.Location" type="System.Drawing.Point, System.Drawing">
|
||||||
<value>29, 12</value>
|
<value>127, 21</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="label3.Text" xml:space="preserve">
|
<data name=">>btnRemove.Parent" xml:space="preserve">
|
||||||
<value>密码</value>
|
<value>grbMain</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="label2.Size" type="System.Drawing.Size, System.Drawing">
|
<data name="label2.Location" type="System.Drawing.Point, System.Drawing">
|
||||||
<value>65, 12</value>
|
<value>12, 25</value>
|
||||||
|
</data>
|
||||||
|
<data name="btnRemove.TabIndex" type="System.Int32, mscorlib">
|
||||||
|
<value>24</value>
|
||||||
|
</data>
|
||||||
|
<data name=">>$this.Type" xml:space="preserve">
|
||||||
|
<value>System.Windows.Forms.UserControl, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||||
|
</data>
|
||||||
|
<data name=">>$this.Name" xml:space="preserve">
|
||||||
|
<value>GroupSettingControl</value>
|
||||||
|
</data>
|
||||||
|
<data name=">>label2.Parent" xml:space="preserve">
|
||||||
|
<value>grbMain</value>
|
||||||
|
</data>
|
||||||
|
<data name=">>btnRemove.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=">>grbMain.Name" xml:space="preserve">
|
||||||
|
<value>grbMain</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.ZOrder" xml:space="preserve">
|
||||||
|
<value>2</value>
|
||||||
|
</data>
|
||||||
|
<data name=">>label2.Name" xml:space="preserve">
|
||||||
|
<value>label2</value>
|
||||||
|
</data>
|
||||||
|
<data name="btnRemove.Size" type="System.Drawing.Size, System.Drawing">
|
||||||
|
<value>75, 23</value>
|
||||||
|
</data>
|
||||||
|
<data name="grbMain.Location" type="System.Drawing.Point, System.Drawing">
|
||||||
|
<value>0, 0</value>
|
||||||
|
</data>
|
||||||
|
<data name="grbMain.Size" type="System.Drawing.Size, System.Drawing">
|
||||||
|
<value>619, 61</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="label2.Text" xml:space="preserve">
|
<data name="label2.Text" xml:space="preserve">
|
||||||
<value>服务器端口</value>
|
<value>Remarks</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="label1.Size" type="System.Drawing.Size, System.Drawing">
|
<data name=">>txtRemarks.Parent" xml:space="preserve">
|
||||||
<value>65, 12</value>
|
<value>grbMain</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="label1.Text" xml:space="preserve">
|
<data name="grbMain.Text" xml:space="preserve">
|
||||||
<value>服务器地址</value>
|
<value>Group details</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="btnOK.Text" xml:space="preserve">
|
<assembly alias="System.Windows.Forms" name="System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
|
||||||
<value>确定(&O)</value>
|
<data name="label2.ImeMode" type="System.Windows.Forms.ImeMode, System.Windows.Forms">
|
||||||
|
<value>NoControl</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="MenuItem1.Size" type="System.Drawing.Size, System.Drawing">
|
<data name="txtRemarks.TabIndex" type="System.Int32, mscorlib">
|
||||||
<value>92, 21</value>
|
<value>1</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="MenuItem1.Text" xml:space="preserve">
|
<data name=">>txtRemarks.Type" xml:space="preserve">
|
||||||
<value>导入配置文件</value>
|
<value>System.Windows.Forms.TextBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="menuItemImportClipboard.Size" type="System.Drawing.Size, System.Drawing">
|
<data name="label2.Size" type="System.Drawing.Size, System.Drawing">
|
||||||
<value>171, 22</value>
|
<value>47, 12</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="menuItemImportClipboard.Text" xml:space="preserve">
|
<data name=">>txtRemarks.Name" xml:space="preserve">
|
||||||
<value>从剪贴板导入URL</value>
|
<value>txtRemarks</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="$this.Text" xml:space="preserve">
|
<data name=">>btnRemove.ZOrder" xml:space="preserve">
|
||||||
<value>编辑或添加[Shadowsocks]服务器</value>
|
<value>0</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name=">>btnRemove.Name" xml:space="preserve">
|
||||||
|
<value>btnRemove</value>
|
||||||
|
</data>
|
||||||
|
<data name="grbMain.Dock" type="System.Windows.Forms.DockStyle, System.Windows.Forms">
|
||||||
|
<value>Fill</value>
|
||||||
|
</data>
|
||||||
|
<data name="label2.TabIndex" type="System.Int32, mscorlib">
|
||||||
|
<value>10</value>
|
||||||
|
</data>
|
||||||
|
<data name="label2.AutoSize" type="System.Boolean, mscorlib">
|
||||||
|
<value>True</value>
|
||||||
|
</data>
|
||||||
|
<data name="btnRemove.ImeMode" type="System.Windows.Forms.ImeMode, System.Windows.Forms">
|
||||||
|
<value>NoControl</value>
|
||||||
|
</data>
|
||||||
|
<data name=">>grbMain.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=">>txtRemarks.ZOrder" xml:space="preserve">
|
||||||
|
<value>1</value>
|
||||||
|
</data>
|
||||||
|
<data name=">>grbMain.Parent" xml:space="preserve">
|
||||||
|
<value>$this</value>
|
||||||
|
</data>
|
||||||
|
<data name="$this.Size" type="System.Drawing.Size, System.Drawing">
|
||||||
|
<value>619, 61</value>
|
||||||
|
</data>
|
||||||
|
<data name="btnRemove.Text" xml:space="preserve">
|
||||||
|
<value>Remove</value>
|
||||||
|
</data>
|
||||||
|
<metadata name="$this.Localizable" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||||
|
<value>True</value>
|
||||||
|
</metadata>
|
||||||
</root>
|
</root>
|
||||||
@@ -117,17 +117,17 @@
|
|||||||
<resheader name="writer">
|
<resheader name="writer">
|
||||||
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||||
</resheader>
|
</resheader>
|
||||||
<data name="btnClose.Text" xml:space="preserve">
|
<data name="btnRemove.Text" xml:space="preserve">
|
||||||
<value>取消(&C)</value>
|
<value>移除</value>
|
||||||
</data>
|
|
||||||
<data name="btnOK.Text" xml:space="preserve">
|
|
||||||
<value>确定(&O)</value>
|
|
||||||
</data>
|
</data>
|
||||||
<assembly alias="System.Drawing" name="System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
|
<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">
|
<data name="label2.Size" type="System.Drawing.Size, System.Drawing">
|
||||||
<value>65, 12</value>
|
<value>29, 12</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="label3.Text" xml:space="preserve">
|
<data name="label2.Text" xml:space="preserve">
|
||||||
<value>地址 (url)</value>
|
<value>备注</value>
|
||||||
|
</data>
|
||||||
|
<data name="grbMain.Text" xml:space="preserve">
|
||||||
|
<value>分组详情</value>
|
||||||
</data>
|
</data>
|
||||||
</root>
|
</root>
|
||||||
@@ -1,6 +1,6 @@
|
|||||||
namespace v2rayN.Forms
|
namespace v2rayN.Forms
|
||||||
{
|
{
|
||||||
partial class RoutingSubSettingForm
|
partial class GroupSettingForm
|
||||||
{
|
{
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Required designer variable.
|
/// Required designer variable.
|
||||||
@@ -28,24 +28,15 @@
|
|||||||
/// </summary>
|
/// </summary>
|
||||||
private void InitializeComponent()
|
private void InitializeComponent()
|
||||||
{
|
{
|
||||||
System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(RoutingSubSettingForm));
|
System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(GroupSettingForm));
|
||||||
this.panel2 = new System.Windows.Forms.Panel();
|
|
||||||
this.btnClose = new System.Windows.Forms.Button();
|
this.btnClose = new System.Windows.Forms.Button();
|
||||||
this.btnOK = new System.Windows.Forms.Button();
|
|
||||||
this.panCon = new System.Windows.Forms.Panel();
|
this.panCon = new System.Windows.Forms.Panel();
|
||||||
this.txtUrl = new System.Windows.Forms.TextBox();
|
this.panel2 = new System.Windows.Forms.Panel();
|
||||||
this.label3 = new System.Windows.Forms.Label();
|
this.btnAdd = new System.Windows.Forms.Button();
|
||||||
|
this.btnOK = new System.Windows.Forms.Button();
|
||||||
this.panel2.SuspendLayout();
|
this.panel2.SuspendLayout();
|
||||||
this.panCon.SuspendLayout();
|
|
||||||
this.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
|
// btnClose
|
||||||
//
|
//
|
||||||
this.btnClose.DialogResult = System.Windows.Forms.DialogResult.Cancel;
|
this.btnClose.DialogResult = System.Windows.Forms.DialogResult.Cancel;
|
||||||
@@ -54,6 +45,26 @@
|
|||||||
this.btnClose.UseVisualStyleBackColor = true;
|
this.btnClose.UseVisualStyleBackColor = true;
|
||||||
this.btnClose.Click += new System.EventHandler(this.btnClose_Click);
|
this.btnClose.Click += new System.EventHandler(this.btnClose_Click);
|
||||||
//
|
//
|
||||||
|
// panCon
|
||||||
|
//
|
||||||
|
resources.ApplyResources(this.panCon, "panCon");
|
||||||
|
this.panCon.Name = "panCon";
|
||||||
|
//
|
||||||
|
// panel2
|
||||||
|
//
|
||||||
|
this.panel2.Controls.Add(this.btnAdd);
|
||||||
|
this.panel2.Controls.Add(this.btnClose);
|
||||||
|
this.panel2.Controls.Add(this.btnOK);
|
||||||
|
resources.ApplyResources(this.panel2, "panel2");
|
||||||
|
this.panel2.Name = "panel2";
|
||||||
|
//
|
||||||
|
// btnAdd
|
||||||
|
//
|
||||||
|
resources.ApplyResources(this.btnAdd, "btnAdd");
|
||||||
|
this.btnAdd.Name = "btnAdd";
|
||||||
|
this.btnAdd.UseVisualStyleBackColor = true;
|
||||||
|
this.btnAdd.Click += new System.EventHandler(this.btnAdd_Click);
|
||||||
|
//
|
||||||
// btnOK
|
// btnOK
|
||||||
//
|
//
|
||||||
resources.ApplyResources(this.btnOK, "btnOK");
|
resources.ApplyResources(this.btnOK, "btnOK");
|
||||||
@@ -61,46 +72,26 @@
|
|||||||
this.btnOK.UseVisualStyleBackColor = true;
|
this.btnOK.UseVisualStyleBackColor = true;
|
||||||
this.btnOK.Click += new System.EventHandler(this.btnOK_Click);
|
this.btnOK.Click += new System.EventHandler(this.btnOK_Click);
|
||||||
//
|
//
|
||||||
// panCon
|
// GroupSettingForm
|
||||||
//
|
|
||||||
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");
|
resources.ApplyResources(this, "$this");
|
||||||
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
|
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
|
||||||
this.CancelButton = this.btnClose;
|
this.CancelButton = this.btnClose;
|
||||||
this.Controls.Add(this.panCon);
|
this.Controls.Add(this.panCon);
|
||||||
this.Controls.Add(this.panel2);
|
this.Controls.Add(this.panel2);
|
||||||
this.Name = "RoutingSubSettingForm";
|
this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedSingle;
|
||||||
this.Load += new System.EventHandler(this.RoutingSubSettingForm_Load);
|
this.Name = "GroupSettingForm";
|
||||||
|
this.Load += new System.EventHandler(this.GroupSettingForm_Load);
|
||||||
this.panel2.ResumeLayout(false);
|
this.panel2.ResumeLayout(false);
|
||||||
this.panCon.ResumeLayout(false);
|
|
||||||
this.panCon.PerformLayout();
|
|
||||||
this.ResumeLayout(false);
|
this.ResumeLayout(false);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
#endregion
|
#endregion
|
||||||
|
|
||||||
private System.Windows.Forms.Panel panel2;
|
|
||||||
private System.Windows.Forms.Button btnClose;
|
private System.Windows.Forms.Button btnClose;
|
||||||
private System.Windows.Forms.Button btnOK;
|
private System.Windows.Forms.Button btnOK;
|
||||||
|
private System.Windows.Forms.Panel panel2;
|
||||||
|
private System.Windows.Forms.Button btnAdd;
|
||||||
private System.Windows.Forms.Panel panCon;
|
private System.Windows.Forms.Panel panCon;
|
||||||
private System.Windows.Forms.TextBox txtUrl;
|
|
||||||
private System.Windows.Forms.Label label3;
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
103
v2rayN/v2rayN/Forms/GroupSettingForm.cs
Normal file
103
v2rayN/v2rayN/Forms/GroupSettingForm.cs
Normal file
@@ -0,0 +1,103 @@
|
|||||||
|
using System;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
using System.Windows.Forms;
|
||||||
|
using v2rayN.Handler;
|
||||||
|
using v2rayN.Mode;
|
||||||
|
|
||||||
|
namespace v2rayN.Forms
|
||||||
|
{
|
||||||
|
public partial class GroupSettingForm : BaseForm
|
||||||
|
{
|
||||||
|
List<GroupSettingControl> lstControls = new List<GroupSettingControl>();
|
||||||
|
|
||||||
|
public GroupSettingForm()
|
||||||
|
{
|
||||||
|
InitializeComponent();
|
||||||
|
}
|
||||||
|
|
||||||
|
private void GroupSettingForm_Load(object sender, EventArgs e)
|
||||||
|
{
|
||||||
|
if (config.groupItem == null)
|
||||||
|
{
|
||||||
|
config.groupItem = new List<GroupItem>();
|
||||||
|
}
|
||||||
|
|
||||||
|
RefreshGroupsView();
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 刷新列表
|
||||||
|
/// </summary>
|
||||||
|
private void RefreshGroupsView()
|
||||||
|
{
|
||||||
|
panCon.Controls.Clear();
|
||||||
|
lstControls.Clear();
|
||||||
|
|
||||||
|
for (int k = config.groupItem.Count - 1; k >= 0; k--)
|
||||||
|
{
|
||||||
|
GroupItem item = config.groupItem[k];
|
||||||
|
if (Utils.IsNullOrEmpty(item.remarks))
|
||||||
|
{
|
||||||
|
if (!Utils.IsNullOrEmpty(item.id))
|
||||||
|
{
|
||||||
|
ConfigHandler.RemoveGroupItem(ref config, item.id);
|
||||||
|
}
|
||||||
|
config.groupItem.RemoveAt(k);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
foreach (GroupItem item in config.groupItem)
|
||||||
|
{
|
||||||
|
GroupSettingControl control = new GroupSettingControl();
|
||||||
|
control.OnButtonClicked += Control_OnButtonClicked;
|
||||||
|
control.groupItem = item;
|
||||||
|
control.Dock = DockStyle.Top;
|
||||||
|
|
||||||
|
panCon.Controls.Add(control);
|
||||||
|
panCon.Controls.SetChildIndex(control, 0);
|
||||||
|
|
||||||
|
lstControls.Add(control);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private void Control_OnButtonClicked(object sender, EventArgs e)
|
||||||
|
{
|
||||||
|
RefreshGroupsView();
|
||||||
|
}
|
||||||
|
|
||||||
|
private void btnOK_Click(object sender, EventArgs e)
|
||||||
|
{
|
||||||
|
if (ConfigHandler.SaveGroupItem(ref config) == 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 btnAdd_Click(object sender, EventArgs e)
|
||||||
|
{
|
||||||
|
AddGroup();
|
||||||
|
|
||||||
|
RefreshGroupsView();
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
private void AddGroup()
|
||||||
|
{
|
||||||
|
GroupItem groupItem = new GroupItem
|
||||||
|
{
|
||||||
|
id = string.Empty,
|
||||||
|
remarks = "Group"
|
||||||
|
};
|
||||||
|
config.groupItem.Add(groupItem);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -145,6 +145,60 @@
|
|||||||
<value>panel2</value>
|
<value>panel2</value>
|
||||||
</data>
|
</data>
|
||||||
<data name=">>btnClose.ZOrder" xml:space="preserve">
|
<data name=">>btnClose.ZOrder" xml:space="preserve">
|
||||||
|
<value>1</value>
|
||||||
|
</data>
|
||||||
|
<data name="panCon.AutoScroll" type="System.Boolean, mscorlib">
|
||||||
|
<value>True</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>614, 351</value>
|
||||||
|
</data>
|
||||||
|
<data name="panCon.TabIndex" type="System.Int32, mscorlib">
|
||||||
|
<value>10</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>
|
||||||
|
<data name="btnAdd.ImeMode" type="System.Windows.Forms.ImeMode, System.Windows.Forms">
|
||||||
|
<value>NoControl</value>
|
||||||
|
</data>
|
||||||
|
<data name="btnAdd.Location" type="System.Drawing.Point, System.Drawing">
|
||||||
|
<value>47, 17</value>
|
||||||
|
</data>
|
||||||
|
<data name="btnAdd.Size" type="System.Drawing.Size, System.Drawing">
|
||||||
|
<value>75, 23</value>
|
||||||
|
</data>
|
||||||
|
<data name="btnAdd.TabIndex" type="System.Int32, mscorlib">
|
||||||
|
<value>6</value>
|
||||||
|
</data>
|
||||||
|
<data name="btnAdd.Text" xml:space="preserve">
|
||||||
|
<value>&Add</value>
|
||||||
|
</data>
|
||||||
|
<data name=">>btnAdd.Name" xml:space="preserve">
|
||||||
|
<value>btnAdd</value>
|
||||||
|
</data>
|
||||||
|
<data name=">>btnAdd.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=">>btnAdd.Parent" xml:space="preserve">
|
||||||
|
<value>panel2</value>
|
||||||
|
</data>
|
||||||
|
<data name=">>btnAdd.ZOrder" xml:space="preserve">
|
||||||
<value>0</value>
|
<value>0</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="btnOK.ImeMode" type="System.Windows.Forms.ImeMode, System.Windows.Forms">
|
<data name="btnOK.ImeMode" type="System.Windows.Forms.ImeMode, System.Windows.Forms">
|
||||||
@@ -172,19 +226,19 @@
|
|||||||
<value>panel2</value>
|
<value>panel2</value>
|
||||||
</data>
|
</data>
|
||||||
<data name=">>btnOK.ZOrder" xml:space="preserve">
|
<data name=">>btnOK.ZOrder" xml:space="preserve">
|
||||||
<value>1</value>
|
<value>2</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="panel2.Dock" type="System.Windows.Forms.DockStyle, System.Windows.Forms">
|
<data name="panel2.Dock" type="System.Windows.Forms.DockStyle, System.Windows.Forms">
|
||||||
<value>Bottom</value>
|
<value>Bottom</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="panel2.Location" type="System.Drawing.Point, System.Drawing">
|
<data name="panel2.Location" type="System.Drawing.Point, System.Drawing">
|
||||||
<value>0, 166</value>
|
<value>0, 351</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="panel2.Size" type="System.Drawing.Size, System.Drawing">
|
<data name="panel2.Size" type="System.Drawing.Size, System.Drawing">
|
||||||
<value>545, 60</value>
|
<value>614, 60</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="panel2.TabIndex" type="System.Int32, mscorlib">
|
<data name="panel2.TabIndex" type="System.Int32, mscorlib">
|
||||||
<value>8</value>
|
<value>7</value>
|
||||||
</data>
|
</data>
|
||||||
<data name=">>panel2.Name" xml:space="preserve">
|
<data name=">>panel2.Name" xml:space="preserve">
|
||||||
<value>panel2</value>
|
<value>panel2</value>
|
||||||
@@ -198,87 +252,6 @@
|
|||||||
<data name=">>panel2.ZOrder" xml:space="preserve">
|
<data name=">>panel2.ZOrder" xml:space="preserve">
|
||||||
<value>1</value>
|
<value>1</value>
|
||||||
</data>
|
</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">
|
<metadata name="$this.Localizable" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||||
<value>True</value>
|
<value>True</value>
|
||||||
</metadata>
|
</metadata>
|
||||||
@@ -286,13 +259,13 @@
|
|||||||
<value>6, 12</value>
|
<value>6, 12</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="$this.ClientSize" type="System.Drawing.Size, System.Drawing">
|
<data name="$this.ClientSize" type="System.Drawing.Size, System.Drawing">
|
||||||
<value>545, 226</value>
|
<value>614, 411</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="$this.Text" xml:space="preserve">
|
<data name="$this.Text" xml:space="preserve">
|
||||||
<value>RoutingSubSetting</value>
|
<value>Group settings</value>
|
||||||
</data>
|
</data>
|
||||||
<data name=">>$this.Name" xml:space="preserve">
|
<data name=">>$this.Name" xml:space="preserve">
|
||||||
<value>RoutingSubSettingForm</value>
|
<value>GroupSettingForm</value>
|
||||||
</data>
|
</data>
|
||||||
<data name=">>$this.Type" xml:space="preserve">
|
<data name=">>$this.Type" xml:space="preserve">
|
||||||
<value>v2rayN.Forms.BaseForm, v2rayN, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null</value>
|
<value>v2rayN.Forms.BaseForm, v2rayN, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null</value>
|
||||||
@@ -117,16 +117,16 @@
|
|||||||
<resheader name="writer">
|
<resheader name="writer">
|
||||||
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||||
</resheader>
|
</resheader>
|
||||||
<data name="label4.Text" xml:space="preserve">
|
|
||||||
<value>OutboundTag</value>
|
|
||||||
</data>
|
|
||||||
<data name="btnClose.Text" xml:space="preserve">
|
<data name="btnClose.Text" xml:space="preserve">
|
||||||
<value>取消(&C)</value>
|
<value>取消(&C)</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="btnAdd.Text" xml:space="preserve">
|
||||||
|
<value>添加(&A)</value>
|
||||||
|
</data>
|
||||||
<data name="btnOK.Text" xml:space="preserve">
|
<data name="btnOK.Text" xml:space="preserve">
|
||||||
<value>确定(&O)</value>
|
<value>确定(&O)</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="$this.Text" xml:space="preserve">
|
<data name="$this.Text" xml:space="preserve">
|
||||||
<value>快速添加路由规则</value>
|
<value>服务器分组设置</value>
|
||||||
</data>
|
</data>
|
||||||
</root>
|
</root>
|
||||||
134
v2rayN/v2rayN/Forms/MainForm.Designer.cs
generated
134
v2rayN/v2rayN/Forms/MainForm.Designer.cs
generated
@@ -64,8 +64,9 @@
|
|||||||
this.menuExport2ServerConfig = new System.Windows.Forms.ToolStripMenuItem();
|
this.menuExport2ServerConfig = new System.Windows.Forms.ToolStripMenuItem();
|
||||||
this.menuExport2ShareUrl = new System.Windows.Forms.ToolStripMenuItem();
|
this.menuExport2ShareUrl = new System.Windows.Forms.ToolStripMenuItem();
|
||||||
this.menuExport2SubContent = new System.Windows.Forms.ToolStripMenuItem();
|
this.menuExport2SubContent = new System.Windows.Forms.ToolStripMenuItem();
|
||||||
this.tsbServer = new System.Windows.Forms.ToolStripDropDownButton();
|
this.tabGroup = new System.Windows.Forms.TabControl();
|
||||||
this.qrCodeControl = new v2rayN.Forms.QRCodeControl();
|
this.qrCodeControl = new v2rayN.Forms.QRCodeControl();
|
||||||
|
this.tsbServer = new System.Windows.Forms.ToolStripDropDownButton();
|
||||||
this.splitContainer1 = new System.Windows.Forms.SplitContainer();
|
this.splitContainer1 = new System.Windows.Forms.SplitContainer();
|
||||||
this.groupBox1 = new System.Windows.Forms.GroupBox();
|
this.groupBox1 = new System.Windows.Forms.GroupBox();
|
||||||
this.gbMsgTitle = new System.Windows.Forms.GroupBox();
|
this.gbMsgTitle = new System.Windows.Forms.GroupBox();
|
||||||
@@ -74,14 +75,13 @@
|
|||||||
this.menuMsgBoxSelectAll = new System.Windows.Forms.ToolStripMenuItem();
|
this.menuMsgBoxSelectAll = new System.Windows.Forms.ToolStripMenuItem();
|
||||||
this.menuMsgBoxCopy = new System.Windows.Forms.ToolStripMenuItem();
|
this.menuMsgBoxCopy = new System.Windows.Forms.ToolStripMenuItem();
|
||||||
this.menuMsgBoxCopyAll = new System.Windows.Forms.ToolStripMenuItem();
|
this.menuMsgBoxCopyAll = new System.Windows.Forms.ToolStripMenuItem();
|
||||||
|
this.menuMsgBoxClear = new System.Windows.Forms.ToolStripMenuItem();
|
||||||
this.menuMsgBoxAddRoutingRule = new System.Windows.Forms.ToolStripMenuItem();
|
this.menuMsgBoxAddRoutingRule = new System.Windows.Forms.ToolStripMenuItem();
|
||||||
this.menuMsgBoxFilter = new System.Windows.Forms.ToolStripMenuItem();
|
this.menuMsgBoxFilter = new System.Windows.Forms.ToolStripMenuItem();
|
||||||
this.ssMain = new System.Windows.Forms.StatusStrip();
|
this.ssMain = new System.Windows.Forms.StatusStrip();
|
||||||
this.toolSslSocksPortLab = new System.Windows.Forms.ToolStripStatusLabel();
|
this.toolSslInboundInfo = new System.Windows.Forms.ToolStripStatusLabel();
|
||||||
this.toolSslSocksPort = new System.Windows.Forms.ToolStripStatusLabel();
|
|
||||||
this.toolSslBlank1 = new System.Windows.Forms.ToolStripStatusLabel();
|
this.toolSslBlank1 = new System.Windows.Forms.ToolStripStatusLabel();
|
||||||
this.toolSslHttpPortLab = new System.Windows.Forms.ToolStripStatusLabel();
|
this.toolSslRoutingRule = new System.Windows.Forms.ToolStripStatusLabel();
|
||||||
this.toolSslHttpPort = new System.Windows.Forms.ToolStripStatusLabel();
|
|
||||||
this.toolSslBlank2 = new System.Windows.Forms.ToolStripStatusLabel();
|
this.toolSslBlank2 = new System.Windows.Forms.ToolStripStatusLabel();
|
||||||
this.toolSslServerSpeed = new System.Windows.Forms.ToolStripStatusLabel();
|
this.toolSslServerSpeed = new System.Windows.Forms.ToolStripStatusLabel();
|
||||||
this.toolSslBlank4 = new System.Windows.Forms.ToolStripStatusLabel();
|
this.toolSslBlank4 = new System.Windows.Forms.ToolStripStatusLabel();
|
||||||
@@ -93,24 +93,28 @@
|
|||||||
this.menuKeepNothing = new System.Windows.Forms.ToolStripMenuItem();
|
this.menuKeepNothing = new System.Windows.Forms.ToolStripMenuItem();
|
||||||
this.menuRoutings = new System.Windows.Forms.ToolStripMenuItem();
|
this.menuRoutings = new System.Windows.Forms.ToolStripMenuItem();
|
||||||
this.menuServers = new System.Windows.Forms.ToolStripMenuItem();
|
this.menuServers = new System.Windows.Forms.ToolStripMenuItem();
|
||||||
|
this.menuServers2 = new System.Windows.Forms.ToolStripComboBox();
|
||||||
this.toolStripSeparator13 = new System.Windows.Forms.ToolStripSeparator();
|
this.toolStripSeparator13 = new System.Windows.Forms.ToolStripSeparator();
|
||||||
this.menuAddServers2 = new System.Windows.Forms.ToolStripMenuItem();
|
this.menuAddServers2 = new System.Windows.Forms.ToolStripMenuItem();
|
||||||
this.menuScanScreen2 = new System.Windows.Forms.ToolStripMenuItem();
|
this.menuScanScreen2 = new System.Windows.Forms.ToolStripMenuItem();
|
||||||
this.menuUpdateSubscriptions = new System.Windows.Forms.ToolStripMenuItem();
|
this.menuUpdateSubscriptions = new System.Windows.Forms.ToolStripMenuItem();
|
||||||
|
this.menuUpdateSubViaProxy = new System.Windows.Forms.ToolStripMenuItem();
|
||||||
this.toolStripSeparator2 = new System.Windows.Forms.ToolStripSeparator();
|
this.toolStripSeparator2 = new System.Windows.Forms.ToolStripSeparator();
|
||||||
this.menuExit = new System.Windows.Forms.ToolStripMenuItem();
|
this.menuExit = new System.Windows.Forms.ToolStripMenuItem();
|
||||||
this.bgwScan = new System.ComponentModel.BackgroundWorker();
|
|
||||||
this.panel1 = new System.Windows.Forms.Panel();
|
this.panel1 = new System.Windows.Forms.Panel();
|
||||||
this.tsMain = new System.Windows.Forms.ToolStrip();
|
this.tsMain = new System.Windows.Forms.ToolStrip();
|
||||||
this.toolStripSeparator4 = new System.Windows.Forms.ToolStripSeparator();
|
this.toolStripSeparator4 = new System.Windows.Forms.ToolStripSeparator();
|
||||||
this.tsbSub = new System.Windows.Forms.ToolStripDropDownButton();
|
this.tsbSub = new System.Windows.Forms.ToolStripDropDownButton();
|
||||||
this.tsbSubSetting = new System.Windows.Forms.ToolStripMenuItem();
|
this.tsbSubSetting = new System.Windows.Forms.ToolStripMenuItem();
|
||||||
this.tsbSubUpdate = new System.Windows.Forms.ToolStripMenuItem();
|
this.tsbSubUpdate = new System.Windows.Forms.ToolStripMenuItem();
|
||||||
|
this.tsbSubUpdateViaProxy = new System.Windows.Forms.ToolStripMenuItem();
|
||||||
this.tsbQRCodeSwitch = new System.Windows.Forms.ToolStripButton();
|
this.tsbQRCodeSwitch = new System.Windows.Forms.ToolStripButton();
|
||||||
this.toolStripSeparator8 = new System.Windows.Forms.ToolStripSeparator();
|
this.toolStripSeparator8 = new System.Windows.Forms.ToolStripSeparator();
|
||||||
this.tsbSetting = new System.Windows.Forms.ToolStripDropDownButton();
|
this.tsbSetting = new System.Windows.Forms.ToolStripDropDownButton();
|
||||||
this.tsbOptionSetting = new System.Windows.Forms.ToolStripMenuItem();
|
this.tsbOptionSetting = new System.Windows.Forms.ToolStripMenuItem();
|
||||||
this.tsbRoutingSetting = new System.Windows.Forms.ToolStripMenuItem();
|
this.tsbRoutingSetting = new System.Windows.Forms.ToolStripMenuItem();
|
||||||
|
this.tsbGlobalHotkeySetting = new System.Windows.Forms.ToolStripMenuItem();
|
||||||
|
this.tsbGroupSetting = new System.Windows.Forms.ToolStripMenuItem();
|
||||||
this.toolStripSeparator14 = new System.Windows.Forms.ToolStripSeparator();
|
this.toolStripSeparator14 = new System.Windows.Forms.ToolStripSeparator();
|
||||||
this.tsbBackupGuiNConfig = new System.Windows.Forms.ToolStripMenuItem();
|
this.tsbBackupGuiNConfig = new System.Windows.Forms.ToolStripMenuItem();
|
||||||
this.toolStripSeparator5 = new System.Windows.Forms.ToolStripSeparator();
|
this.toolStripSeparator5 = new System.Windows.Forms.ToolStripSeparator();
|
||||||
@@ -159,6 +163,7 @@
|
|||||||
// scMain.Panel1
|
// scMain.Panel1
|
||||||
//
|
//
|
||||||
this.scMain.Panel1.Controls.Add(this.lvServers);
|
this.scMain.Panel1.Controls.Add(this.lvServers);
|
||||||
|
this.scMain.Panel1.Controls.Add(this.tabGroup);
|
||||||
//
|
//
|
||||||
// scMain.Panel2
|
// scMain.Panel2
|
||||||
//
|
//
|
||||||
@@ -405,6 +410,18 @@
|
|||||||
resources.ApplyResources(this.menuExport2SubContent, "menuExport2SubContent");
|
resources.ApplyResources(this.menuExport2SubContent, "menuExport2SubContent");
|
||||||
this.menuExport2SubContent.Click += new System.EventHandler(this.menuExport2SubContent_Click);
|
this.menuExport2SubContent.Click += new System.EventHandler(this.menuExport2SubContent_Click);
|
||||||
//
|
//
|
||||||
|
// tabGroup
|
||||||
|
//
|
||||||
|
resources.ApplyResources(this.tabGroup, "tabGroup");
|
||||||
|
this.tabGroup.Name = "tabGroup";
|
||||||
|
this.tabGroup.SelectedIndex = 0;
|
||||||
|
this.tabGroup.SelectedIndexChanged += new System.EventHandler(this.tabGroup_SelectedIndexChanged);
|
||||||
|
//
|
||||||
|
// qrCodeControl
|
||||||
|
//
|
||||||
|
resources.ApplyResources(this.qrCodeControl, "qrCodeControl");
|
||||||
|
this.qrCodeControl.Name = "qrCodeControl";
|
||||||
|
//
|
||||||
// tsbServer
|
// tsbServer
|
||||||
//
|
//
|
||||||
this.tsbServer.DropDown = this.cmsLv;
|
this.tsbServer.DropDown = this.cmsLv;
|
||||||
@@ -412,11 +429,6 @@
|
|||||||
resources.ApplyResources(this.tsbServer, "tsbServer");
|
resources.ApplyResources(this.tsbServer, "tsbServer");
|
||||||
this.tsbServer.Name = "tsbServer";
|
this.tsbServer.Name = "tsbServer";
|
||||||
//
|
//
|
||||||
// qrCodeControl
|
|
||||||
//
|
|
||||||
resources.ApplyResources(this.qrCodeControl, "qrCodeControl");
|
|
||||||
this.qrCodeControl.Name = "qrCodeControl";
|
|
||||||
//
|
|
||||||
// splitContainer1
|
// splitContainer1
|
||||||
//
|
//
|
||||||
resources.ApplyResources(this.splitContainer1, "splitContainer1");
|
resources.ApplyResources(this.splitContainer1, "splitContainer1");
|
||||||
@@ -462,6 +474,7 @@
|
|||||||
this.menuMsgBoxSelectAll,
|
this.menuMsgBoxSelectAll,
|
||||||
this.menuMsgBoxCopy,
|
this.menuMsgBoxCopy,
|
||||||
this.menuMsgBoxCopyAll,
|
this.menuMsgBoxCopyAll,
|
||||||
|
this.menuMsgBoxClear,
|
||||||
this.menuMsgBoxAddRoutingRule,
|
this.menuMsgBoxAddRoutingRule,
|
||||||
this.menuMsgBoxFilter});
|
this.menuMsgBoxFilter});
|
||||||
this.cmsMsgBox.Name = "cmsMsgBox";
|
this.cmsMsgBox.Name = "cmsMsgBox";
|
||||||
@@ -485,6 +498,12 @@
|
|||||||
resources.ApplyResources(this.menuMsgBoxCopyAll, "menuMsgBoxCopyAll");
|
resources.ApplyResources(this.menuMsgBoxCopyAll, "menuMsgBoxCopyAll");
|
||||||
this.menuMsgBoxCopyAll.Click += new System.EventHandler(this.menuMsgBoxCopyAll_Click);
|
this.menuMsgBoxCopyAll.Click += new System.EventHandler(this.menuMsgBoxCopyAll_Click);
|
||||||
//
|
//
|
||||||
|
// menuMsgBoxClear
|
||||||
|
//
|
||||||
|
this.menuMsgBoxClear.Name = "menuMsgBoxClear";
|
||||||
|
resources.ApplyResources(this.menuMsgBoxClear, "menuMsgBoxClear");
|
||||||
|
this.menuMsgBoxClear.Click += new System.EventHandler(this.menuMsgBoxClear_Click);
|
||||||
|
//
|
||||||
// menuMsgBoxAddRoutingRule
|
// menuMsgBoxAddRoutingRule
|
||||||
//
|
//
|
||||||
this.menuMsgBoxAddRoutingRule.Name = "menuMsgBoxAddRoutingRule";
|
this.menuMsgBoxAddRoutingRule.Name = "menuMsgBoxAddRoutingRule";
|
||||||
@@ -501,11 +520,9 @@
|
|||||||
//
|
//
|
||||||
this.ssMain.ImageScalingSize = new System.Drawing.Size(20, 20);
|
this.ssMain.ImageScalingSize = new System.Drawing.Size(20, 20);
|
||||||
this.ssMain.Items.AddRange(new System.Windows.Forms.ToolStripItem[] {
|
this.ssMain.Items.AddRange(new System.Windows.Forms.ToolStripItem[] {
|
||||||
this.toolSslSocksPortLab,
|
this.toolSslInboundInfo,
|
||||||
this.toolSslSocksPort,
|
|
||||||
this.toolSslBlank1,
|
this.toolSslBlank1,
|
||||||
this.toolSslHttpPortLab,
|
this.toolSslRoutingRule,
|
||||||
this.toolSslHttpPort,
|
|
||||||
this.toolSslBlank2,
|
this.toolSslBlank2,
|
||||||
this.toolSslServerSpeed,
|
this.toolSslServerSpeed,
|
||||||
this.toolSslBlank4});
|
this.toolSslBlank4});
|
||||||
@@ -513,15 +530,10 @@
|
|||||||
this.ssMain.Name = "ssMain";
|
this.ssMain.Name = "ssMain";
|
||||||
this.ssMain.ItemClicked += new System.Windows.Forms.ToolStripItemClickedEventHandler(this.ssMain_ItemClicked);
|
this.ssMain.ItemClicked += new System.Windows.Forms.ToolStripItemClickedEventHandler(this.ssMain_ItemClicked);
|
||||||
//
|
//
|
||||||
// toolSslSocksPortLab
|
// toolSslInboundInfo
|
||||||
//
|
//
|
||||||
resources.ApplyResources(this.toolSslSocksPortLab, "toolSslSocksPortLab");
|
this.toolSslInboundInfo.Name = "toolSslInboundInfo";
|
||||||
this.toolSslSocksPortLab.Name = "toolSslSocksPortLab";
|
resources.ApplyResources(this.toolSslInboundInfo, "toolSslInboundInfo");
|
||||||
//
|
|
||||||
// toolSslSocksPort
|
|
||||||
//
|
|
||||||
this.toolSslSocksPort.Name = "toolSslSocksPort";
|
|
||||||
resources.ApplyResources(this.toolSslSocksPort, "toolSslSocksPort");
|
|
||||||
//
|
//
|
||||||
// toolSslBlank1
|
// toolSslBlank1
|
||||||
//
|
//
|
||||||
@@ -529,20 +541,15 @@
|
|||||||
this.toolSslBlank1.Name = "toolSslBlank1";
|
this.toolSslBlank1.Name = "toolSslBlank1";
|
||||||
this.toolSslBlank1.Spring = true;
|
this.toolSslBlank1.Spring = true;
|
||||||
//
|
//
|
||||||
// toolSslHttpPortLab
|
// toolSslRoutingRule
|
||||||
//
|
//
|
||||||
resources.ApplyResources(this.toolSslHttpPortLab, "toolSslHttpPortLab");
|
this.toolSslRoutingRule.Name = "toolSslRoutingRule";
|
||||||
this.toolSslHttpPortLab.Name = "toolSslHttpPortLab";
|
resources.ApplyResources(this.toolSslRoutingRule, "toolSslRoutingRule");
|
||||||
//
|
|
||||||
// toolSslHttpPort
|
|
||||||
//
|
|
||||||
this.toolSslHttpPort.Name = "toolSslHttpPort";
|
|
||||||
resources.ApplyResources(this.toolSslHttpPort, "toolSslHttpPort");
|
|
||||||
//
|
//
|
||||||
// toolSslBlank2
|
// toolSslBlank2
|
||||||
//
|
//
|
||||||
resources.ApplyResources(this.toolSslBlank2, "toolSslBlank2");
|
|
||||||
this.toolSslBlank2.Name = "toolSslBlank2";
|
this.toolSslBlank2.Name = "toolSslBlank2";
|
||||||
|
resources.ApplyResources(this.toolSslBlank2, "toolSslBlank2");
|
||||||
this.toolSslBlank2.Spring = true;
|
this.toolSslBlank2.Spring = true;
|
||||||
//
|
//
|
||||||
// toolSslServerSpeed
|
// toolSslServerSpeed
|
||||||
@@ -570,10 +577,12 @@
|
|||||||
this.menuSysAgentMode,
|
this.menuSysAgentMode,
|
||||||
this.menuRoutings,
|
this.menuRoutings,
|
||||||
this.menuServers,
|
this.menuServers,
|
||||||
|
this.menuServers2,
|
||||||
this.toolStripSeparator13,
|
this.toolStripSeparator13,
|
||||||
this.menuAddServers2,
|
this.menuAddServers2,
|
||||||
this.menuScanScreen2,
|
this.menuScanScreen2,
|
||||||
this.menuUpdateSubscriptions,
|
this.menuUpdateSubscriptions,
|
||||||
|
this.menuUpdateSubViaProxy,
|
||||||
this.toolStripSeparator2,
|
this.toolStripSeparator2,
|
||||||
this.menuExit});
|
this.menuExit});
|
||||||
this.cmsMain.Name = "contextMenuStrip1";
|
this.cmsMain.Name = "contextMenuStrip1";
|
||||||
@@ -618,6 +627,14 @@
|
|||||||
this.menuServers.Name = "menuServers";
|
this.menuServers.Name = "menuServers";
|
||||||
resources.ApplyResources(this.menuServers, "menuServers");
|
resources.ApplyResources(this.menuServers, "menuServers");
|
||||||
//
|
//
|
||||||
|
// 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
|
// toolStripSeparator13
|
||||||
//
|
//
|
||||||
this.toolStripSeparator13.Name = "toolStripSeparator13";
|
this.toolStripSeparator13.Name = "toolStripSeparator13";
|
||||||
@@ -641,6 +658,12 @@
|
|||||||
resources.ApplyResources(this.menuUpdateSubscriptions, "menuUpdateSubscriptions");
|
resources.ApplyResources(this.menuUpdateSubscriptions, "menuUpdateSubscriptions");
|
||||||
this.menuUpdateSubscriptions.Click += new System.EventHandler(this.menuUpdateSubscriptions_Click);
|
this.menuUpdateSubscriptions.Click += new System.EventHandler(this.menuUpdateSubscriptions_Click);
|
||||||
//
|
//
|
||||||
|
// menuUpdateSubViaProxy
|
||||||
|
//
|
||||||
|
this.menuUpdateSubViaProxy.Name = "menuUpdateSubViaProxy";
|
||||||
|
resources.ApplyResources(this.menuUpdateSubViaProxy, "menuUpdateSubViaProxy");
|
||||||
|
this.menuUpdateSubViaProxy.Click += new System.EventHandler(this.menuUpdateSubViaProxy_Click);
|
||||||
|
//
|
||||||
// toolStripSeparator2
|
// toolStripSeparator2
|
||||||
//
|
//
|
||||||
this.toolStripSeparator2.Name = "toolStripSeparator2";
|
this.toolStripSeparator2.Name = "toolStripSeparator2";
|
||||||
@@ -652,12 +675,6 @@
|
|||||||
resources.ApplyResources(this.menuExit, "menuExit");
|
resources.ApplyResources(this.menuExit, "menuExit");
|
||||||
this.menuExit.Click += new System.EventHandler(this.menuExit_Click);
|
this.menuExit.Click += new System.EventHandler(this.menuExit_Click);
|
||||||
//
|
//
|
||||||
// bgwScan
|
|
||||||
//
|
|
||||||
this.bgwScan.WorkerReportsProgress = true;
|
|
||||||
this.bgwScan.DoWork += new System.ComponentModel.DoWorkEventHandler(this.bgwScan_DoWork);
|
|
||||||
this.bgwScan.ProgressChanged += new System.ComponentModel.ProgressChangedEventHandler(this.bgwScan_ProgressChanged);
|
|
||||||
//
|
|
||||||
// panel1
|
// panel1
|
||||||
//
|
//
|
||||||
resources.ApplyResources(this.panel1, "panel1");
|
resources.ApplyResources(this.panel1, "panel1");
|
||||||
@@ -695,7 +712,8 @@
|
|||||||
//
|
//
|
||||||
this.tsbSub.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] {
|
this.tsbSub.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] {
|
||||||
this.tsbSubSetting,
|
this.tsbSubSetting,
|
||||||
this.tsbSubUpdate});
|
this.tsbSubUpdate,
|
||||||
|
this.tsbSubUpdateViaProxy});
|
||||||
this.tsbSub.Image = global::v2rayN.Properties.Resources.sub;
|
this.tsbSub.Image = global::v2rayN.Properties.Resources.sub;
|
||||||
resources.ApplyResources(this.tsbSub, "tsbSub");
|
resources.ApplyResources(this.tsbSub, "tsbSub");
|
||||||
this.tsbSub.Name = "tsbSub";
|
this.tsbSub.Name = "tsbSub";
|
||||||
@@ -712,6 +730,12 @@
|
|||||||
resources.ApplyResources(this.tsbSubUpdate, "tsbSubUpdate");
|
resources.ApplyResources(this.tsbSubUpdate, "tsbSubUpdate");
|
||||||
this.tsbSubUpdate.Click += new System.EventHandler(this.tsbSubUpdate_Click);
|
this.tsbSubUpdate.Click += new System.EventHandler(this.tsbSubUpdate_Click);
|
||||||
//
|
//
|
||||||
|
// tsbSubUpdateViaProxy
|
||||||
|
//
|
||||||
|
this.tsbSubUpdateViaProxy.Name = "tsbSubUpdateViaProxy";
|
||||||
|
resources.ApplyResources(this.tsbSubUpdateViaProxy, "tsbSubUpdateViaProxy");
|
||||||
|
this.tsbSubUpdateViaProxy.Click += new System.EventHandler(this.tsbSubUpdateViaProxy_Click);
|
||||||
|
//
|
||||||
// tsbQRCodeSwitch
|
// tsbQRCodeSwitch
|
||||||
//
|
//
|
||||||
this.tsbQRCodeSwitch.CheckOnClick = true;
|
this.tsbQRCodeSwitch.CheckOnClick = true;
|
||||||
@@ -731,6 +755,8 @@
|
|||||||
this.tsbSetting.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] {
|
this.tsbSetting.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] {
|
||||||
this.tsbOptionSetting,
|
this.tsbOptionSetting,
|
||||||
this.tsbRoutingSetting,
|
this.tsbRoutingSetting,
|
||||||
|
this.tsbGlobalHotkeySetting,
|
||||||
|
this.tsbGroupSetting,
|
||||||
this.toolStripSeparator14,
|
this.toolStripSeparator14,
|
||||||
this.tsbBackupGuiNConfig});
|
this.tsbBackupGuiNConfig});
|
||||||
this.tsbSetting.Image = global::v2rayN.Properties.Resources.option;
|
this.tsbSetting.Image = global::v2rayN.Properties.Resources.option;
|
||||||
@@ -749,6 +775,18 @@
|
|||||||
resources.ApplyResources(this.tsbRoutingSetting, "tsbRoutingSetting");
|
resources.ApplyResources(this.tsbRoutingSetting, "tsbRoutingSetting");
|
||||||
this.tsbRoutingSetting.Click += new System.EventHandler(this.tsbRoutingSetting_Click);
|
this.tsbRoutingSetting.Click += new System.EventHandler(this.tsbRoutingSetting_Click);
|
||||||
//
|
//
|
||||||
|
// tsbGlobalHotkeySetting
|
||||||
|
//
|
||||||
|
this.tsbGlobalHotkeySetting.Name = "tsbGlobalHotkeySetting";
|
||||||
|
resources.ApplyResources(this.tsbGlobalHotkeySetting, "tsbGlobalHotkeySetting");
|
||||||
|
this.tsbGlobalHotkeySetting.Click += new System.EventHandler(this.tsbGlobalHotkeySetting_Click);
|
||||||
|
//
|
||||||
|
// tsbGroupSetting
|
||||||
|
//
|
||||||
|
this.tsbGroupSetting.Name = "tsbGroupSetting";
|
||||||
|
resources.ApplyResources(this.tsbGroupSetting, "tsbGroupSetting");
|
||||||
|
this.tsbGroupSetting.Click += new System.EventHandler(this.tsbGroupSetting_Click);
|
||||||
|
//
|
||||||
// toolStripSeparator14
|
// toolStripSeparator14
|
||||||
//
|
//
|
||||||
this.toolStripSeparator14.Name = "toolStripSeparator14";
|
this.toolStripSeparator14.Name = "toolStripSeparator14";
|
||||||
@@ -767,6 +805,7 @@
|
|||||||
//
|
//
|
||||||
// tsbReload
|
// tsbReload
|
||||||
//
|
//
|
||||||
|
this.tsbReload.Image = global::v2rayN.Properties.Resources.restart;
|
||||||
resources.ApplyResources(this.tsbReload, "tsbReload");
|
resources.ApplyResources(this.tsbReload, "tsbReload");
|
||||||
this.tsbReload.Name = "tsbReload";
|
this.tsbReload.Name = "tsbReload";
|
||||||
this.tsbReload.Click += new System.EventHandler(this.tsbReload_Click);
|
this.tsbReload.Click += new System.EventHandler(this.tsbReload_Click);
|
||||||
@@ -885,6 +924,7 @@
|
|||||||
//
|
//
|
||||||
// tsbClose
|
// tsbClose
|
||||||
//
|
//
|
||||||
|
this.tsbClose.Image = global::v2rayN.Properties.Resources.minimize;
|
||||||
resources.ApplyResources(this.tsbClose, "tsbClose");
|
resources.ApplyResources(this.tsbClose, "tsbClose");
|
||||||
this.tsbClose.Name = "tsbClose";
|
this.tsbClose.Name = "tsbClose";
|
||||||
this.tsbClose.Click += new System.EventHandler(this.tsbClose_Click);
|
this.tsbClose.Click += new System.EventHandler(this.tsbClose_Click);
|
||||||
@@ -979,7 +1019,6 @@
|
|||||||
private System.Windows.Forms.ToolStripDropDownButton tsbHelp;
|
private System.Windows.Forms.ToolStripDropDownButton tsbHelp;
|
||||||
private System.Windows.Forms.ToolStripMenuItem tsbAbout;
|
private System.Windows.Forms.ToolStripMenuItem tsbAbout;
|
||||||
private System.Windows.Forms.ToolStripMenuItem menuAddServers2;
|
private System.Windows.Forms.ToolStripMenuItem menuAddServers2;
|
||||||
private System.ComponentModel.BackgroundWorker bgwScan;
|
|
||||||
private System.Windows.Forms.ToolStripMenuItem menuScanScreen;
|
private System.Windows.Forms.ToolStripMenuItem menuScanScreen;
|
||||||
private System.Windows.Forms.ToolStripMenuItem menuScanScreen2;
|
private System.Windows.Forms.ToolStripMenuItem menuScanScreen2;
|
||||||
private System.Windows.Forms.ToolStripDropDownButton tsbSub;
|
private System.Windows.Forms.ToolStripDropDownButton tsbSub;
|
||||||
@@ -994,12 +1033,7 @@
|
|||||||
private System.Windows.Forms.ToolStripButton tsbPromotion;
|
private System.Windows.Forms.ToolStripButton tsbPromotion;
|
||||||
private System.Windows.Forms.ToolStripMenuItem menuAddSocksServer;
|
private System.Windows.Forms.ToolStripMenuItem menuAddSocksServer;
|
||||||
private System.Windows.Forms.StatusStrip ssMain;
|
private System.Windows.Forms.StatusStrip ssMain;
|
||||||
private System.Windows.Forms.ToolStripStatusLabel toolSslSocksPort;
|
|
||||||
private System.Windows.Forms.ToolStripStatusLabel toolSslHttpPort;
|
|
||||||
private System.Windows.Forms.ToolStripStatusLabel toolSslBlank2;
|
|
||||||
private System.Windows.Forms.ToolStripStatusLabel toolSslBlank1;
|
private System.Windows.Forms.ToolStripStatusLabel toolSslBlank1;
|
||||||
private System.Windows.Forms.ToolStripStatusLabel toolSslSocksPortLab;
|
|
||||||
private System.Windows.Forms.ToolStripStatusLabel toolSslHttpPortLab;
|
|
||||||
private System.Windows.Forms.ToolStripStatusLabel toolSslServerSpeed;
|
private System.Windows.Forms.ToolStripStatusLabel toolSslServerSpeed;
|
||||||
private System.Windows.Forms.ToolStripStatusLabel toolSslBlank4;
|
private System.Windows.Forms.ToolStripStatusLabel toolSslBlank4;
|
||||||
private System.Windows.Forms.ToolStripMenuItem menuRemoveDuplicateServer;
|
private System.Windows.Forms.ToolStripMenuItem menuRemoveDuplicateServer;
|
||||||
@@ -1032,6 +1066,16 @@
|
|||||||
private System.Windows.Forms.ToolStripMenuItem tsbCheckUpdateGeoIP;
|
private System.Windows.Forms.ToolStripMenuItem tsbCheckUpdateGeoIP;
|
||||||
private System.Windows.Forms.SplitContainer splitContainer1;
|
private System.Windows.Forms.SplitContainer splitContainer1;
|
||||||
private System.Windows.Forms.ToolStripMenuItem menuMsgBoxFilter;
|
private System.Windows.Forms.ToolStripMenuItem menuMsgBoxFilter;
|
||||||
|
private System.Windows.Forms.ToolStripStatusLabel toolSslInboundInfo;
|
||||||
|
private System.Windows.Forms.ToolStripStatusLabel toolSslRoutingRule;
|
||||||
|
private System.Windows.Forms.ToolStripStatusLabel toolSslBlank2;
|
||||||
|
private System.Windows.Forms.ToolStripComboBox menuServers2;
|
||||||
|
private System.Windows.Forms.ToolStripMenuItem tsbSubUpdateViaProxy;
|
||||||
|
private System.Windows.Forms.ToolStripMenuItem menuUpdateSubViaProxy;
|
||||||
|
private System.Windows.Forms.ToolStripMenuItem menuMsgBoxClear;
|
||||||
|
private System.Windows.Forms.ToolStripMenuItem tsbGlobalHotkeySetting;
|
||||||
|
private System.Windows.Forms.TabControl tabGroup;
|
||||||
|
private System.Windows.Forms.ToolStripMenuItem tsbGroupSetting;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -1,26 +1,28 @@
|
|||||||
using System;
|
using NHotkey;
|
||||||
|
using System;
|
||||||
using System.Collections.Generic;
|
using System.Collections.Generic;
|
||||||
using System.IO;
|
|
||||||
using System.Text;
|
|
||||||
using System.Windows.Forms;
|
|
||||||
using v2rayN.Handler;
|
|
||||||
using v2rayN.HttpProxyHandler;
|
|
||||||
using v2rayN.Mode;
|
|
||||||
using v2rayN.Base;
|
|
||||||
using v2rayN.Tool;
|
|
||||||
using System.Diagnostics;
|
using System.Diagnostics;
|
||||||
using System.Drawing;
|
using System.Drawing;
|
||||||
using System.Net;
|
using System.Text;
|
||||||
using System.Text.RegularExpressions;
|
using System.Text.RegularExpressions;
|
||||||
|
using System.Threading.Tasks;
|
||||||
|
using System.Windows.Forms;
|
||||||
|
using v2rayN.Base;
|
||||||
|
using v2rayN.Handler;
|
||||||
|
using v2rayN.Mode;
|
||||||
|
using v2rayN.Tool;
|
||||||
|
using System.Linq;
|
||||||
|
|
||||||
namespace v2rayN.Forms
|
namespace v2rayN.Forms
|
||||||
{
|
{
|
||||||
public partial class MainForm : BaseForm
|
public partial class MainForm : BaseForm
|
||||||
{
|
{
|
||||||
private V2rayHandler v2rayHandler;
|
private V2rayHandler v2rayHandler;
|
||||||
private List<int> lvSelecteds = new List<int>();
|
private List<VmessItem> lstSelecteds = new List<VmessItem>();
|
||||||
private StatisticsHandler statistics = null;
|
private StatisticsHandler statistics = null;
|
||||||
private string MsgFilter = string.Empty;
|
private string MsgFilter = string.Empty;
|
||||||
|
private List<VmessItem> lstVmess = null;
|
||||||
|
private string groupId = string.Empty;
|
||||||
|
|
||||||
#region Window 事件
|
#region Window 事件
|
||||||
|
|
||||||
@@ -47,6 +49,7 @@ namespace v2rayN.Forms
|
|||||||
Environment.Exit(0);
|
Environment.Exit(0);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
ConfigHandler.InitBuiltinRouting(ref config);
|
ConfigHandler.InitBuiltinRouting(ref config);
|
||||||
MainFormHandler.Instance.BackupGuiNConfig(config, true);
|
MainFormHandler.Instance.BackupGuiNConfig(config, true);
|
||||||
v2rayHandler = new V2rayHandler();
|
v2rayHandler = new V2rayHandler();
|
||||||
@@ -56,7 +59,6 @@ namespace v2rayN.Forms
|
|||||||
{
|
{
|
||||||
statistics = new StatisticsHandler(config, UpdateStatisticsHandler);
|
statistics = new StatisticsHandler(config, UpdateStatisticsHandler);
|
||||||
}
|
}
|
||||||
MainFormHandler.Instance.UpdateTask(config, UpdateTaskHandler);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
private void MainForm_VisibleChanged(object sender, EventArgs e)
|
private void MainForm_VisibleChanged(object sender, EventArgs e)
|
||||||
@@ -74,15 +76,18 @@ namespace v2rayN.Forms
|
|||||||
|
|
||||||
private void MainForm_Shown(object sender, EventArgs e)
|
private void MainForm_Shown(object sender, EventArgs e)
|
||||||
{
|
{
|
||||||
|
InitGroupView();
|
||||||
InitServersView();
|
InitServersView();
|
||||||
RefreshServers();
|
RefreshServers();
|
||||||
RefreshRoutingsMenu();
|
RefreshRoutingsMenu();
|
||||||
RestoreUI();
|
RestoreUI();
|
||||||
|
|
||||||
LoadV2ray();
|
_ = LoadV2ray();
|
||||||
|
|
||||||
HideForm();
|
HideForm();
|
||||||
|
|
||||||
|
MainFormHandler.Instance.UpdateTask(config, UpdateTaskHandler);
|
||||||
|
MainFormHandler.Instance.RegisterGlobalHotkey(config, OnHotkeyHandler, UpdateTaskHandler);
|
||||||
}
|
}
|
||||||
|
|
||||||
private void MainForm_FormClosing(object sender, FormClosingEventArgs e)
|
private void MainForm_FormClosing(object sender, FormClosingEventArgs e)
|
||||||
@@ -125,13 +130,14 @@ namespace v2rayN.Forms
|
|||||||
//HttpProxyHandle.CloseHttpAgent(config);
|
//HttpProxyHandle.CloseHttpAgent(config);
|
||||||
if (blWindowsShutDown)
|
if (blWindowsShutDown)
|
||||||
{
|
{
|
||||||
HttpProxyHandle.ResetIEProxy4WindowsShutDown();
|
SysProxyHandle.ResetIEProxy4WindowsShutDown();
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
HttpProxyHandle.UpdateSysProxy(config, true);
|
SysProxyHandle.UpdateSysProxy(config, true);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
StorageUI();
|
||||||
ConfigHandler.SaveConfig(ref config);
|
ConfigHandler.SaveConfig(ref config);
|
||||||
statistics?.SaveToFile();
|
statistics?.SaveToFile();
|
||||||
statistics?.Close();
|
statistics?.Close();
|
||||||
@@ -166,6 +172,26 @@ namespace v2rayN.Forms
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private void OnHotkeyHandler(object sender, HotkeyEventArgs e)
|
||||||
|
{
|
||||||
|
switch (Utils.ToInt(e.Name))
|
||||||
|
{
|
||||||
|
case (int)EGlobalHotkey.ShowForm:
|
||||||
|
if (this.ShowInTaskbar) HideForm(); else 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
|
#endregion
|
||||||
|
|
||||||
#region 显示服务器 listview 和 menu
|
#region 显示服务器 listview 和 menu
|
||||||
@@ -175,8 +201,13 @@ namespace v2rayN.Forms
|
|||||||
/// </summary>
|
/// </summary>
|
||||||
private void RefreshServers()
|
private void RefreshServers()
|
||||||
{
|
{
|
||||||
|
lstVmess = config.vmess
|
||||||
|
.Where(it => Utils.IsNullOrEmpty(groupId) ? true : it.groupId == groupId)
|
||||||
|
.OrderBy(it => it.sort)
|
||||||
|
.ToList();
|
||||||
|
|
||||||
|
ConfigHandler.SetDefaultServer(config, lstVmess);
|
||||||
RefreshServersView();
|
RefreshServersView();
|
||||||
//lvServers.AutoResizeColumns();
|
|
||||||
RefreshServersMenu();
|
RefreshServersMenu();
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -199,11 +230,12 @@ namespace v2rayN.Forms
|
|||||||
lvServers.Columns.Add(UIRes.I18N("LvServiceType"), 80);
|
lvServers.Columns.Add(UIRes.I18N("LvServiceType"), 80);
|
||||||
lvServers.Columns.Add(UIRes.I18N("LvAlias"), 100);
|
lvServers.Columns.Add(UIRes.I18N("LvAlias"), 100);
|
||||||
lvServers.Columns.Add(UIRes.I18N("LvAddress"), 120);
|
lvServers.Columns.Add(UIRes.I18N("LvAddress"), 120);
|
||||||
lvServers.Columns.Add(UIRes.I18N("LvPort"), 50);
|
lvServers.Columns.Add(UIRes.I18N("LvPort"), 100);
|
||||||
lvServers.Columns.Add(UIRes.I18N("LvEncryptionMethod"), 90);
|
lvServers.Columns.Add(UIRes.I18N("LvEncryptionMethod"), 120);
|
||||||
lvServers.Columns.Add(UIRes.I18N("LvTransportProtocol"), 70);
|
lvServers.Columns.Add(UIRes.I18N("LvTransportProtocol"), 120);
|
||||||
lvServers.Columns.Add(UIRes.I18N("LvSubscription"), 50);
|
lvServers.Columns.Add(UIRes.I18N("LvTLS"), 100);
|
||||||
lvServers.Columns.Add(UIRes.I18N("LvTestResults"), 70, HorizontalAlignment.Right);
|
lvServers.Columns.Add(UIRes.I18N("LvSubscription"), 100);
|
||||||
|
lvServers.Columns.Add(UIRes.I18N("LvTestResults"), 120, HorizontalAlignment.Right);
|
||||||
|
|
||||||
if (statistics != null && statistics.Enable)
|
if (statistics != null && statistics.Enable)
|
||||||
{
|
{
|
||||||
@@ -225,24 +257,24 @@ namespace v2rayN.Forms
|
|||||||
lvServers.BeginUpdate();
|
lvServers.BeginUpdate();
|
||||||
lvServers.Items.Clear();
|
lvServers.Items.Clear();
|
||||||
|
|
||||||
for (int k = 0; k < config.vmess.Count; k++)
|
for (int k = 0; k < lstVmess.Count; k++)
|
||||||
{
|
{
|
||||||
string def = string.Empty;
|
string def = string.Empty;
|
||||||
string totalUp = string.Empty,
|
string totalUp = string.Empty,
|
||||||
totalDown = string.Empty,
|
totalDown = string.Empty,
|
||||||
todayUp = string.Empty,
|
todayUp = string.Empty,
|
||||||
todayDown = string.Empty;
|
todayDown = string.Empty;
|
||||||
if (config.index.Equals(k))
|
|
||||||
|
VmessItem item = lstVmess[k];
|
||||||
|
if (config.IsActiveNode(item))
|
||||||
{
|
{
|
||||||
def = "√";
|
def = "√";
|
||||||
}
|
}
|
||||||
|
|
||||||
VmessItem item = config.vmess[k];
|
|
||||||
|
|
||||||
bool stats = statistics != null && statistics.Enable;
|
bool stats = statistics != null && statistics.Enable;
|
||||||
if (stats)
|
if (stats)
|
||||||
{
|
{
|
||||||
ServerStatItem sItem = statistics.Statistic.Find(item_ => item_.itemId == item.getItemId());
|
ServerStatItem sItem = statistics.Statistic.Find(item_ => item_.itemId == item.indexId);
|
||||||
if (sItem != null)
|
if (sItem != null)
|
||||||
{
|
{
|
||||||
totalUp = Utils.HumanFy(sItem.totalUp);
|
totalUp = Utils.HumanFy(sItem.totalUp);
|
||||||
@@ -252,13 +284,14 @@ namespace v2rayN.Forms
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
ListViewItem lvItem = new ListViewItem(def);
|
ListViewItem lvItem = new ListViewItem(def);
|
||||||
Utils.AddSubItem(lvItem, EServerColName.configType.ToString(), ((EConfigType)item.configType).ToString());
|
Utils.AddSubItem(lvItem, EServerColName.configType.ToString(), (item.configType).ToString());
|
||||||
Utils.AddSubItem(lvItem, EServerColName.remarks.ToString(), item.remarks);
|
Utils.AddSubItem(lvItem, EServerColName.remarks.ToString(), item.remarks);
|
||||||
Utils.AddSubItem(lvItem, EServerColName.address.ToString(), item.address);
|
Utils.AddSubItem(lvItem, EServerColName.address.ToString(), item.address);
|
||||||
Utils.AddSubItem(lvItem, EServerColName.port.ToString(), item.port.ToString());
|
Utils.AddSubItem(lvItem, EServerColName.port.ToString(), item.port.ToString());
|
||||||
Utils.AddSubItem(lvItem, EServerColName.security.ToString(), item.security);
|
Utils.AddSubItem(lvItem, EServerColName.security.ToString(), item.security);
|
||||||
Utils.AddSubItem(lvItem, EServerColName.network.ToString(), item.network);
|
Utils.AddSubItem(lvItem, EServerColName.network.ToString(), item.network);
|
||||||
Utils.AddSubItem(lvItem, EServerColName.subRemarks.ToString(), item.getSubRemarks(config));
|
Utils.AddSubItem(lvItem, EServerColName.streamSecurity.ToString(), item.streamSecurity);
|
||||||
|
Utils.AddSubItem(lvItem, EServerColName.subRemarks.ToString(), item.GetSubRemarks(config));
|
||||||
Utils.AddSubItem(lvItem, EServerColName.testResult.ToString(), item.testResult);
|
Utils.AddSubItem(lvItem, EServerColName.testResult.ToString(), item.testResult);
|
||||||
if (stats)
|
if (stats)
|
||||||
{
|
{
|
||||||
@@ -272,7 +305,7 @@ namespace v2rayN.Forms
|
|||||||
{
|
{
|
||||||
lvItem.BackColor = Color.WhiteSmoke;
|
lvItem.BackColor = Color.WhiteSmoke;
|
||||||
}
|
}
|
||||||
if (config.index.Equals(k))
|
if (config.IsActiveNode(item))
|
||||||
{
|
{
|
||||||
//lvItem.Checked = true;
|
//lvItem.Checked = true;
|
||||||
lvItem.ForeColor = Color.DodgerBlue;
|
lvItem.ForeColor = Color.DodgerBlue;
|
||||||
@@ -296,25 +329,56 @@ namespace v2rayN.Forms
|
|||||||
private void RefreshServersMenu()
|
private void RefreshServersMenu()
|
||||||
{
|
{
|
||||||
menuServers.DropDownItems.Clear();
|
menuServers.DropDownItems.Clear();
|
||||||
|
menuServers2.SelectedIndexChanged -= MenuServers2_SelectedIndexChanged;
|
||||||
|
menuServers2.Items.Clear();
|
||||||
|
menuServers.Visible = false;
|
||||||
|
menuServers2.Visible = false;
|
||||||
|
|
||||||
List<ToolStripMenuItem> lst = new List<ToolStripMenuItem>();
|
if (lstVmess.Count > 20)
|
||||||
for (int k = 0; k < config.vmess.Count; k++)
|
|
||||||
{
|
{
|
||||||
VmessItem item = config.vmess[k];
|
for (int k = 0; k < lstVmess.Count; k++)
|
||||||
string name = item.getSummary();
|
{
|
||||||
|
VmessItem item = lstVmess[k];
|
||||||
|
string name = item.GetSummary();
|
||||||
|
|
||||||
|
if (config.IsActiveNode(item))
|
||||||
|
{
|
||||||
|
name = $"√ {name}";
|
||||||
|
}
|
||||||
|
menuServers2.Items.Add(name);
|
||||||
|
|
||||||
ToolStripMenuItem ts = new ToolStripMenuItem(name)
|
|
||||||
{
|
|
||||||
Tag = k
|
|
||||||
};
|
|
||||||
if (config.index.Equals(k))
|
|
||||||
{
|
|
||||||
ts.Checked = true;
|
|
||||||
}
|
}
|
||||||
ts.Click += new EventHandler(ts_Click);
|
menuServers2.SelectedIndex = lstVmess.FindIndex(it => it.indexId == config.indexId);
|
||||||
lst.Add(ts);
|
menuServers2.SelectedIndexChanged += MenuServers2_SelectedIndexChanged;
|
||||||
|
menuServers2.Visible = true;
|
||||||
}
|
}
|
||||||
menuServers.DropDownItems.AddRange(lst.ToArray());
|
else
|
||||||
|
{
|
||||||
|
List<ToolStripMenuItem> lst = new List<ToolStripMenuItem>();
|
||||||
|
for (int k = 0; k < lstVmess.Count; k++)
|
||||||
|
{
|
||||||
|
VmessItem item = lstVmess[k];
|
||||||
|
string name = item.GetSummary();
|
||||||
|
|
||||||
|
ToolStripMenuItem ts = new ToolStripMenuItem(name)
|
||||||
|
{
|
||||||
|
Tag = k
|
||||||
|
};
|
||||||
|
if (config.IsActiveNode(item))
|
||||||
|
{
|
||||||
|
ts.Checked = true;
|
||||||
|
}
|
||||||
|
ts.Click += new EventHandler(ts_Click);
|
||||||
|
lst.Add(ts);
|
||||||
|
}
|
||||||
|
menuServers.DropDownItems.AddRange(lst.ToArray());
|
||||||
|
menuServers.Visible = true;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private void MenuServers2_SelectedIndexChanged(object sender, EventArgs e)
|
||||||
|
{
|
||||||
|
SetDefaultServer(((ToolStripComboBox)sender).SelectedIndex);
|
||||||
}
|
}
|
||||||
|
|
||||||
private void ts_Click(object sender, EventArgs e)
|
private void ts_Click(object sender, EventArgs e)
|
||||||
@@ -352,8 +416,8 @@ namespace v2rayN.Forms
|
|||||||
|
|
||||||
private void DisplayToolStatus()
|
private void DisplayToolStatus()
|
||||||
{
|
{
|
||||||
toolSslSocksPort.Text = $"{Global.Loopback}:{config.inbound[0].localPort}";
|
toolSslInboundInfo.Text = $"{Global.InboundSocks} {Global.Loopback}:{config.inbound[0].localPort} | "
|
||||||
toolSslHttpPort.Text = $"{Global.Loopback}:{Global.httpPort}";
|
+ $"{ Global.InboundHttp} { Global.Loopback}:{Global.httpPort}";
|
||||||
|
|
||||||
notifyMain.Icon = MainFormHandler.Instance.GetNotifyIcon(config, this.Icon);
|
notifyMain.Icon = MainFormHandler.Instance.GetNotifyIcon(config, this.Icon);
|
||||||
}
|
}
|
||||||
@@ -374,9 +438,18 @@ namespace v2rayN.Forms
|
|||||||
|
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
|
if ((EServerColName)e.Column == EServerColName.def)
|
||||||
|
{
|
||||||
|
foreach (ColumnHeader it in lvServers.Columns)
|
||||||
|
{
|
||||||
|
it.Width = -2;
|
||||||
|
}
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
var tag = lvServers.Columns[e.Column].Tag?.ToString();
|
var tag = lvServers.Columns[e.Column].Tag?.ToString();
|
||||||
bool asc = Utils.IsNullOrEmpty(tag) ? true : !Convert.ToBoolean(tag);
|
bool asc = Utils.IsNullOrEmpty(tag) ? true : !Convert.ToBoolean(tag);
|
||||||
if (ConfigHandler.SortServers(ref config, (EServerColName)e.Column, asc) != 0)
|
if (ConfigHandler.SortServers(ref config, ref lstVmess, (EServerColName)e.Column, asc) != 0)
|
||||||
{
|
{
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
@@ -394,6 +467,40 @@ namespace v2rayN.Forms
|
|||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private void InitGroupView()
|
||||||
|
{
|
||||||
|
tabGroup.TabPages.Clear();
|
||||||
|
|
||||||
|
string title = $" {UIRes.I18N("AllGroupServers")} ";
|
||||||
|
var tabPage = new TabPage(title);
|
||||||
|
tabPage.Name = "";
|
||||||
|
tabGroup.TabPages.Add(tabPage);
|
||||||
|
|
||||||
|
foreach (var item in config.groupItem)
|
||||||
|
{
|
||||||
|
var tabPage2 = new TabPage($" {item.remarks} ");
|
||||||
|
tabPage2.Name = item.id;
|
||||||
|
tabGroup.TabPages.Add(tabPage2);
|
||||||
|
}
|
||||||
|
|
||||||
|
tabGroup.SelectedIndex = 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
private void tabGroup_SelectedIndexChanged(object sender, EventArgs e)
|
||||||
|
{
|
||||||
|
if (tabGroup.SelectedIndex < 0)
|
||||||
|
{
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
groupId = string.Empty;
|
||||||
|
//groupId = tabGroup.TabPages[tabGroup.SelectedIndex].Name;
|
||||||
|
groupId = tabGroup.SelectedTab.Name;
|
||||||
|
|
||||||
|
RefreshServers();
|
||||||
|
|
||||||
|
lvServers.Focus();
|
||||||
|
}
|
||||||
#endregion
|
#endregion
|
||||||
|
|
||||||
#region v2ray 操作
|
#region v2ray 操作
|
||||||
@@ -401,7 +508,7 @@ namespace v2rayN.Forms
|
|||||||
/// <summary>
|
/// <summary>
|
||||||
/// 载入V2ray
|
/// 载入V2ray
|
||||||
/// </summary>
|
/// </summary>
|
||||||
private void LoadV2ray()
|
async Task LoadV2ray()
|
||||||
{
|
{
|
||||||
tsbReload.Enabled = false;
|
tsbReload.Enabled = false;
|
||||||
|
|
||||||
@@ -409,7 +516,11 @@ namespace v2rayN.Forms
|
|||||||
{
|
{
|
||||||
ClearMsg();
|
ClearMsg();
|
||||||
}
|
}
|
||||||
v2rayHandler.LoadV2ray(config);
|
await Task.Run(() =>
|
||||||
|
{
|
||||||
|
v2rayHandler.LoadV2ray(config);
|
||||||
|
});
|
||||||
|
|
||||||
Global.reloadV2ray = false;
|
Global.reloadV2ray = false;
|
||||||
ConfigHandler.SaveConfig(ref config, false);
|
ConfigHandler.SaveConfig(ref config, false);
|
||||||
statistics?.SaveToFile();
|
statistics?.SaveToFile();
|
||||||
@@ -427,7 +538,7 @@ namespace v2rayN.Forms
|
|||||||
ConfigHandler.SaveConfig(ref config, false);
|
ConfigHandler.SaveConfig(ref config, false);
|
||||||
statistics?.SaveToFile();
|
statistics?.SaveToFile();
|
||||||
|
|
||||||
ChangePACButtonStatus(0);
|
ChangePACButtonStatus(ESysProxyType.ForcedClear);
|
||||||
|
|
||||||
v2rayHandler.V2rayStop();
|
v2rayHandler.V2rayStop();
|
||||||
}
|
}
|
||||||
@@ -453,7 +564,7 @@ namespace v2rayN.Forms
|
|||||||
{
|
{
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
qrCodeControl.showQRCode(index, config);
|
qrCodeControl.showQRCode(lstVmess[index]);
|
||||||
}
|
}
|
||||||
|
|
||||||
private void lvServers_DoubleClick(object sender, EventArgs e)
|
private void lvServers_DoubleClick(object sender, EventArgs e)
|
||||||
@@ -463,37 +574,26 @@ namespace v2rayN.Forms
|
|||||||
{
|
{
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
ShowServerForm(config.vmess[index].configType, index);
|
ShowServerForm(lstVmess[index].configType, index);
|
||||||
}
|
}
|
||||||
private void ShowServerForm(int configType, int index)
|
private void ShowServerForm(EConfigType configType, int index)
|
||||||
{
|
{
|
||||||
BaseServerForm fm;
|
BaseServerForm fm;
|
||||||
switch (configType)
|
if (configType == EConfigType.Custom)
|
||||||
{
|
{
|
||||||
case (int)EConfigType.Vmess:
|
fm = new AddServer2Form();
|
||||||
fm = new AddServerForm();
|
|
||||||
break;
|
|
||||||
case (int)EConfigType.Shadowsocks:
|
|
||||||
fm = new AddServer3Form();
|
|
||||||
break;
|
|
||||||
case (int)EConfigType.Socks:
|
|
||||||
fm = new AddServer4Form();
|
|
||||||
break;
|
|
||||||
case (int)EConfigType.VLESS:
|
|
||||||
fm = new AddServer5Form();
|
|
||||||
break;
|
|
||||||
case (int)EConfigType.Trojan:
|
|
||||||
fm = new AddServer6Form();
|
|
||||||
break;
|
|
||||||
default:
|
|
||||||
fm = new AddServer2Form();
|
|
||||||
break;
|
|
||||||
}
|
}
|
||||||
fm.EditIndex = index;
|
else
|
||||||
|
{
|
||||||
|
fm = new AddServerForm();
|
||||||
|
}
|
||||||
|
fm.vmessItem = index >= 0 ? lstVmess[index] : null;
|
||||||
|
fm.groupId = groupId;
|
||||||
|
fm.eConfigType = configType;
|
||||||
if (fm.ShowDialog() == DialogResult.OK)
|
if (fm.ShowDialog() == DialogResult.OK)
|
||||||
{
|
{
|
||||||
RefreshServers();
|
RefreshServers();
|
||||||
LoadV2ray();
|
_ = LoadV2ray();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -558,12 +658,12 @@ namespace v2rayN.Forms
|
|||||||
|
|
||||||
private void menuAddVmessServer_Click(object sender, EventArgs e)
|
private void menuAddVmessServer_Click(object sender, EventArgs e)
|
||||||
{
|
{
|
||||||
ShowServerForm((int)EConfigType.Vmess, -1);
|
ShowServerForm(EConfigType.Vmess, -1);
|
||||||
}
|
}
|
||||||
|
|
||||||
private void menuAddVlessServer_Click(object sender, EventArgs e)
|
private void menuAddVlessServer_Click(object sender, EventArgs e)
|
||||||
{
|
{
|
||||||
ShowServerForm((int)EConfigType.VLESS, -1);
|
ShowServerForm(EConfigType.VLESS, -1);
|
||||||
}
|
}
|
||||||
|
|
||||||
private void menuRemoveServer_Click(object sender, EventArgs e)
|
private void menuRemoveServer_Click(object sender, EventArgs e)
|
||||||
@@ -579,23 +679,18 @@ namespace v2rayN.Forms
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
ConfigHandler.RemoveServer(ref config, lvSelecteds);
|
ConfigHandler.RemoveServer(config, lstSelecteds);
|
||||||
|
|
||||||
RefreshServers();
|
RefreshServers();
|
||||||
LoadV2ray();
|
_ = LoadV2ray();
|
||||||
}
|
}
|
||||||
|
|
||||||
private void menuRemoveDuplicateServer_Click(object sender, EventArgs e)
|
private void menuRemoveDuplicateServer_Click(object sender, EventArgs e)
|
||||||
{
|
{
|
||||||
Utils.DedupServerList(config.vmess, out List<VmessItem> servers, config.keepOlderDedupl);
|
int oldCount = lstVmess.Count;
|
||||||
int oldCount = config.vmess.Count;
|
int newCount = ConfigHandler.DedupServerList(ref config, ref lstVmess);
|
||||||
int newCount = servers.Count;
|
|
||||||
if (servers != null)
|
|
||||||
{
|
|
||||||
config.vmess = servers;
|
|
||||||
}
|
|
||||||
RefreshServers();
|
RefreshServers();
|
||||||
LoadV2ray();
|
_ = LoadV2ray();
|
||||||
UI.Show(string.Format(UIRes.I18N("RemoveDuplicateServerResult"), oldCount, newCount));
|
UI.Show(string.Format(UIRes.I18N("RemoveDuplicateServerResult"), oldCount, newCount));
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -606,7 +701,7 @@ namespace v2rayN.Forms
|
|||||||
{
|
{
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
if (ConfigHandler.CopyServer(ref config, index) == 0)
|
if (ConfigHandler.CopyServer(ref config, lstSelecteds) == 0)
|
||||||
{
|
{
|
||||||
RefreshServers();
|
RefreshServers();
|
||||||
}
|
}
|
||||||
@@ -661,7 +756,7 @@ namespace v2rayN.Forms
|
|||||||
{
|
{
|
||||||
if (GetLvSelectedIndex() < 0) return;
|
if (GetLvSelectedIndex() < 0) return;
|
||||||
ClearTestResult();
|
ClearTestResult();
|
||||||
SpeedtestHandler statistics = new SpeedtestHandler(ref config, ref v2rayHandler, lvSelecteds, actionType, UpdateSpeedtestHandler);
|
SpeedtestHandler statistics = new SpeedtestHandler(ref config, ref v2rayHandler, lstSelecteds, actionType, UpdateSpeedtestHandler);
|
||||||
}
|
}
|
||||||
|
|
||||||
private void tsbTestMe_Click(object sender, EventArgs e)
|
private void tsbTestMe_Click(object sender, EventArgs e)
|
||||||
@@ -682,13 +777,13 @@ namespace v2rayN.Forms
|
|||||||
private void menuExport2ClientConfig_Click(object sender, EventArgs e)
|
private void menuExport2ClientConfig_Click(object sender, EventArgs e)
|
||||||
{
|
{
|
||||||
int index = GetLvSelectedIndex();
|
int index = GetLvSelectedIndex();
|
||||||
MainFormHandler.Instance.Export2ClientConfig(index, config);
|
MainFormHandler.Instance.Export2ClientConfig(lstVmess[index], config);
|
||||||
}
|
}
|
||||||
|
|
||||||
private void menuExport2ServerConfig_Click(object sender, EventArgs e)
|
private void menuExport2ServerConfig_Click(object sender, EventArgs e)
|
||||||
{
|
{
|
||||||
int index = GetLvSelectedIndex();
|
int index = GetLvSelectedIndex();
|
||||||
MainFormHandler.Instance.Export2ServerConfig(index, config);
|
MainFormHandler.Instance.Export2ServerConfig(lstVmess[index], config);
|
||||||
}
|
}
|
||||||
|
|
||||||
private void menuExport2ShareUrl_Click(object sender, EventArgs e)
|
private void menuExport2ShareUrl_Click(object sender, EventArgs e)
|
||||||
@@ -696,9 +791,9 @@ namespace v2rayN.Forms
|
|||||||
GetLvSelectedIndex();
|
GetLvSelectedIndex();
|
||||||
|
|
||||||
StringBuilder sb = new StringBuilder();
|
StringBuilder sb = new StringBuilder();
|
||||||
foreach (int v in lvSelecteds)
|
foreach (var it in lstSelecteds)
|
||||||
{
|
{
|
||||||
string url = ShareHandler.GetShareUrl(config, v);
|
string url = ShareHandler.GetShareUrl(it);
|
||||||
if (Utils.IsNullOrEmpty(url))
|
if (Utils.IsNullOrEmpty(url))
|
||||||
{
|
{
|
||||||
continue;
|
continue;
|
||||||
@@ -719,9 +814,9 @@ namespace v2rayN.Forms
|
|||||||
GetLvSelectedIndex();
|
GetLvSelectedIndex();
|
||||||
|
|
||||||
StringBuilder sb = new StringBuilder();
|
StringBuilder sb = new StringBuilder();
|
||||||
foreach (int v in lvSelecteds)
|
foreach (var it in lstSelecteds)
|
||||||
{
|
{
|
||||||
string url = ShareHandler.GetShareUrl(config, v);
|
string url = ShareHandler.GetShareUrl(it);
|
||||||
if (Utils.IsNullOrEmpty(url))
|
if (Utils.IsNullOrEmpty(url))
|
||||||
{
|
{
|
||||||
continue;
|
continue;
|
||||||
@@ -742,7 +837,7 @@ namespace v2rayN.Forms
|
|||||||
if (fm.ShowDialog() == DialogResult.OK)
|
if (fm.ShowDialog() == DialogResult.OK)
|
||||||
{
|
{
|
||||||
RefreshServers();
|
RefreshServers();
|
||||||
LoadV2ray();
|
_ = LoadV2ray();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -753,18 +848,42 @@ namespace v2rayN.Forms
|
|||||||
{
|
{
|
||||||
RefreshRoutingsMenu();
|
RefreshRoutingsMenu();
|
||||||
RefreshServers();
|
RefreshServers();
|
||||||
LoadV2ray();
|
_ = LoadV2ray();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private void tsbGlobalHotkeySetting_Click(object sender, EventArgs e)
|
||||||
|
{
|
||||||
|
var fm = new GlobalHotkeySettingForm();
|
||||||
|
if (fm.ShowDialog() == DialogResult.OK)
|
||||||
|
{
|
||||||
|
RefreshRoutingsMenu();
|
||||||
|
RefreshServers();
|
||||||
|
_ = LoadV2ray();
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
private void tsbGroupSetting_Click(object sender, EventArgs e)
|
||||||
|
{
|
||||||
|
var fm = new GroupSettingForm();
|
||||||
|
if (fm.ShowDialog() == DialogResult.OK)
|
||||||
|
{
|
||||||
|
InitGroupView();
|
||||||
|
RefreshServers();
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
private void tsbReload_Click(object sender, EventArgs e)
|
private void tsbReload_Click(object sender, EventArgs e)
|
||||||
{
|
{
|
||||||
Global.reloadV2ray = true;
|
Global.reloadV2ray = true;
|
||||||
LoadV2ray();
|
_ = LoadV2ray();
|
||||||
}
|
}
|
||||||
|
|
||||||
private void tsbClose_Click(object sender, EventArgs e)
|
private void tsbClose_Click(object sender, EventArgs e)
|
||||||
{
|
{
|
||||||
|
StorageUI();
|
||||||
HideForm();
|
HideForm();
|
||||||
//this.WindowState = FormWindowState.Minimized;
|
//this.WindowState = FormWindowState.Minimized;
|
||||||
}
|
}
|
||||||
@@ -781,10 +900,10 @@ namespace v2rayN.Forms
|
|||||||
UI.Show(UIRes.I18N("PleaseSelectServer"));
|
UI.Show(UIRes.I18N("PleaseSelectServer"));
|
||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
if (ConfigHandler.SetDefaultServer(ref config, index) == 0)
|
if (ConfigHandler.SetDefaultServer(ref config, lstVmess[index]) == 0)
|
||||||
{
|
{
|
||||||
RefreshServers();
|
RefreshServers();
|
||||||
LoadV2ray();
|
_ = LoadV2ray();
|
||||||
}
|
}
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
@@ -796,7 +915,7 @@ namespace v2rayN.Forms
|
|||||||
private int GetLvSelectedIndex()
|
private int GetLvSelectedIndex()
|
||||||
{
|
{
|
||||||
int index = -1;
|
int index = -1;
|
||||||
lvSelecteds.Clear();
|
lstSelecteds.Clear();
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
if (lvServers.SelectedIndices.Count <= 0)
|
if (lvServers.SelectedIndices.Count <= 0)
|
||||||
@@ -808,7 +927,7 @@ namespace v2rayN.Forms
|
|||||||
index = lvServers.SelectedIndices[0];
|
index = lvServers.SelectedIndices[0];
|
||||||
foreach (int i in lvServers.SelectedIndices)
|
foreach (int i in lvServers.SelectedIndices)
|
||||||
{
|
{
|
||||||
lvSelecteds.Add(i);
|
lstSelecteds.Add(lstVmess[i]);
|
||||||
}
|
}
|
||||||
return index;
|
return index;
|
||||||
}
|
}
|
||||||
@@ -820,57 +939,31 @@ namespace v2rayN.Forms
|
|||||||
|
|
||||||
private void menuAddCustomServer_Click(object sender, EventArgs e)
|
private void menuAddCustomServer_Click(object sender, EventArgs e)
|
||||||
{
|
{
|
||||||
UI.Show(UIRes.I18N("CustomServerTips"));
|
ShowServerForm(EConfigType.Custom, -1);
|
||||||
|
|
||||||
OpenFileDialog fileDialog = new OpenFileDialog
|
|
||||||
{
|
|
||||||
Multiselect = false,
|
|
||||||
Filter = "Config|*.json|All|*.*"
|
|
||||||
};
|
|
||||||
if (fileDialog.ShowDialog() != DialogResult.OK)
|
|
||||||
{
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
string fileName = fileDialog.FileName;
|
|
||||||
if (Utils.IsNullOrEmpty(fileName))
|
|
||||||
{
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (ConfigHandler.AddCustomServer(ref config, fileName) == 0)
|
|
||||||
{
|
|
||||||
RefreshServers();
|
|
||||||
//LoadV2ray();
|
|
||||||
UI.Show(UIRes.I18N("SuccessfullyImportedCustomServer"));
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
UI.ShowWarning(UIRes.I18N("FailedImportedCustomServer"));
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
private void menuAddShadowsocksServer_Click(object sender, EventArgs e)
|
private void menuAddShadowsocksServer_Click(object sender, EventArgs e)
|
||||||
{
|
{
|
||||||
ShowServerForm((int)EConfigType.Shadowsocks, -1);
|
ShowServerForm(EConfigType.Shadowsocks, -1);
|
||||||
ShowForm();
|
ShowForm();
|
||||||
}
|
}
|
||||||
|
|
||||||
private void menuAddSocksServer_Click(object sender, EventArgs e)
|
private void menuAddSocksServer_Click(object sender, EventArgs e)
|
||||||
{
|
{
|
||||||
ShowServerForm((int)EConfigType.Socks, -1);
|
ShowServerForm(EConfigType.Socks, -1);
|
||||||
ShowForm();
|
ShowForm();
|
||||||
}
|
}
|
||||||
|
|
||||||
private void menuAddTrojanServer_Click(object sender, EventArgs e)
|
private void menuAddTrojanServer_Click(object sender, EventArgs e)
|
||||||
{
|
{
|
||||||
ShowServerForm((int)EConfigType.Trojan, -1);
|
ShowServerForm(EConfigType.Trojan, -1);
|
||||||
ShowForm();
|
ShowForm();
|
||||||
}
|
}
|
||||||
|
|
||||||
private void menuAddServers_Click(object sender, EventArgs e)
|
private void menuAddServers_Click(object sender, EventArgs e)
|
||||||
{
|
{
|
||||||
string clipboardData = Utils.GetClipboardData();
|
string clipboardData = Utils.GetClipboardData();
|
||||||
int ret = MainFormHandler.Instance.AddBatchServers(config, clipboardData);
|
int ret = ConfigHandler.AddBatchServers(ref config, clipboardData, "", groupId);
|
||||||
if (ret > 0)
|
if (ret > 0)
|
||||||
{
|
{
|
||||||
RefreshServers();
|
RefreshServers();
|
||||||
@@ -879,14 +972,43 @@ namespace v2rayN.Forms
|
|||||||
}
|
}
|
||||||
|
|
||||||
private void menuScanScreen_Click(object sender, EventArgs e)
|
private void menuScanScreen_Click(object sender, EventArgs e)
|
||||||
|
{
|
||||||
|
_ = ScanScreenTaskAsync();
|
||||||
|
}
|
||||||
|
|
||||||
|
public async Task ScanScreenTaskAsync()
|
||||||
{
|
{
|
||||||
HideForm();
|
HideForm();
|
||||||
bgwScan.RunWorkerAsync();
|
|
||||||
|
string result = await Task.Run(() =>
|
||||||
|
{
|
||||||
|
return Utils.ScanScreen();
|
||||||
|
});
|
||||||
|
|
||||||
|
ShowForm();
|
||||||
|
|
||||||
|
if (Utils.IsNullOrEmpty(result))
|
||||||
|
{
|
||||||
|
UI.ShowWarning(UIRes.I18N("NoValidQRcodeFound"));
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
int ret = ConfigHandler.AddBatchServers(ref config, result, "", groupId);
|
||||||
|
if (ret > 0)
|
||||||
|
{
|
||||||
|
RefreshServers();
|
||||||
|
UI.Show(UIRes.I18N("SuccessfullyImportedServerViaScan"));
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private void menuUpdateSubscriptions_Click(object sender, EventArgs e)
|
private void menuUpdateSubscriptions_Click(object sender, EventArgs e)
|
||||||
{
|
{
|
||||||
UpdateSubscriptionProcess();
|
UpdateSubscriptionProcess(false);
|
||||||
|
}
|
||||||
|
private void menuUpdateSubViaProxy_Click(object sender, EventArgs e)
|
||||||
|
{
|
||||||
|
UpdateSubscriptionProcess(true);
|
||||||
}
|
}
|
||||||
|
|
||||||
private void tsbBackupGuiNConfig_Click(object sender, EventArgs e)
|
private void tsbBackupGuiNConfig_Click(object sender, EventArgs e)
|
||||||
@@ -1006,7 +1128,10 @@ namespace v2rayN.Forms
|
|||||||
private void ShowForm()
|
private void ShowForm()
|
||||||
{
|
{
|
||||||
this.Show();
|
this.Show();
|
||||||
this.WindowState = FormWindowState.Normal;
|
if (this.WindowState == FormWindowState.Minimized)
|
||||||
|
{
|
||||||
|
this.WindowState = FormWindowState.Normal;
|
||||||
|
}
|
||||||
this.Activate();
|
this.Activate();
|
||||||
this.ShowInTaskbar = true;
|
this.ShowInTaskbar = true;
|
||||||
//this.notifyIcon1.Visible = false;
|
//this.notifyIcon1.Visible = false;
|
||||||
@@ -1034,27 +1159,35 @@ namespace v2rayN.Forms
|
|||||||
#endregion
|
#endregion
|
||||||
|
|
||||||
#region 后台测速
|
#region 后台测速
|
||||||
|
private void SetTestResult(string indexId, string txt)
|
||||||
|
{
|
||||||
|
int k = lstVmess.FindIndex(it => it.indexId == indexId);
|
||||||
|
if (k >= 0 && k < lvServers.Items.Count)
|
||||||
|
{
|
||||||
|
lstVmess[k].testResult = txt;
|
||||||
|
lvServers.Items[k].SubItems["testResult"].Text = txt;
|
||||||
|
}
|
||||||
|
}
|
||||||
private void SetTestResult(int k, string txt)
|
private void SetTestResult(int k, string txt)
|
||||||
{
|
{
|
||||||
if (k < lvServers.Items.Count)
|
if (k < lvServers.Items.Count)
|
||||||
{
|
{
|
||||||
config.vmess[k].testResult = txt;
|
lstVmess[k].testResult = txt;
|
||||||
lvServers.Items[k].SubItems["testResult"].Text = txt;
|
lvServers.Items[k].SubItems["testResult"].Text = txt;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
private void ClearTestResult()
|
private void ClearTestResult()
|
||||||
{
|
{
|
||||||
foreach (int s in lvSelecteds)
|
foreach (var it in lstSelecteds)
|
||||||
{
|
{
|
||||||
SetTestResult(s, "");
|
SetTestResult(it.indexId, "");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
private void UpdateSpeedtestHandler(int index, string msg)
|
private void UpdateSpeedtestHandler(string indexId, string msg)
|
||||||
{
|
{
|
||||||
lvServers.Invoke((MethodInvoker)delegate
|
lvServers.Invoke((MethodInvoker)delegate
|
||||||
{
|
{
|
||||||
SetTestResult(index, msg);
|
SetTestResult(indexId, msg);
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -1067,9 +1200,9 @@ namespace v2rayN.Forms
|
|||||||
toolSslServerSpeed.Text = string.Format("{0}/s↑ | {1}/s↓", Utils.HumanFy(up), Utils.HumanFy(down));
|
toolSslServerSpeed.Text = string.Format("{0}/s↑ | {1}/s↓", Utils.HumanFy(up), Utils.HumanFy(down));
|
||||||
|
|
||||||
List<string[]> datas = new List<string[]>();
|
List<string[]> datas = new List<string[]>();
|
||||||
for (int i = 0; i < config.vmess.Count; i++)
|
for (int i = 0; i < lstVmess.Count; i++)
|
||||||
{
|
{
|
||||||
int index = statistics.FindIndex(item_ => item_.itemId == config.vmess[i].getItemId());
|
int index = statistics.FindIndex(item_ => item_.itemId == lstVmess[i].indexId);
|
||||||
if (index != -1)
|
if (index != -1)
|
||||||
{
|
{
|
||||||
lvServers.Invoke((MethodInvoker)delegate
|
lvServers.Invoke((MethodInvoker)delegate
|
||||||
@@ -1098,7 +1231,7 @@ namespace v2rayN.Forms
|
|||||||
if (success)
|
if (success)
|
||||||
{
|
{
|
||||||
Global.reloadV2ray = true;
|
Global.reloadV2ray = true;
|
||||||
LoadV2ray();
|
_ = LoadV2ray();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
#endregion
|
#endregion
|
||||||
@@ -1133,7 +1266,7 @@ namespace v2rayN.Forms
|
|||||||
UI.Show(UIRes.I18N("PleaseSelectServer"));
|
UI.Show(UIRes.I18N("PleaseSelectServer"));
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
if (ConfigHandler.MoveServer(ref config, index, eMove) == 0)
|
if (ConfigHandler.MoveServer(ref config, ref lstVmess, index, eMove) == 0)
|
||||||
{
|
{
|
||||||
//TODO: reload is not good.
|
//TODO: reload is not good.
|
||||||
RefreshServers();
|
RefreshServers();
|
||||||
@@ -1172,15 +1305,7 @@ namespace v2rayN.Forms
|
|||||||
|
|
||||||
private void ChangePACButtonStatus(ESysProxyType type)
|
private void ChangePACButtonStatus(ESysProxyType type)
|
||||||
{
|
{
|
||||||
HttpProxyHandle.UpdateSysProxy(config, false);
|
SysProxyHandle.UpdateSysProxy(config, false);
|
||||||
//if (type != ListenerType.noHttpProxy)
|
|
||||||
//{
|
|
||||||
// HttpProxyHandle.RestartHttpAgent(config, false);
|
|
||||||
//}
|
|
||||||
//else
|
|
||||||
//{
|
|
||||||
// HttpProxyHandle.CloseHttpAgent(config);
|
|
||||||
//}
|
|
||||||
|
|
||||||
for (int k = 0; k < menuSysAgentMode.DropDownItems.Count; k++)
|
for (int k = 0; k < menuSysAgentMode.DropDownItems.Count; k++)
|
||||||
{
|
{
|
||||||
@@ -1235,7 +1360,7 @@ namespace v2rayN.Forms
|
|||||||
AppendText(false, UIRes.I18N("MsgUpdateV2rayCoreSuccessfullyMore"));
|
AppendText(false, UIRes.I18N("MsgUpdateV2rayCoreSuccessfullyMore"));
|
||||||
|
|
||||||
Global.reloadV2ray = true;
|
Global.reloadV2ray = true;
|
||||||
LoadV2ray();
|
_ = LoadV2ray();
|
||||||
|
|
||||||
AppendText(false, UIRes.I18N("MsgUpdateV2rayCoreSuccessfully"));
|
AppendText(false, UIRes.I18N("MsgUpdateV2rayCoreSuccessfully"));
|
||||||
}
|
}
|
||||||
@@ -1251,7 +1376,7 @@ namespace v2rayN.Forms
|
|||||||
if (success)
|
if (success)
|
||||||
{
|
{
|
||||||
Global.reloadV2ray = true;
|
Global.reloadV2ray = true;
|
||||||
LoadV2ray();
|
_ = LoadV2ray();
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
@@ -1264,7 +1389,7 @@ namespace v2rayN.Forms
|
|||||||
if (success)
|
if (success)
|
||||||
{
|
{
|
||||||
Global.reloadV2ray = true;
|
Global.reloadV2ray = true;
|
||||||
LoadV2ray();
|
_ = LoadV2ray();
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
@@ -1289,37 +1414,6 @@ namespace v2rayN.Forms
|
|||||||
}
|
}
|
||||||
#endregion
|
#endregion
|
||||||
|
|
||||||
#region ScanScreen
|
|
||||||
|
|
||||||
|
|
||||||
private void bgwScan_DoWork(object sender, System.ComponentModel.DoWorkEventArgs e)
|
|
||||||
{
|
|
||||||
string ret = Utils.ScanScreen();
|
|
||||||
bgwScan.ReportProgress(0, ret);
|
|
||||||
}
|
|
||||||
|
|
||||||
private void bgwScan_ProgressChanged(object sender, System.ComponentModel.ProgressChangedEventArgs e)
|
|
||||||
{
|
|
||||||
ShowForm();
|
|
||||||
|
|
||||||
string result = Convert.ToString(e.UserState);
|
|
||||||
if (Utils.IsNullOrEmpty(result))
|
|
||||||
{
|
|
||||||
UI.ShowWarning(UIRes.I18N("NoValidQRcodeFound"));
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
int ret = MainFormHandler.Instance.AddBatchServers(config, result);
|
|
||||||
if (ret > 0)
|
|
||||||
{
|
|
||||||
RefreshServers();
|
|
||||||
UI.Show(UIRes.I18N("SuccessfullyImportedServerViaScan"));
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
#endregion
|
|
||||||
|
|
||||||
#region 订阅
|
#region 订阅
|
||||||
private void tsbSubSetting_Click(object sender, EventArgs e)
|
private void tsbSubSetting_Click(object sender, EventArgs e)
|
||||||
{
|
{
|
||||||
@@ -1332,13 +1426,18 @@ namespace v2rayN.Forms
|
|||||||
|
|
||||||
private void tsbSubUpdate_Click(object sender, EventArgs e)
|
private void tsbSubUpdate_Click(object sender, EventArgs e)
|
||||||
{
|
{
|
||||||
UpdateSubscriptionProcess();
|
UpdateSubscriptionProcess(false);
|
||||||
|
}
|
||||||
|
|
||||||
|
private void tsbSubUpdateViaProxy_Click(object sender, EventArgs e)
|
||||||
|
{
|
||||||
|
UpdateSubscriptionProcess(true);
|
||||||
}
|
}
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// the subscription update process
|
/// the subscription update process
|
||||||
/// </summary>
|
/// </summary>
|
||||||
private void UpdateSubscriptionProcess()
|
private void UpdateSubscriptionProcess(bool blProxy)
|
||||||
{
|
{
|
||||||
void _updateUI(bool success, string msg)
|
void _updateUI(bool success, string msg)
|
||||||
{
|
{
|
||||||
@@ -1346,10 +1445,17 @@ namespace v2rayN.Forms
|
|||||||
if (success)
|
if (success)
|
||||||
{
|
{
|
||||||
RefreshServers();
|
RefreshServers();
|
||||||
|
if (config.uiItem.enableAutoAdjustMainLvColWidth)
|
||||||
|
{
|
||||||
|
foreach (ColumnHeader it in lvServers.Columns)
|
||||||
|
{
|
||||||
|
it.Width = -2;
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
(new UpdateHandle()).UpdateSubscriptionProcess(config, _updateUI);
|
(new UpdateHandle()).UpdateSubscriptionProcess(config, blProxy, _updateUI);
|
||||||
}
|
}
|
||||||
|
|
||||||
private void tsbQRCodeSwitch_CheckedChanged(object sender, EventArgs e)
|
private void tsbQRCodeSwitch_CheckedChanged(object sender, EventArgs e)
|
||||||
@@ -1393,6 +1499,7 @@ namespace v2rayN.Forms
|
|||||||
menuRoutings.Visible = config.enableRoutingAdvanced;
|
menuRoutings.Visible = config.enableRoutingAdvanced;
|
||||||
if (!config.enableRoutingAdvanced)
|
if (!config.enableRoutingAdvanced)
|
||||||
{
|
{
|
||||||
|
toolSslRoutingRule.Text = string.Empty;
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -1415,6 +1522,7 @@ namespace v2rayN.Forms
|
|||||||
if (config.routingIndex.Equals(k))
|
if (config.routingIndex.Equals(k))
|
||||||
{
|
{
|
||||||
ts.Checked = true;
|
ts.Checked = true;
|
||||||
|
toolSslRoutingRule.Text = item.remarks;
|
||||||
}
|
}
|
||||||
ts.Click += new EventHandler(ts_Routing_Click);
|
ts.Click += new EventHandler(ts_Routing_Click);
|
||||||
lst.Add(ts);
|
lst.Add(ts);
|
||||||
@@ -1432,7 +1540,7 @@ namespace v2rayN.Forms
|
|||||||
if (ConfigHandler.SetDefaultRouting(ref config, index) == 0)
|
if (ConfigHandler.SetDefaultRouting(ref config, index) == 0)
|
||||||
{
|
{
|
||||||
RefreshRoutingsMenu();
|
RefreshRoutingsMenu();
|
||||||
LoadV2ray();
|
_ = LoadV2ray();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
catch
|
catch
|
||||||
@@ -1459,6 +1567,10 @@ namespace v2rayN.Forms
|
|||||||
var data = this.txtMsgBox.Text;
|
var data = this.txtMsgBox.Text;
|
||||||
Utils.SetClipboardData(data);
|
Utils.SetClipboardData(data);
|
||||||
}
|
}
|
||||||
|
private void menuMsgBoxClear_Click(object sender, EventArgs e)
|
||||||
|
{
|
||||||
|
this.txtMsgBox.Clear();
|
||||||
|
}
|
||||||
private void menuMsgBoxAddRoutingRule_Click(object sender, EventArgs e)
|
private void menuMsgBoxAddRoutingRule_Click(object sender, EventArgs e)
|
||||||
{
|
{
|
||||||
menuMsgBoxCopy_Click(null, null);
|
menuMsgBoxCopy_Click(null, null);
|
||||||
|
|||||||
@@ -332,10 +332,10 @@
|
|||||||
</value>
|
</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="lvServers.Location" type="System.Drawing.Point, System.Drawing">
|
<data name="lvServers.Location" type="System.Drawing.Point, System.Drawing">
|
||||||
<value>0, 0</value>
|
<value>0, 20</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="lvServers.Size" type="System.Drawing.Size, System.Drawing">
|
<data name="lvServers.Size" type="System.Drawing.Size, System.Drawing">
|
||||||
<value>686, 280</value>
|
<value>686, 260</value>
|
||||||
</data>
|
</data>
|
||||||
<assembly alias="mscorlib" name="mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
|
<assembly alias="mscorlib" name="mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
|
||||||
<data name="lvServers.TabIndex" type="System.Int32, mscorlib">
|
<data name="lvServers.TabIndex" type="System.Int32, mscorlib">
|
||||||
@@ -353,6 +353,30 @@
|
|||||||
<data name=">>lvServers.ZOrder" xml:space="preserve">
|
<data name=">>lvServers.ZOrder" xml:space="preserve">
|
||||||
<value>0</value>
|
<value>0</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="tabGroup.Dock" type="System.Windows.Forms.DockStyle, System.Windows.Forms">
|
||||||
|
<value>Top</value>
|
||||||
|
</data>
|
||||||
|
<data name="tabGroup.Location" type="System.Drawing.Point, System.Drawing">
|
||||||
|
<value>0, 0</value>
|
||||||
|
</data>
|
||||||
|
<data name="tabGroup.Size" type="System.Drawing.Size, System.Drawing">
|
||||||
|
<value>686, 20</value>
|
||||||
|
</data>
|
||||||
|
<data name="tabGroup.TabIndex" type="System.Int32, mscorlib">
|
||||||
|
<value>0</value>
|
||||||
|
</data>
|
||||||
|
<data name=">>tabGroup.Name" xml:space="preserve">
|
||||||
|
<value>tabGroup</value>
|
||||||
|
</data>
|
||||||
|
<data name=">>tabGroup.Type" xml:space="preserve">
|
||||||
|
<value>System.Windows.Forms.TabControl, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||||
|
</data>
|
||||||
|
<data name=">>tabGroup.Parent" xml:space="preserve">
|
||||||
|
<value>scMain.Panel1</value>
|
||||||
|
</data>
|
||||||
|
<data name=">>tabGroup.ZOrder" xml:space="preserve">
|
||||||
|
<value>1</value>
|
||||||
|
</data>
|
||||||
<data name=">>scMain.Panel1.Name" xml:space="preserve">
|
<data name=">>scMain.Panel1.Name" xml:space="preserve">
|
||||||
<value>scMain.Panel1</value>
|
<value>scMain.Panel1</value>
|
||||||
</data>
|
</data>
|
||||||
@@ -461,9 +485,6 @@
|
|||||||
<data name="groupBox1.TabIndex" type="System.Int32, mscorlib">
|
<data name="groupBox1.TabIndex" type="System.Int32, mscorlib">
|
||||||
<value>0</value>
|
<value>0</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="groupBox1.Text" xml:space="preserve">
|
|
||||||
<value>Servers list</value>
|
|
||||||
</data>
|
|
||||||
<data name=">>groupBox1.Name" xml:space="preserve">
|
<data name=">>groupBox1.Name" xml:space="preserve">
|
||||||
<value>groupBox1</value>
|
<value>groupBox1</value>
|
||||||
</data>
|
</data>
|
||||||
@@ -489,7 +510,7 @@
|
|||||||
<value>0</value>
|
<value>0</value>
|
||||||
</data>
|
</data>
|
||||||
<metadata name="cmsMsgBox.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
|
<metadata name="cmsMsgBox.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
|
||||||
<value>603, 17</value>
|
<value>493, 20</value>
|
||||||
</metadata>
|
</metadata>
|
||||||
<data name="menuMsgBoxSelectAll.Size" type="System.Drawing.Size, System.Drawing">
|
<data name="menuMsgBoxSelectAll.Size" type="System.Drawing.Size, System.Drawing">
|
||||||
<value>227, 22</value>
|
<value>227, 22</value>
|
||||||
@@ -509,6 +530,12 @@
|
|||||||
<data name="menuMsgBoxCopyAll.Text" xml:space="preserve">
|
<data name="menuMsgBoxCopyAll.Text" xml:space="preserve">
|
||||||
<value>Copy All</value>
|
<value>Copy All</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="menuMsgBoxClear.Size" type="System.Drawing.Size, System.Drawing">
|
||||||
|
<value>227, 22</value>
|
||||||
|
</data>
|
||||||
|
<data name="menuMsgBoxClear.Text" xml:space="preserve">
|
||||||
|
<value>Clear All</value>
|
||||||
|
</data>
|
||||||
<data name="menuMsgBoxAddRoutingRule.Size" type="System.Drawing.Size, System.Drawing">
|
<data name="menuMsgBoxAddRoutingRule.Size" type="System.Drawing.Size, System.Drawing">
|
||||||
<value>227, 22</value>
|
<value>227, 22</value>
|
||||||
</data>
|
</data>
|
||||||
@@ -522,7 +549,7 @@
|
|||||||
<value>Set message filters</value>
|
<value>Set message filters</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="cmsMsgBox.Size" type="System.Drawing.Size, System.Drawing">
|
<data name="cmsMsgBox.Size" type="System.Drawing.Size, System.Drawing">
|
||||||
<value>228, 114</value>
|
<value>228, 158</value>
|
||||||
</data>
|
</data>
|
||||||
<data name=">>cmsMsgBox.Name" xml:space="preserve">
|
<data name=">>cmsMsgBox.Name" xml:space="preserve">
|
||||||
<value>cmsMsgBox</value>
|
<value>cmsMsgBox</value>
|
||||||
@@ -566,41 +593,23 @@
|
|||||||
<metadata name="ssMain.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
|
<metadata name="ssMain.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
|
||||||
<value>228, 18</value>
|
<value>228, 18</value>
|
||||||
</metadata>
|
</metadata>
|
||||||
<data name="toolSslSocksPortLab.Font" type="System.Drawing.Font, System.Drawing">
|
<data name="toolSslInboundInfo.Size" type="System.Drawing.Size, System.Drawing">
|
||||||
<value>微软雅黑, 8pt</value>
|
<value>80, 21</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="toolSslSocksPortLab.Size" type="System.Drawing.Size, System.Drawing">
|
<data name="toolSslInboundInfo.Text" xml:space="preserve">
|
||||||
<value>52, 21</value>
|
<value>InboundInfo</value>
|
||||||
</data>
|
|
||||||
<data name="toolSslSocksPortLab.Text" xml:space="preserve">
|
|
||||||
<value>SOCKS5:</value>
|
|
||||||
</data>
|
|
||||||
<data name="toolSslSocksPort.Size" type="System.Drawing.Size, System.Drawing">
|
|
||||||
<value>0, 21</value>
|
|
||||||
</data>
|
</data>
|
||||||
<data name="toolSslBlank1.Font" type="System.Drawing.Font, System.Drawing">
|
<data name="toolSslBlank1.Font" type="System.Drawing.Font, System.Drawing">
|
||||||
<value>微软雅黑, 8pt</value>
|
<value>微软雅黑, 8pt</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="toolSslBlank1.Size" type="System.Drawing.Size, System.Drawing">
|
<data name="toolSslBlank1.Size" type="System.Drawing.Size, System.Drawing">
|
||||||
<value>279, 21</value>
|
<value>300, 21</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="toolSslHttpPortLab.Font" type="System.Drawing.Font, System.Drawing">
|
<data name="toolSslRoutingRule.Size" type="System.Drawing.Size, System.Drawing">
|
||||||
<value>微软雅黑, 8pt</value>
|
|
||||||
</data>
|
|
||||||
<data name="toolSslHttpPortLab.Size" type="System.Drawing.Size, System.Drawing">
|
|
||||||
<value>39, 21</value>
|
|
||||||
</data>
|
|
||||||
<data name="toolSslHttpPortLab.Text" xml:space="preserve">
|
|
||||||
<value>HTTP:</value>
|
|
||||||
</data>
|
|
||||||
<data name="toolSslHttpPort.Size" type="System.Drawing.Size, System.Drawing">
|
|
||||||
<value>0, 21</value>
|
<value>0, 21</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="toolSslBlank2.Font" type="System.Drawing.Font, System.Drawing">
|
|
||||||
<value>微软雅黑, 8pt</value>
|
|
||||||
</data>
|
|
||||||
<data name="toolSslBlank2.Size" type="System.Drawing.Size, System.Drawing">
|
<data name="toolSslBlank2.Size" type="System.Drawing.Size, System.Drawing">
|
||||||
<value>279, 21</value>
|
<value>300, 21</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="toolSslServerSpeed.AutoSize" type="System.Boolean, mscorlib">
|
<data name="toolSslServerSpeed.AutoSize" type="System.Boolean, mscorlib">
|
||||||
<value>False</value>
|
<value>False</value>
|
||||||
@@ -738,7 +747,7 @@
|
|||||||
<value>264, 22</value>
|
<value>264, 22</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="menuSysAgentMode.Text" xml:space="preserve">
|
<data name="menuSysAgentMode.Text" xml:space="preserve">
|
||||||
<value>Http proxy</value>
|
<value>System proxy</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="menuRoutings.Size" type="System.Drawing.Size, System.Drawing">
|
<data name="menuRoutings.Size" type="System.Drawing.Size, System.Drawing">
|
||||||
<value>264, 22</value>
|
<value>264, 22</value>
|
||||||
@@ -752,6 +761,18 @@
|
|||||||
<data name="menuServers.Text" xml:space="preserve">
|
<data name="menuServers.Text" xml:space="preserve">
|
||||||
<value>Server</value>
|
<value>Server</value>
|
||||||
</data>
|
</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">
|
<data name="toolStripSeparator13.Size" type="System.Drawing.Size, System.Drawing">
|
||||||
<value>261, 6</value>
|
<value>261, 6</value>
|
||||||
</data>
|
</data>
|
||||||
@@ -773,6 +794,12 @@
|
|||||||
<data name="menuUpdateSubscriptions.Text" xml:space="preserve">
|
<data name="menuUpdateSubscriptions.Text" xml:space="preserve">
|
||||||
<value>Update subscriptions</value>
|
<value>Update subscriptions</value>
|
||||||
</data>
|
</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">
|
<data name="toolStripSeparator2.Size" type="System.Drawing.Size, System.Drawing">
|
||||||
<value>261, 6</value>
|
<value>261, 6</value>
|
||||||
</data>
|
</data>
|
||||||
@@ -783,7 +810,7 @@
|
|||||||
<value>Exit</value>
|
<value>Exit</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="cmsMain.Size" type="System.Drawing.Size, System.Drawing">
|
<data name="cmsMain.Size" type="System.Drawing.Size, System.Drawing">
|
||||||
<value>265, 170</value>
|
<value>265, 221</value>
|
||||||
</data>
|
</data>
|
||||||
<data name=">>cmsMain.Name" xml:space="preserve">
|
<data name=">>cmsMain.Name" xml:space="preserve">
|
||||||
<value>cmsMain</value>
|
<value>cmsMain</value>
|
||||||
@@ -797,9 +824,6 @@
|
|||||||
<data name="notifyMain.Visible" type="System.Boolean, mscorlib">
|
<data name="notifyMain.Visible" type="System.Boolean, mscorlib">
|
||||||
<value>True</value>
|
<value>True</value>
|
||||||
</data>
|
</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">
|
<data name="panel1.Dock" type="System.Windows.Forms.DockStyle, System.Windows.Forms">
|
||||||
<value>Top</value>
|
<value>Top</value>
|
||||||
</data>
|
</data>
|
||||||
@@ -831,17 +855,23 @@
|
|||||||
<value>6, 56</value>
|
<value>6, 56</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="tsbSubSetting.Size" type="System.Drawing.Size, System.Drawing">
|
<data name="tsbSubSetting.Size" type="System.Drawing.Size, System.Drawing">
|
||||||
<value>180, 22</value>
|
<value>182, 22</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="tsbSubSetting.Text" xml:space="preserve">
|
<data name="tsbSubSetting.Text" xml:space="preserve">
|
||||||
<value>Settings</value>
|
<value>Settings</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="tsbSubUpdate.Size" type="System.Drawing.Size, System.Drawing">
|
<data name="tsbSubUpdate.Size" type="System.Drawing.Size, System.Drawing">
|
||||||
<value>180, 22</value>
|
<value>182, 22</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="tsbSubUpdate.Text" xml:space="preserve">
|
<data name="tsbSubUpdate.Text" xml:space="preserve">
|
||||||
<value>Updates</value>
|
<value>Updates</value>
|
||||||
</data>
|
</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">
|
<data name="tsbSub.ImageTransparentColor" type="System.Drawing.Color, System.Drawing">
|
||||||
<value>Magenta</value>
|
<value>Magenta</value>
|
||||||
</data>
|
</data>
|
||||||
@@ -873,22 +903,34 @@
|
|||||||
<value>6, 56</value>
|
<value>6, 56</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="tsbOptionSetting.Size" type="System.Drawing.Size, System.Drawing">
|
<data name="tsbOptionSetting.Size" type="System.Drawing.Size, System.Drawing">
|
||||||
<value>176, 22</value>
|
<value>195, 22</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="tsbOptionSetting.Text" xml:space="preserve">
|
<data name="tsbOptionSetting.Text" xml:space="preserve">
|
||||||
<value>OptionSetting</value>
|
<value>OptionSetting</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="tsbRoutingSetting.Size" type="System.Drawing.Size, System.Drawing">
|
<data name="tsbRoutingSetting.Size" type="System.Drawing.Size, System.Drawing">
|
||||||
<value>176, 22</value>
|
<value>195, 22</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="tsbRoutingSetting.Text" xml:space="preserve">
|
<data name="tsbRoutingSetting.Text" xml:space="preserve">
|
||||||
<value>RoutingSetting</value>
|
<value>RoutingSetting</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="tsbGlobalHotkeySetting.Size" type="System.Drawing.Size, System.Drawing">
|
||||||
|
<value>195, 22</value>
|
||||||
|
</data>
|
||||||
|
<data name="tsbGlobalHotkeySetting.Text" xml:space="preserve">
|
||||||
|
<value>GlobalHotkeySetting</value>
|
||||||
|
</data>
|
||||||
|
<data name="tsbGroupSetting.Size" type="System.Drawing.Size, System.Drawing">
|
||||||
|
<value>195, 22</value>
|
||||||
|
</data>
|
||||||
|
<data name="tsbGroupSetting.Text" xml:space="preserve">
|
||||||
|
<value>GroupSetting</value>
|
||||||
|
</data>
|
||||||
<data name="toolStripSeparator14.Size" type="System.Drawing.Size, System.Drawing">
|
<data name="toolStripSeparator14.Size" type="System.Drawing.Size, System.Drawing">
|
||||||
<value>173, 6</value>
|
<value>192, 6</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="tsbBackupGuiNConfig.Size" type="System.Drawing.Size, System.Drawing">
|
<data name="tsbBackupGuiNConfig.Size" type="System.Drawing.Size, System.Drawing">
|
||||||
<value>176, 22</value>
|
<value>195, 22</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="tsbBackupGuiNConfig.Text" xml:space="preserve">
|
<data name="tsbBackupGuiNConfig.Text" xml:space="preserve">
|
||||||
<value>BackupGuiConfig</value>
|
<value>BackupGuiConfig</value>
|
||||||
@@ -908,17 +950,6 @@
|
|||||||
<data name="toolStripSeparator5.Size" type="System.Drawing.Size, System.Drawing">
|
<data name="toolStripSeparator5.Size" type="System.Drawing.Size, System.Drawing">
|
||||||
<value>6, 56</value>
|
<value>6, 56</value>
|
||||||
</data>
|
</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">
|
<data name="tsbReload.ImageAlign" type="System.Drawing.ContentAlignment, System.Drawing">
|
||||||
<value>BottomCenter</value>
|
<value>BottomCenter</value>
|
||||||
</data>
|
</data>
|
||||||
@@ -1039,13 +1070,6 @@
|
|||||||
<data name="toolStripSeparator11.Size" type="System.Drawing.Size, System.Drawing">
|
<data name="toolStripSeparator11.Size" type="System.Drawing.Size, System.Drawing">
|
||||||
<value>6, 56</value>
|
<value>6, 56</value>
|
||||||
</data>
|
</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>
|
|
||||||
<data name="tsbClose.ImageTransparentColor" type="System.Drawing.Color, System.Drawing">
|
<data name="tsbClose.ImageTransparentColor" type="System.Drawing.Color, System.Drawing">
|
||||||
<value>Magenta</value>
|
<value>Magenta</value>
|
||||||
</data>
|
</data>
|
||||||
@@ -1083,7 +1107,7 @@
|
|||||||
<value>True</value>
|
<value>True</value>
|
||||||
</metadata>
|
</metadata>
|
||||||
<metadata name="$this.TrayHeight" type="System.Int32, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
<metadata name="$this.TrayHeight" type="System.Int32, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||||
<value>65</value>
|
<value>90</value>
|
||||||
</metadata>
|
</metadata>
|
||||||
<data name="$this.AutoScaleDimensions" type="System.Drawing.SizeF, System.Drawing">
|
<data name="$this.AutoScaleDimensions" type="System.Drawing.SizeF, System.Drawing">
|
||||||
<value>6, 12</value>
|
<value>6, 12</value>
|
||||||
@@ -1307,6 +1331,12 @@
|
|||||||
<data name=">>menuMsgBoxCopyAll.Type" xml:space="preserve">
|
<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>
|
<value>System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||||
</data>
|
</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">
|
<data name=">>menuMsgBoxAddRoutingRule.Name" xml:space="preserve">
|
||||||
<value>menuMsgBoxAddRoutingRule</value>
|
<value>menuMsgBoxAddRoutingRule</value>
|
||||||
</data>
|
</data>
|
||||||
@@ -1319,16 +1349,10 @@
|
|||||||
<data name=">>menuMsgBoxFilter.Type" xml:space="preserve">
|
<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>
|
<value>System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||||
</data>
|
</data>
|
||||||
<data name=">>toolSslSocksPortLab.Name" xml:space="preserve">
|
<data name=">>toolSslInboundInfo.Name" xml:space="preserve">
|
||||||
<value>toolSslSocksPortLab</value>
|
<value>toolSslInboundInfo</value>
|
||||||
</data>
|
</data>
|
||||||
<data name=">>toolSslSocksPortLab.Type" xml:space="preserve">
|
<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=">>toolSslSocksPort.Name" xml:space="preserve">
|
|
||||||
<value>toolSslSocksPort</value>
|
|
||||||
</data>
|
|
||||||
<data name=">>toolSslSocksPort.Type" xml:space="preserve">
|
|
||||||
<value>System.Windows.Forms.ToolStripStatusLabel, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
<value>System.Windows.Forms.ToolStripStatusLabel, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||||
</data>
|
</data>
|
||||||
<data name=">>toolSslBlank1.Name" xml:space="preserve">
|
<data name=">>toolSslBlank1.Name" xml:space="preserve">
|
||||||
@@ -1337,16 +1361,10 @@
|
|||||||
<data name=">>toolSslBlank1.Type" xml:space="preserve">
|
<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>
|
<value>System.Windows.Forms.ToolStripStatusLabel, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||||
</data>
|
</data>
|
||||||
<data name=">>toolSslHttpPortLab.Name" xml:space="preserve">
|
<data name=">>toolSslRoutingRule.Name" xml:space="preserve">
|
||||||
<value>toolSslHttpPortLab</value>
|
<value>toolSslRoutingRule</value>
|
||||||
</data>
|
</data>
|
||||||
<data name=">>toolSslHttpPortLab.Type" xml:space="preserve">
|
<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=">>toolSslHttpPort.Name" xml:space="preserve">
|
|
||||||
<value>toolSslHttpPort</value>
|
|
||||||
</data>
|
|
||||||
<data name=">>toolSslHttpPort.Type" xml:space="preserve">
|
|
||||||
<value>System.Windows.Forms.ToolStripStatusLabel, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
<value>System.Windows.Forms.ToolStripStatusLabel, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||||
</data>
|
</data>
|
||||||
<data name=">>toolSslBlank2.Name" xml:space="preserve">
|
<data name=">>toolSslBlank2.Name" xml:space="preserve">
|
||||||
@@ -1409,6 +1427,12 @@
|
|||||||
<data name=">>menuServers.Type" xml:space="preserve">
|
<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>
|
<value>System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||||
</data>
|
</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">
|
<data name=">>toolStripSeparator13.Name" xml:space="preserve">
|
||||||
<value>toolStripSeparator13</value>
|
<value>toolStripSeparator13</value>
|
||||||
</data>
|
</data>
|
||||||
@@ -1433,6 +1457,12 @@
|
|||||||
<data name=">>menuUpdateSubscriptions.Type" xml:space="preserve">
|
<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>
|
<value>System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||||
</data>
|
</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>
|
||||||
<data name=">>toolStripSeparator2.Name" xml:space="preserve">
|
<data name=">>toolStripSeparator2.Name" xml:space="preserve">
|
||||||
<value>toolStripSeparator2</value>
|
<value>toolStripSeparator2</value>
|
||||||
</data>
|
</data>
|
||||||
@@ -1445,12 +1475,6 @@
|
|||||||
<data name=">>menuExit.Type" xml:space="preserve">
|
<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>
|
<value>System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||||
</data>
|
</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">
|
<data name=">>toolStripSeparator4.Name" xml:space="preserve">
|
||||||
<value>toolStripSeparator4</value>
|
<value>toolStripSeparator4</value>
|
||||||
</data>
|
</data>
|
||||||
@@ -1475,6 +1499,12 @@
|
|||||||
<data name=">>tsbSubUpdate.Type" xml:space="preserve">
|
<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>
|
<value>System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name=">>tsbSubUpdateViaProxy.Name" xml:space="preserve">
|
||||||
|
<value>tsbSubUpdateViaProxy</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">
|
<data name=">>tsbQRCodeSwitch.Name" xml:space="preserve">
|
||||||
<value>tsbQRCodeSwitch</value>
|
<value>tsbQRCodeSwitch</value>
|
||||||
</data>
|
</data>
|
||||||
@@ -1505,6 +1535,18 @@
|
|||||||
<data name=">>tsbRoutingSetting.Type" xml:space="preserve">
|
<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>
|
<value>System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name=">>tsbGlobalHotkeySetting.Name" xml:space="preserve">
|
||||||
|
<value>tsbGlobalHotkeySetting</value>
|
||||||
|
</data>
|
||||||
|
<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=">>tsbGroupSetting.Name" xml:space="preserve">
|
||||||
|
<value>tsbGroupSetting</value>
|
||||||
|
</data>
|
||||||
|
<data name=">>tsbGroupSetting.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=">>toolStripSeparator14.Name" xml:space="preserve">
|
<data name=">>toolStripSeparator14.Name" xml:space="preserve">
|
||||||
<value>toolStripSeparator14</value>
|
<value>toolStripSeparator14</value>
|
||||||
</data>
|
</data>
|
||||||
|
|||||||
@@ -318,9 +318,6 @@
|
|||||||
ZW0uRHJhd2luZy5HcmFwaGljc1VuaXQBAAAAB3ZhbHVlX18ACAMAAAADAAAACw==
|
ZW0uRHJhd2luZy5HcmFwaGljc1VuaXQBAAAAB3ZhbHVlX18ACAMAAAADAAAACw==
|
||||||
</value>
|
</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="groupBox1.Text" xml:space="preserve">
|
|
||||||
<value>服务器列表</value>
|
|
||||||
</data>
|
|
||||||
<data name="menuMsgBoxSelectAll.Size" type="System.Drawing.Size, System.Drawing">
|
<data name="menuMsgBoxSelectAll.Size" type="System.Drawing.Size, System.Drawing">
|
||||||
<value>221, 22</value>
|
<value>221, 22</value>
|
||||||
</data>
|
</data>
|
||||||
@@ -339,6 +336,12 @@
|
|||||||
<data name="menuMsgBoxCopyAll.Text" xml:space="preserve">
|
<data name="menuMsgBoxCopyAll.Text" xml:space="preserve">
|
||||||
<value>复制所有</value>
|
<value>复制所有</value>
|
||||||
</data>
|
</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">
|
<data name="menuMsgBoxAddRoutingRule.Size" type="System.Drawing.Size, System.Drawing">
|
||||||
<value>221, 22</value>
|
<value>221, 22</value>
|
||||||
</data>
|
</data>
|
||||||
@@ -352,7 +355,7 @@
|
|||||||
<value>设置信息过滤器</value>
|
<value>设置信息过滤器</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="cmsMsgBox.Size" type="System.Drawing.Size, System.Drawing">
|
<data name="cmsMsgBox.Size" type="System.Drawing.Size, System.Drawing">
|
||||||
<value>222, 114</value>
|
<value>222, 136</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="toolSslServerSpeed.Text" xml:space="preserve">
|
<data name="toolSslServerSpeed.Text" xml:space="preserve">
|
||||||
<value>网速显示未启用</value>
|
<value>网速显示未启用</value>
|
||||||
@@ -379,68 +382,83 @@
|
|||||||
<value>不改变系统代理</value>
|
<value>不改变系统代理</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="menuSysAgentMode.Size" type="System.Drawing.Size, System.Drawing">
|
<data name="menuSysAgentMode.Size" type="System.Drawing.Size, System.Drawing">
|
||||||
<value>195, 22</value>
|
<value>260, 22</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="menuSysAgentMode.Text" xml:space="preserve">
|
<data name="menuSysAgentMode.Text" xml:space="preserve">
|
||||||
<value>系统代理</value>
|
<value>系统代理</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="menuRoutings.Size" type="System.Drawing.Size, System.Drawing">
|
<data name="menuRoutings.Size" type="System.Drawing.Size, System.Drawing">
|
||||||
<value>195, 22</value>
|
<value>260, 22</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="menuRoutings.Text" xml:space="preserve">
|
<data name="menuRoutings.Text" xml:space="preserve">
|
||||||
<value>路由</value>
|
<value>路由</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="menuServers.Size" type="System.Drawing.Size, System.Drawing">
|
<data name="menuServers.Size" type="System.Drawing.Size, System.Drawing">
|
||||||
<value>195, 22</value>
|
<value>260, 22</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="menuServers.Text" xml:space="preserve">
|
<data name="menuServers.Text" xml:space="preserve">
|
||||||
<value>服务器</value>
|
<value>服务器</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="menuServers2.ToolTipText" xml:space="preserve">
|
||||||
|
<value>服务器</value>
|
||||||
|
</data>
|
||||||
<data name="toolStripSeparator13.Size" type="System.Drawing.Size, System.Drawing">
|
<data name="toolStripSeparator13.Size" type="System.Drawing.Size, System.Drawing">
|
||||||
<value>192, 6</value>
|
<value>257, 6</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="menuAddServers2.Size" type="System.Drawing.Size, System.Drawing">
|
<data name="menuAddServers2.Size" type="System.Drawing.Size, System.Drawing">
|
||||||
<value>195, 22</value>
|
<value>260, 22</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="menuAddServers2.Text" xml:space="preserve">
|
<data name="menuAddServers2.Text" xml:space="preserve">
|
||||||
<value>从剪贴板导入批量URL</value>
|
<value>从剪贴板导入批量URL</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="menuScanScreen2.Size" type="System.Drawing.Size, System.Drawing">
|
<data name="menuScanScreen2.Size" type="System.Drawing.Size, System.Drawing">
|
||||||
<value>195, 22</value>
|
<value>260, 22</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="menuScanScreen2.Text" xml:space="preserve">
|
<data name="menuScanScreen2.Text" xml:space="preserve">
|
||||||
<value>扫描屏幕上的二维码</value>
|
<value>扫描屏幕上的二维码</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="menuUpdateSubscriptions.Size" type="System.Drawing.Size, System.Drawing">
|
<data name="menuUpdateSubscriptions.Size" type="System.Drawing.Size, System.Drawing">
|
||||||
<value>195, 22</value>
|
<value>260, 22</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="menuUpdateSubscriptions.Text" xml:space="preserve">
|
<data name="menuUpdateSubscriptions.Text" xml:space="preserve">
|
||||||
<value>更新订阅</value>
|
<value>更新订阅</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="menuUpdateSubViaProxy.Size" type="System.Drawing.Size, System.Drawing">
|
||||||
|
<value>260, 22</value>
|
||||||
|
</data>
|
||||||
|
<data name="menuUpdateSubViaProxy.Text" xml:space="preserve">
|
||||||
|
<value>更新订阅(通过代理)</value>
|
||||||
|
</data>
|
||||||
<data name="toolStripSeparator2.Size" type="System.Drawing.Size, System.Drawing">
|
<data name="toolStripSeparator2.Size" type="System.Drawing.Size, System.Drawing">
|
||||||
<value>192, 6</value>
|
<value>257, 6</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="menuExit.Size" type="System.Drawing.Size, System.Drawing">
|
<data name="menuExit.Size" type="System.Drawing.Size, System.Drawing">
|
||||||
<value>195, 22</value>
|
<value>260, 22</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="menuExit.Text" xml:space="preserve">
|
<data name="menuExit.Text" xml:space="preserve">
|
||||||
<value>退出</value>
|
<value>退出</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="cmsMain.Size" type="System.Drawing.Size, System.Drawing">
|
<data name="cmsMain.Size" type="System.Drawing.Size, System.Drawing">
|
||||||
<value>196, 170</value>
|
<value>261, 221</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="tsbSubSetting.Size" type="System.Drawing.Size, System.Drawing">
|
<data name="tsbSubSetting.Size" type="System.Drawing.Size, System.Drawing">
|
||||||
<value>124, 22</value>
|
<value>180, 22</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="tsbSubSetting.Text" xml:space="preserve">
|
<data name="tsbSubSetting.Text" xml:space="preserve">
|
||||||
<value>订阅设置</value>
|
<value>订阅设置</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="tsbSubUpdate.Size" type="System.Drawing.Size, System.Drawing">
|
<data name="tsbSubUpdate.Size" type="System.Drawing.Size, System.Drawing">
|
||||||
<value>124, 22</value>
|
<value>180, 22</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="tsbSubUpdate.Text" xml:space="preserve">
|
<data name="tsbSubUpdate.Text" xml:space="preserve">
|
||||||
<value>更新订阅</value>
|
<value>更新订阅</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="tsbSubUpdateViaProxy.Size" type="System.Drawing.Size, System.Drawing">
|
||||||
|
<value>180, 22</value>
|
||||||
|
</data>
|
||||||
|
<data name="tsbSubUpdateViaProxy.Text" xml:space="preserve">
|
||||||
|
<value>更新订阅(通过代理)</value>
|
||||||
|
</data>
|
||||||
<data name="tsbSub.Size" type="System.Drawing.Size, System.Drawing">
|
<data name="tsbSub.Size" type="System.Drawing.Size, System.Drawing">
|
||||||
<value>61, 53</value>
|
<value>61, 53</value>
|
||||||
</data>
|
</data>
|
||||||
@@ -465,6 +483,18 @@
|
|||||||
<data name="tsbRoutingSetting.Text" xml:space="preserve">
|
<data name="tsbRoutingSetting.Text" xml:space="preserve">
|
||||||
<value>路由设置</value>
|
<value>路由设置</value>
|
||||||
</data>
|
</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="tsbGroupSetting.Size" type="System.Drawing.Size, System.Drawing">
|
||||||
|
<value>189, 22</value>
|
||||||
|
</data>
|
||||||
|
<data name="tsbGroupSetting.Text" xml:space="preserve">
|
||||||
|
<value>服务器分组设置</value>
|
||||||
|
</data>
|
||||||
<data name="toolStripSeparator14.Size" type="System.Drawing.Size, System.Drawing">
|
<data name="toolStripSeparator14.Size" type="System.Drawing.Size, System.Drawing">
|
||||||
<value>186, 6</value>
|
<value>186, 6</value>
|
||||||
</data>
|
</data>
|
||||||
@@ -480,17 +510,6 @@
|
|||||||
<data name="tsbSetting.Text" xml:space="preserve">
|
<data name="tsbSetting.Text" xml:space="preserve">
|
||||||
<value> 设置 </value>
|
<value> 设置 </value>
|
||||||
</data>
|
</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.Size" type="System.Drawing.Size, System.Drawing">
|
<data name="tsbReload.Size" type="System.Drawing.Size, System.Drawing">
|
||||||
<value>76, 53</value>
|
<value>76, 53</value>
|
||||||
</data>
|
</data>
|
||||||
@@ -548,13 +567,6 @@
|
|||||||
<data name="tsbPromotion.Text" xml:space="preserve">
|
<data name="tsbPromotion.Text" xml:space="preserve">
|
||||||
<value> 推广 </value>
|
<value> 推广 </value>
|
||||||
</data>
|
</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>
|
|
||||||
<data name="tsbClose.Size" type="System.Drawing.Size, System.Drawing">
|
<data name="tsbClose.Size" type="System.Drawing.Size, System.Drawing">
|
||||||
<value>76, 53</value>
|
<value>76, 53</value>
|
||||||
</data>
|
</data>
|
||||||
|
|||||||
169
v2rayN/v2rayN/Forms/OptionSettingForm.Designer.cs
generated
169
v2rayN/v2rayN/Forms/OptionSettingForm.Designer.cs
generated
@@ -69,17 +69,31 @@
|
|||||||
this.txtKcpmtu = new System.Windows.Forms.TextBox();
|
this.txtKcpmtu = new System.Windows.Forms.TextBox();
|
||||||
this.label6 = new System.Windows.Forms.Label();
|
this.label6 = new System.Windows.Forms.Label();
|
||||||
this.tabPage7 = new System.Windows.Forms.TabPage();
|
this.tabPage7 = new System.Windows.Forms.TabPage();
|
||||||
|
this.chkEnableSecurityProtocolTls13 = new System.Windows.Forms.CheckBox();
|
||||||
|
this.chkEnableAutoAdjustMainLvColWidth = new System.Windows.Forms.CheckBox();
|
||||||
|
this.btnSetLoopback = new System.Windows.Forms.Button();
|
||||||
this.txtautoUpdateInterval = new System.Windows.Forms.TextBox();
|
this.txtautoUpdateInterval = new System.Windows.Forms.TextBox();
|
||||||
this.label15 = new System.Windows.Forms.Label();
|
this.label15 = new System.Windows.Forms.Label();
|
||||||
this.chkIgnoreGeoUpdateCore = new System.Windows.Forms.CheckBox();
|
this.chkIgnoreGeoUpdateCore = new System.Windows.Forms.CheckBox();
|
||||||
this.cmbCoreType = new System.Windows.Forms.ComboBox();
|
|
||||||
this.label4 = new System.Windows.Forms.Label();
|
|
||||||
this.chkKeepOlderDedupl = new System.Windows.Forms.CheckBox();
|
this.chkKeepOlderDedupl = new System.Windows.Forms.CheckBox();
|
||||||
this.cbFreshrate = new System.Windows.Forms.ComboBox();
|
this.cbFreshrate = new System.Windows.Forms.ComboBox();
|
||||||
this.lbFreshrate = new System.Windows.Forms.Label();
|
this.lbFreshrate = new System.Windows.Forms.Label();
|
||||||
this.chkEnableStatistics = new System.Windows.Forms.CheckBox();
|
this.chkEnableStatistics = new System.Windows.Forms.CheckBox();
|
||||||
this.chkAllowLANConn = new System.Windows.Forms.CheckBox();
|
this.chkAllowLANConn = new System.Windows.Forms.CheckBox();
|
||||||
this.chkAutoRun = new System.Windows.Forms.CheckBox();
|
this.chkAutoRun = new System.Windows.Forms.CheckBox();
|
||||||
|
this.tabPageCoreType = new System.Windows.Forms.TabPage();
|
||||||
|
this.cmbCoreType6 = new System.Windows.Forms.ComboBox();
|
||||||
|
this.labCoreType6 = new System.Windows.Forms.Label();
|
||||||
|
this.cmbCoreType5 = new System.Windows.Forms.ComboBox();
|
||||||
|
this.labCoreType5 = new System.Windows.Forms.Label();
|
||||||
|
this.cmbCoreType4 = new System.Windows.Forms.ComboBox();
|
||||||
|
this.labCoreType4 = new System.Windows.Forms.Label();
|
||||||
|
this.cmbCoreType3 = new System.Windows.Forms.ComboBox();
|
||||||
|
this.labCoreType3 = new System.Windows.Forms.Label();
|
||||||
|
this.cmbCoreType2 = new System.Windows.Forms.ComboBox();
|
||||||
|
this.labCoreType2 = new System.Windows.Forms.Label();
|
||||||
|
this.cmbCoreType1 = new System.Windows.Forms.ComboBox();
|
||||||
|
this.labCoreType1 = new System.Windows.Forms.Label();
|
||||||
this.tabPage3 = new System.Windows.Forms.TabPage();
|
this.tabPage3 = new System.Windows.Forms.TabPage();
|
||||||
this.groupBox2 = new System.Windows.Forms.GroupBox();
|
this.groupBox2 = new System.Windows.Forms.GroupBox();
|
||||||
this.label13 = new System.Windows.Forms.Label();
|
this.label13 = new System.Windows.Forms.Label();
|
||||||
@@ -94,6 +108,7 @@
|
|||||||
this.tabPage2.SuspendLayout();
|
this.tabPage2.SuspendLayout();
|
||||||
this.tabPage6.SuspendLayout();
|
this.tabPage6.SuspendLayout();
|
||||||
this.tabPage7.SuspendLayout();
|
this.tabPage7.SuspendLayout();
|
||||||
|
this.tabPageCoreType.SuspendLayout();
|
||||||
this.tabPage3.SuspendLayout();
|
this.tabPage3.SuspendLayout();
|
||||||
this.groupBox2.SuspendLayout();
|
this.groupBox2.SuspendLayout();
|
||||||
this.panel2.SuspendLayout();
|
this.panel2.SuspendLayout();
|
||||||
@@ -113,6 +128,7 @@
|
|||||||
this.tabControl1.Controls.Add(this.tabPage2);
|
this.tabControl1.Controls.Add(this.tabPage2);
|
||||||
this.tabControl1.Controls.Add(this.tabPage6);
|
this.tabControl1.Controls.Add(this.tabPage6);
|
||||||
this.tabControl1.Controls.Add(this.tabPage7);
|
this.tabControl1.Controls.Add(this.tabPage7);
|
||||||
|
this.tabControl1.Controls.Add(this.tabPageCoreType);
|
||||||
this.tabControl1.Controls.Add(this.tabPage3);
|
this.tabControl1.Controls.Add(this.tabPage3);
|
||||||
resources.ApplyResources(this.tabControl1, "tabControl1");
|
resources.ApplyResources(this.tabControl1, "tabControl1");
|
||||||
this.tabControl1.Name = "tabControl1";
|
this.tabControl1.Name = "tabControl1";
|
||||||
@@ -373,11 +389,12 @@
|
|||||||
//
|
//
|
||||||
// tabPage7
|
// tabPage7
|
||||||
//
|
//
|
||||||
|
this.tabPage7.Controls.Add(this.chkEnableSecurityProtocolTls13);
|
||||||
|
this.tabPage7.Controls.Add(this.chkEnableAutoAdjustMainLvColWidth);
|
||||||
|
this.tabPage7.Controls.Add(this.btnSetLoopback);
|
||||||
this.tabPage7.Controls.Add(this.txtautoUpdateInterval);
|
this.tabPage7.Controls.Add(this.txtautoUpdateInterval);
|
||||||
this.tabPage7.Controls.Add(this.label15);
|
this.tabPage7.Controls.Add(this.label15);
|
||||||
this.tabPage7.Controls.Add(this.chkIgnoreGeoUpdateCore);
|
this.tabPage7.Controls.Add(this.chkIgnoreGeoUpdateCore);
|
||||||
this.tabPage7.Controls.Add(this.cmbCoreType);
|
|
||||||
this.tabPage7.Controls.Add(this.label4);
|
|
||||||
this.tabPage7.Controls.Add(this.chkKeepOlderDedupl);
|
this.tabPage7.Controls.Add(this.chkKeepOlderDedupl);
|
||||||
this.tabPage7.Controls.Add(this.cbFreshrate);
|
this.tabPage7.Controls.Add(this.cbFreshrate);
|
||||||
this.tabPage7.Controls.Add(this.lbFreshrate);
|
this.tabPage7.Controls.Add(this.lbFreshrate);
|
||||||
@@ -388,6 +405,25 @@
|
|||||||
this.tabPage7.Name = "tabPage7";
|
this.tabPage7.Name = "tabPage7";
|
||||||
this.tabPage7.UseVisualStyleBackColor = true;
|
this.tabPage7.UseVisualStyleBackColor = true;
|
||||||
//
|
//
|
||||||
|
// chkEnableSecurityProtocolTls13
|
||||||
|
//
|
||||||
|
resources.ApplyResources(this.chkEnableSecurityProtocolTls13, "chkEnableSecurityProtocolTls13");
|
||||||
|
this.chkEnableSecurityProtocolTls13.Name = "chkEnableSecurityProtocolTls13";
|
||||||
|
this.chkEnableSecurityProtocolTls13.UseVisualStyleBackColor = true;
|
||||||
|
//
|
||||||
|
// chkEnableAutoAdjustMainLvColWidth
|
||||||
|
//
|
||||||
|
resources.ApplyResources(this.chkEnableAutoAdjustMainLvColWidth, "chkEnableAutoAdjustMainLvColWidth");
|
||||||
|
this.chkEnableAutoAdjustMainLvColWidth.Name = "chkEnableAutoAdjustMainLvColWidth";
|
||||||
|
this.chkEnableAutoAdjustMainLvColWidth.UseVisualStyleBackColor = true;
|
||||||
|
//
|
||||||
|
// btnSetLoopback
|
||||||
|
//
|
||||||
|
resources.ApplyResources(this.btnSetLoopback, "btnSetLoopback");
|
||||||
|
this.btnSetLoopback.Name = "btnSetLoopback";
|
||||||
|
this.btnSetLoopback.UseVisualStyleBackColor = true;
|
||||||
|
this.btnSetLoopback.Click += new System.EventHandler(this.btnSetLoopback_Click);
|
||||||
|
//
|
||||||
// txtautoUpdateInterval
|
// txtautoUpdateInterval
|
||||||
//
|
//
|
||||||
resources.ApplyResources(this.txtautoUpdateInterval, "txtautoUpdateInterval");
|
resources.ApplyResources(this.txtautoUpdateInterval, "txtautoUpdateInterval");
|
||||||
@@ -404,21 +440,6 @@
|
|||||||
this.chkIgnoreGeoUpdateCore.Name = "chkIgnoreGeoUpdateCore";
|
this.chkIgnoreGeoUpdateCore.Name = "chkIgnoreGeoUpdateCore";
|
||||||
this.chkIgnoreGeoUpdateCore.UseVisualStyleBackColor = true;
|
this.chkIgnoreGeoUpdateCore.UseVisualStyleBackColor = true;
|
||||||
//
|
//
|
||||||
// cmbCoreType
|
|
||||||
//
|
|
||||||
this.cmbCoreType.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList;
|
|
||||||
this.cmbCoreType.FormattingEnabled = true;
|
|
||||||
this.cmbCoreType.Items.AddRange(new object[] {
|
|
||||||
resources.GetString("cmbCoreType.Items"),
|
|
||||||
resources.GetString("cmbCoreType.Items1")});
|
|
||||||
resources.ApplyResources(this.cmbCoreType, "cmbCoreType");
|
|
||||||
this.cmbCoreType.Name = "cmbCoreType";
|
|
||||||
//
|
|
||||||
// label4
|
|
||||||
//
|
|
||||||
resources.ApplyResources(this.label4, "label4");
|
|
||||||
this.label4.Name = "label4";
|
|
||||||
//
|
|
||||||
// chkKeepOlderDedupl
|
// chkKeepOlderDedupl
|
||||||
//
|
//
|
||||||
resources.ApplyResources(this.chkKeepOlderDedupl, "chkKeepOlderDedupl");
|
resources.ApplyResources(this.chkKeepOlderDedupl, "chkKeepOlderDedupl");
|
||||||
@@ -455,6 +476,96 @@
|
|||||||
this.chkAutoRun.Name = "chkAutoRun";
|
this.chkAutoRun.Name = "chkAutoRun";
|
||||||
this.chkAutoRun.UseVisualStyleBackColor = true;
|
this.chkAutoRun.UseVisualStyleBackColor = true;
|
||||||
//
|
//
|
||||||
|
// tabPageCoreType
|
||||||
|
//
|
||||||
|
this.tabPageCoreType.Controls.Add(this.cmbCoreType6);
|
||||||
|
this.tabPageCoreType.Controls.Add(this.labCoreType6);
|
||||||
|
this.tabPageCoreType.Controls.Add(this.cmbCoreType5);
|
||||||
|
this.tabPageCoreType.Controls.Add(this.labCoreType5);
|
||||||
|
this.tabPageCoreType.Controls.Add(this.cmbCoreType4);
|
||||||
|
this.tabPageCoreType.Controls.Add(this.labCoreType4);
|
||||||
|
this.tabPageCoreType.Controls.Add(this.cmbCoreType3);
|
||||||
|
this.tabPageCoreType.Controls.Add(this.labCoreType3);
|
||||||
|
this.tabPageCoreType.Controls.Add(this.cmbCoreType2);
|
||||||
|
this.tabPageCoreType.Controls.Add(this.labCoreType2);
|
||||||
|
this.tabPageCoreType.Controls.Add(this.cmbCoreType1);
|
||||||
|
this.tabPageCoreType.Controls.Add(this.labCoreType1);
|
||||||
|
resources.ApplyResources(this.tabPageCoreType, "tabPageCoreType");
|
||||||
|
this.tabPageCoreType.Name = "tabPageCoreType";
|
||||||
|
this.tabPageCoreType.UseVisualStyleBackColor = true;
|
||||||
|
//
|
||||||
|
// cmbCoreType6
|
||||||
|
//
|
||||||
|
this.cmbCoreType6.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList;
|
||||||
|
this.cmbCoreType6.FormattingEnabled = true;
|
||||||
|
resources.ApplyResources(this.cmbCoreType6, "cmbCoreType6");
|
||||||
|
this.cmbCoreType6.Name = "cmbCoreType6";
|
||||||
|
//
|
||||||
|
// labCoreType6
|
||||||
|
//
|
||||||
|
resources.ApplyResources(this.labCoreType6, "labCoreType6");
|
||||||
|
this.labCoreType6.Name = "labCoreType6";
|
||||||
|
//
|
||||||
|
// cmbCoreType5
|
||||||
|
//
|
||||||
|
this.cmbCoreType5.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList;
|
||||||
|
this.cmbCoreType5.FormattingEnabled = true;
|
||||||
|
resources.ApplyResources(this.cmbCoreType5, "cmbCoreType5");
|
||||||
|
this.cmbCoreType5.Name = "cmbCoreType5";
|
||||||
|
//
|
||||||
|
// labCoreType5
|
||||||
|
//
|
||||||
|
resources.ApplyResources(this.labCoreType5, "labCoreType5");
|
||||||
|
this.labCoreType5.Name = "labCoreType5";
|
||||||
|
//
|
||||||
|
// cmbCoreType4
|
||||||
|
//
|
||||||
|
this.cmbCoreType4.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList;
|
||||||
|
this.cmbCoreType4.FormattingEnabled = true;
|
||||||
|
resources.ApplyResources(this.cmbCoreType4, "cmbCoreType4");
|
||||||
|
this.cmbCoreType4.Name = "cmbCoreType4";
|
||||||
|
//
|
||||||
|
// labCoreType4
|
||||||
|
//
|
||||||
|
resources.ApplyResources(this.labCoreType4, "labCoreType4");
|
||||||
|
this.labCoreType4.Name = "labCoreType4";
|
||||||
|
//
|
||||||
|
// cmbCoreType3
|
||||||
|
//
|
||||||
|
this.cmbCoreType3.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList;
|
||||||
|
this.cmbCoreType3.FormattingEnabled = true;
|
||||||
|
resources.ApplyResources(this.cmbCoreType3, "cmbCoreType3");
|
||||||
|
this.cmbCoreType3.Name = "cmbCoreType3";
|
||||||
|
//
|
||||||
|
// labCoreType3
|
||||||
|
//
|
||||||
|
resources.ApplyResources(this.labCoreType3, "labCoreType3");
|
||||||
|
this.labCoreType3.Name = "labCoreType3";
|
||||||
|
//
|
||||||
|
// cmbCoreType2
|
||||||
|
//
|
||||||
|
this.cmbCoreType2.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList;
|
||||||
|
this.cmbCoreType2.FormattingEnabled = true;
|
||||||
|
resources.ApplyResources(this.cmbCoreType2, "cmbCoreType2");
|
||||||
|
this.cmbCoreType2.Name = "cmbCoreType2";
|
||||||
|
//
|
||||||
|
// labCoreType2
|
||||||
|
//
|
||||||
|
resources.ApplyResources(this.labCoreType2, "labCoreType2");
|
||||||
|
this.labCoreType2.Name = "labCoreType2";
|
||||||
|
//
|
||||||
|
// cmbCoreType1
|
||||||
|
//
|
||||||
|
this.cmbCoreType1.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList;
|
||||||
|
this.cmbCoreType1.FormattingEnabled = true;
|
||||||
|
resources.ApplyResources(this.cmbCoreType1, "cmbCoreType1");
|
||||||
|
this.cmbCoreType1.Name = "cmbCoreType1";
|
||||||
|
//
|
||||||
|
// labCoreType1
|
||||||
|
//
|
||||||
|
resources.ApplyResources(this.labCoreType1, "labCoreType1");
|
||||||
|
this.labCoreType1.Name = "labCoreType1";
|
||||||
|
//
|
||||||
// tabPage3
|
// tabPage3
|
||||||
//
|
//
|
||||||
this.tabPage3.Controls.Add(this.groupBox2);
|
this.tabPage3.Controls.Add(this.groupBox2);
|
||||||
@@ -526,6 +637,8 @@
|
|||||||
this.tabPage6.PerformLayout();
|
this.tabPage6.PerformLayout();
|
||||||
this.tabPage7.ResumeLayout(false);
|
this.tabPage7.ResumeLayout(false);
|
||||||
this.tabPage7.PerformLayout();
|
this.tabPage7.PerformLayout();
|
||||||
|
this.tabPageCoreType.ResumeLayout(false);
|
||||||
|
this.tabPageCoreType.PerformLayout();
|
||||||
this.tabPage3.ResumeLayout(false);
|
this.tabPage3.ResumeLayout(false);
|
||||||
this.groupBox2.ResumeLayout(false);
|
this.groupBox2.ResumeLayout(false);
|
||||||
this.groupBox2.PerformLayout();
|
this.groupBox2.PerformLayout();
|
||||||
@@ -585,8 +698,6 @@
|
|||||||
private System.Windows.Forms.LinkLabel linkDnsObjectDoc;
|
private System.Windows.Forms.LinkLabel linkDnsObjectDoc;
|
||||||
private System.Windows.Forms.TextBox txtremoteDNS;
|
private System.Windows.Forms.TextBox txtremoteDNS;
|
||||||
private System.Windows.Forms.Label label14;
|
private System.Windows.Forms.Label label14;
|
||||||
private System.Windows.Forms.ComboBox cmbCoreType;
|
|
||||||
private System.Windows.Forms.Label label4;
|
|
||||||
private System.Windows.Forms.CheckBox chkIgnoreGeoUpdateCore;
|
private System.Windows.Forms.CheckBox chkIgnoreGeoUpdateCore;
|
||||||
private System.Windows.Forms.TabPage tabPage3;
|
private System.Windows.Forms.TabPage tabPage3;
|
||||||
private System.Windows.Forms.TextBox txtsystemProxyExceptions;
|
private System.Windows.Forms.TextBox txtsystemProxyExceptions;
|
||||||
@@ -595,5 +706,21 @@
|
|||||||
private System.Windows.Forms.Label label13;
|
private System.Windows.Forms.Label label13;
|
||||||
private System.Windows.Forms.TextBox txtautoUpdateInterval;
|
private System.Windows.Forms.TextBox txtautoUpdateInterval;
|
||||||
private System.Windows.Forms.Label label15;
|
private System.Windows.Forms.Label label15;
|
||||||
|
private System.Windows.Forms.Button btnSetLoopback;
|
||||||
|
private System.Windows.Forms.CheckBox chkEnableAutoAdjustMainLvColWidth;
|
||||||
|
private System.Windows.Forms.CheckBox chkEnableSecurityProtocolTls13;
|
||||||
|
private System.Windows.Forms.TabPage tabPageCoreType;
|
||||||
|
private System.Windows.Forms.ComboBox cmbCoreType1;
|
||||||
|
private System.Windows.Forms.Label labCoreType1;
|
||||||
|
private System.Windows.Forms.ComboBox cmbCoreType6;
|
||||||
|
private System.Windows.Forms.Label labCoreType6;
|
||||||
|
private System.Windows.Forms.ComboBox cmbCoreType5;
|
||||||
|
private System.Windows.Forms.Label labCoreType5;
|
||||||
|
private System.Windows.Forms.ComboBox cmbCoreType4;
|
||||||
|
private System.Windows.Forms.Label labCoreType4;
|
||||||
|
private System.Windows.Forms.ComboBox cmbCoreType3;
|
||||||
|
private System.Windows.Forms.Label labCoreType3;
|
||||||
|
private System.Windows.Forms.ComboBox cmbCoreType2;
|
||||||
|
private System.Windows.Forms.Label labCoreType2;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -1,9 +1,9 @@
|
|||||||
using System;
|
using System;
|
||||||
using System.Collections.Generic;
|
using System.Collections.Generic;
|
||||||
|
using System.Diagnostics;
|
||||||
using System.Windows.Forms;
|
using System.Windows.Forms;
|
||||||
using v2rayN.Handler;
|
|
||||||
using v2rayN.Base;
|
using v2rayN.Base;
|
||||||
using v2rayN.HttpProxyHandler;
|
using v2rayN.Handler;
|
||||||
using v2rayN.Mode;
|
using v2rayN.Mode;
|
||||||
|
|
||||||
namespace v2rayN.Forms
|
namespace v2rayN.Forms
|
||||||
@@ -22,6 +22,8 @@ namespace v2rayN.Forms
|
|||||||
InitKCP();
|
InitKCP();
|
||||||
|
|
||||||
InitGUI();
|
InitGUI();
|
||||||
|
|
||||||
|
InitCoreType();
|
||||||
}
|
}
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
@@ -122,9 +124,40 @@ namespace v2rayN.Forms
|
|||||||
}
|
}
|
||||||
|
|
||||||
chkIgnoreGeoUpdateCore.Checked = config.ignoreGeoUpdateCore;
|
chkIgnoreGeoUpdateCore.Checked = config.ignoreGeoUpdateCore;
|
||||||
cmbCoreType.SelectedIndex = (int)config.coreType;
|
|
||||||
txtautoUpdateInterval.Text = config.autoUpdateInterval.ToString();
|
txtautoUpdateInterval.Text = config.autoUpdateInterval.ToString();
|
||||||
|
chkEnableAutoAdjustMainLvColWidth.Checked = config.uiItem.enableAutoAdjustMainLvColWidth;
|
||||||
|
chkEnableSecurityProtocolTls13.Checked = config.enableSecurityProtocolTls13;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private void InitCoreType()
|
||||||
|
{
|
||||||
|
if (config.coreTypeItem == null)
|
||||||
|
{
|
||||||
|
config.coreTypeItem = new List<CoreTypeItem>();
|
||||||
|
}
|
||||||
|
|
||||||
|
foreach (EConfigType it in Enum.GetValues(typeof(EConfigType)))
|
||||||
|
{
|
||||||
|
if (config.coreTypeItem.FindIndex(t => t.configType == it) >= 0)
|
||||||
|
{
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
|
||||||
|
config.coreTypeItem.Add(new CoreTypeItem()
|
||||||
|
{
|
||||||
|
configType = it,
|
||||||
|
coreType = ECoreType.Xray
|
||||||
|
});
|
||||||
|
}
|
||||||
|
for (int k = 1; k <= config.coreTypeItem.Count; k++)
|
||||||
|
{
|
||||||
|
var item = config.coreTypeItem[k - 1];
|
||||||
|
((ComboBox)tabPageCoreType.Controls[$"cmbCoreType{k}"]).Items.AddRange(Global.coreTypes.ToArray());
|
||||||
|
tabPageCoreType.Controls[$"labCoreType{k}"].Text = item.configType.ToString();
|
||||||
|
tabPageCoreType.Controls[$"cmbCoreType{k}"].Text = item.coreType.ToString();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
private void btnOK_Click(object sender, EventArgs e)
|
private void btnOK_Click(object sender, EventArgs e)
|
||||||
{
|
{
|
||||||
if (SaveBase() != 0)
|
if (SaveBase() != 0)
|
||||||
@@ -143,6 +176,11 @@ namespace v2rayN.Forms
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (SaveCoreType() != 0)
|
||||||
|
{
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
if (ConfigHandler.SaveConfig(ref config) == 0)
|
if (ConfigHandler.SaveConfig(ref config) == 0)
|
||||||
{
|
{
|
||||||
this.DialogResult = DialogResult.OK;
|
this.DialogResult = DialogResult.OK;
|
||||||
@@ -181,6 +219,21 @@ namespace v2rayN.Forms
|
|||||||
UI.Show(UIRes.I18N("PleaseSelectProtocol"));
|
UI.Show(UIRes.I18N("PleaseSelectProtocol"));
|
||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
var remoteDNS = txtremoteDNS.Text.TrimEx();
|
||||||
|
var obj = Utils.ParseJson(remoteDNS);
|
||||||
|
if (obj != null && obj.ContainsKey("servers"))
|
||||||
|
{
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
if (remoteDNS.Contains("{") || remoteDNS.Contains("}"))
|
||||||
|
{
|
||||||
|
UI.Show(UIRes.I18N("FillCorrectDNSText"));
|
||||||
|
return -1;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
config.inbound[0].localPort = Utils.ToInt(localPort);
|
config.inbound[0].localPort = Utils.ToInt(localPort);
|
||||||
config.inbound[0].protocol = protocol;
|
config.inbound[0].protocol = protocol;
|
||||||
config.inbound[0].udpEnabled = udpEnabled;
|
config.inbound[0].udpEnabled = udpEnabled;
|
||||||
@@ -227,7 +280,7 @@ namespace v2rayN.Forms
|
|||||||
//Mux
|
//Mux
|
||||||
config.muxEnabled = muxEnabled;
|
config.muxEnabled = muxEnabled;
|
||||||
|
|
||||||
//remoteDNS
|
//remoteDNS
|
||||||
config.remoteDNS = txtremoteDNS.Text.TrimEx();
|
config.remoteDNS = txtremoteDNS.Text.TrimEx();
|
||||||
|
|
||||||
config.defAllowInsecure = chkdefAllowInsecure.Checked;
|
config.defAllowInsecure = chkdefAllowInsecure.Checked;
|
||||||
@@ -290,8 +343,20 @@ namespace v2rayN.Forms
|
|||||||
config.keepOlderDedupl = chkKeepOlderDedupl.Checked;
|
config.keepOlderDedupl = chkKeepOlderDedupl.Checked;
|
||||||
|
|
||||||
config.ignoreGeoUpdateCore = chkIgnoreGeoUpdateCore.Checked;
|
config.ignoreGeoUpdateCore = chkIgnoreGeoUpdateCore.Checked;
|
||||||
config.coreType = (ECoreType)cmbCoreType.SelectedIndex;
|
|
||||||
config.autoUpdateInterval = Utils.ToInt(txtautoUpdateInterval.Text);
|
config.autoUpdateInterval = Utils.ToInt(txtautoUpdateInterval.Text);
|
||||||
|
config.uiItem.enableAutoAdjustMainLvColWidth = chkEnableAutoAdjustMainLvColWidth.Checked;
|
||||||
|
config.enableSecurityProtocolTls13 = chkEnableSecurityProtocolTls13.Checked;
|
||||||
|
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
private int SaveCoreType()
|
||||||
|
{
|
||||||
|
for (int k = 1; k <= config.coreTypeItem.Count; k++)
|
||||||
|
{
|
||||||
|
var item = config.coreTypeItem[k - 1];
|
||||||
|
item.coreType = (ECoreType)Enum.Parse(typeof(ECoreType), tabPageCoreType.Controls[$"cmbCoreType{k}"].Text);
|
||||||
|
}
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
@@ -315,7 +380,12 @@ namespace v2rayN.Forms
|
|||||||
|
|
||||||
private void linkDnsObjectDoc_LinkClicked(object sender, LinkLabelLinkClickedEventArgs e)
|
private void linkDnsObjectDoc_LinkClicked(object sender, LinkLabelLinkClickedEventArgs e)
|
||||||
{
|
{
|
||||||
System.Diagnostics.Process.Start("https://www.v2fly.org/config/dns.html#dnsobject");
|
Process.Start("https://www.v2fly.org/config/dns.html#dnsobject");
|
||||||
|
}
|
||||||
|
|
||||||
|
private void btnSetLoopback_Click(object sender, EventArgs e)
|
||||||
|
{
|
||||||
|
Process.Start(Utils.GetPath("EnableLoopback.exe"));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -637,7 +637,7 @@
|
|||||||
<value>3, 3</value>
|
<value>3, 3</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="groupBox1.Size" type="System.Drawing.Size, System.Drawing">
|
<data name="groupBox1.Size" type="System.Drawing.Size, System.Drawing">
|
||||||
<value>648, 421</value>
|
<value>722, 421</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="groupBox1.TabIndex" type="System.Int32, mscorlib">
|
<data name="groupBox1.TabIndex" type="System.Int32, mscorlib">
|
||||||
<value>6</value>
|
<value>6</value>
|
||||||
@@ -661,7 +661,7 @@
|
|||||||
<value>3, 3, 3, 3</value>
|
<value>3, 3, 3, 3</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="tabPage1.Size" type="System.Drawing.Size, System.Drawing">
|
<data name="tabPage1.Size" type="System.Drawing.Size, System.Drawing">
|
||||||
<value>654, 427</value>
|
<value>728, 427</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="tabPage1.TabIndex" type="System.Int32, mscorlib">
|
<data name="tabPage1.TabIndex" type="System.Int32, mscorlib">
|
||||||
<value>0</value>
|
<value>0</value>
|
||||||
@@ -775,7 +775,7 @@
|
|||||||
<value>4, 22</value>
|
<value>4, 22</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="tabPage2.Size" type="System.Drawing.Size, System.Drawing">
|
<data name="tabPage2.Size" type="System.Drawing.Size, System.Drawing">
|
||||||
<value>654, 427</value>
|
<value>728, 427</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="tabPage2.TabIndex" type="System.Int32, mscorlib">
|
<data name="tabPage2.TabIndex" type="System.Int32, mscorlib">
|
||||||
<value>4</value>
|
<value>4</value>
|
||||||
@@ -1117,7 +1117,7 @@
|
|||||||
<value>3, 3, 3, 3</value>
|
<value>3, 3, 3, 3</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="tabPage6.Size" type="System.Drawing.Size, System.Drawing">
|
<data name="tabPage6.Size" type="System.Drawing.Size, System.Drawing">
|
||||||
<value>654, 427</value>
|
<value>728, 427</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="tabPage6.TabIndex" type="System.Int32, mscorlib">
|
<data name="tabPage6.TabIndex" type="System.Int32, mscorlib">
|
||||||
<value>2</value>
|
<value>2</value>
|
||||||
@@ -1137,6 +1137,87 @@
|
|||||||
<data name=">>tabPage6.ZOrder" xml:space="preserve">
|
<data name=">>tabPage6.ZOrder" xml:space="preserve">
|
||||||
<value>2</value>
|
<value>2</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="chkEnableSecurityProtocolTls13.Location" type="System.Drawing.Point, System.Drawing">
|
||||||
|
<value>15, 211</value>
|
||||||
|
</data>
|
||||||
|
<data name="chkEnableSecurityProtocolTls13.Size" type="System.Drawing.Size, System.Drawing">
|
||||||
|
<value>506, 16</value>
|
||||||
|
</data>
|
||||||
|
<data name="chkEnableSecurityProtocolTls13.TabIndex" type="System.Int32, mscorlib">
|
||||||
|
<value>41</value>
|
||||||
|
</data>
|
||||||
|
<data name="chkEnableSecurityProtocolTls13.Text" xml:space="preserve">
|
||||||
|
<value>Enable Security Protocol TLS v1.3 (subscription/update/speedtest)</value>
|
||||||
|
</data>
|
||||||
|
<data name=">>chkEnableSecurityProtocolTls13.Name" xml:space="preserve">
|
||||||
|
<value>chkEnableSecurityProtocolTls13</value>
|
||||||
|
</data>
|
||||||
|
<data name=">>chkEnableSecurityProtocolTls13.Type" xml:space="preserve">
|
||||||
|
<value>System.Windows.Forms.CheckBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||||
|
</data>
|
||||||
|
<data name=">>chkEnableSecurityProtocolTls13.Parent" xml:space="preserve">
|
||||||
|
<value>tabPage7</value>
|
||||||
|
</data>
|
||||||
|
<data name=">>chkEnableSecurityProtocolTls13.ZOrder" xml:space="preserve">
|
||||||
|
<value>0</value>
|
||||||
|
</data>
|
||||||
|
<data name="chkEnableAutoAdjustMainLvColWidth.AutoSize" type="System.Boolean, mscorlib">
|
||||||
|
<value>True</value>
|
||||||
|
</data>
|
||||||
|
<data name="chkEnableAutoAdjustMainLvColWidth.ImeMode" type="System.Windows.Forms.ImeMode, System.Windows.Forms">
|
||||||
|
<value>NoControl</value>
|
||||||
|
</data>
|
||||||
|
<data name="chkEnableAutoAdjustMainLvColWidth.Location" type="System.Drawing.Point, System.Drawing">
|
||||||
|
<value>15, 189</value>
|
||||||
|
</data>
|
||||||
|
<data name="chkEnableAutoAdjustMainLvColWidth.Size" type="System.Drawing.Size, System.Drawing">
|
||||||
|
<value>390, 16</value>
|
||||||
|
</data>
|
||||||
|
<data name="chkEnableAutoAdjustMainLvColWidth.TabIndex" type="System.Int32, mscorlib">
|
||||||
|
<value>40</value>
|
||||||
|
</data>
|
||||||
|
<data name="chkEnableAutoAdjustMainLvColWidth.Text" xml:space="preserve">
|
||||||
|
<value>Automatically adjust column width after updating subscription</value>
|
||||||
|
</data>
|
||||||
|
<data name=">>chkEnableAutoAdjustMainLvColWidth.Name" xml:space="preserve">
|
||||||
|
<value>chkEnableAutoAdjustMainLvColWidth</value>
|
||||||
|
</data>
|
||||||
|
<data name=">>chkEnableAutoAdjustMainLvColWidth.Type" xml:space="preserve">
|
||||||
|
<value>System.Windows.Forms.CheckBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||||
|
</data>
|
||||||
|
<data name=">>chkEnableAutoAdjustMainLvColWidth.Parent" xml:space="preserve">
|
||||||
|
<value>tabPage7</value>
|
||||||
|
</data>
|
||||||
|
<data name=">>chkEnableAutoAdjustMainLvColWidth.ZOrder" xml:space="preserve">
|
||||||
|
<value>1</value>
|
||||||
|
</data>
|
||||||
|
<data name="btnSetLoopback.ImeMode" type="System.Windows.Forms.ImeMode, System.Windows.Forms">
|
||||||
|
<value>NoControl</value>
|
||||||
|
</data>
|
||||||
|
<data name="btnSetLoopback.Location" type="System.Drawing.Point, System.Drawing">
|
||||||
|
<value>30, 376</value>
|
||||||
|
</data>
|
||||||
|
<data name="btnSetLoopback.Size" type="System.Drawing.Size, System.Drawing">
|
||||||
|
<value>282, 23</value>
|
||||||
|
</data>
|
||||||
|
<data name="btnSetLoopback.TabIndex" type="System.Int32, mscorlib">
|
||||||
|
<value>39</value>
|
||||||
|
</data>
|
||||||
|
<data name="btnSetLoopback.Text" xml:space="preserve">
|
||||||
|
<value>Set Windows10 UWP Loopback </value>
|
||||||
|
</data>
|
||||||
|
<data name=">>btnSetLoopback.Name" xml:space="preserve">
|
||||||
|
<value>btnSetLoopback</value>
|
||||||
|
</data>
|
||||||
|
<data name=">>btnSetLoopback.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=">>btnSetLoopback.Parent" xml:space="preserve">
|
||||||
|
<value>tabPage7</value>
|
||||||
|
</data>
|
||||||
|
<data name=">>btnSetLoopback.ZOrder" xml:space="preserve">
|
||||||
|
<value>2</value>
|
||||||
|
</data>
|
||||||
<data name="txtautoUpdateInterval.Location" type="System.Drawing.Point, System.Drawing">
|
<data name="txtautoUpdateInterval.Location" type="System.Drawing.Point, System.Drawing">
|
||||||
<value>325, 156</value>
|
<value>325, 156</value>
|
||||||
</data>
|
</data>
|
||||||
@@ -1156,7 +1237,7 @@
|
|||||||
<value>tabPage7</value>
|
<value>tabPage7</value>
|
||||||
</data>
|
</data>
|
||||||
<data name=">>txtautoUpdateInterval.ZOrder" xml:space="preserve">
|
<data name=">>txtautoUpdateInterval.ZOrder" xml:space="preserve">
|
||||||
<value>0</value>
|
<value>3</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="label15.AutoSize" type="System.Boolean, mscorlib">
|
<data name="label15.AutoSize" type="System.Boolean, mscorlib">
|
||||||
<value>True</value>
|
<value>True</value>
|
||||||
@@ -1186,7 +1267,7 @@
|
|||||||
<value>tabPage7</value>
|
<value>tabPage7</value>
|
||||||
</data>
|
</data>
|
||||||
<data name=">>label15.ZOrder" xml:space="preserve">
|
<data name=">>label15.ZOrder" xml:space="preserve">
|
||||||
<value>1</value>
|
<value>4</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="chkIgnoreGeoUpdateCore.AutoSize" type="System.Boolean, mscorlib">
|
<data name="chkIgnoreGeoUpdateCore.AutoSize" type="System.Boolean, mscorlib">
|
||||||
<value>True</value>
|
<value>True</value>
|
||||||
@@ -1216,64 +1297,7 @@
|
|||||||
<value>tabPage7</value>
|
<value>tabPage7</value>
|
||||||
</data>
|
</data>
|
||||||
<data name=">>chkIgnoreGeoUpdateCore.ZOrder" xml:space="preserve">
|
<data name=">>chkIgnoreGeoUpdateCore.ZOrder" xml:space="preserve">
|
||||||
<value>2</value>
|
<value>5</value>
|
||||||
</data>
|
|
||||||
<data name="cmbCoreType.Items" xml:space="preserve">
|
|
||||||
<value>v2fly_core</value>
|
|
||||||
</data>
|
|
||||||
<data name="cmbCoreType.Items1" xml:space="preserve">
|
|
||||||
<value>Xray_core</value>
|
|
||||||
</data>
|
|
||||||
<data name="cmbCoreType.Location" type="System.Drawing.Point, System.Drawing">
|
|
||||||
<value>325, 130</value>
|
|
||||||
</data>
|
|
||||||
<data name="cmbCoreType.Size" type="System.Drawing.Size, System.Drawing">
|
|
||||||
<value>97, 20</value>
|
|
||||||
</data>
|
|
||||||
<data name="cmbCoreType.TabIndex" type="System.Int32, mscorlib">
|
|
||||||
<value>34</value>
|
|
||||||
</data>
|
|
||||||
<data name=">>cmbCoreType.Name" xml:space="preserve">
|
|
||||||
<value>cmbCoreType</value>
|
|
||||||
</data>
|
|
||||||
<data name=">>cmbCoreType.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=">>cmbCoreType.Parent" xml:space="preserve">
|
|
||||||
<value>tabPage7</value>
|
|
||||||
</data>
|
|
||||||
<data name=">>cmbCoreType.ZOrder" xml:space="preserve">
|
|
||||||
<value>3</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>253, 134</value>
|
|
||||||
</data>
|
|
||||||
<data name="label4.Size" type="System.Drawing.Size, System.Drawing">
|
|
||||||
<value>59, 12</value>
|
|
||||||
</data>
|
|
||||||
<data name="label4.TabIndex" type="System.Int32, mscorlib">
|
|
||||||
<value>35</value>
|
|
||||||
</data>
|
|
||||||
<data name="label4.Text" xml:space="preserve">
|
|
||||||
<value>Core Type</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>tabPage7</value>
|
|
||||||
</data>
|
|
||||||
<data name=">>label4.ZOrder" xml:space="preserve">
|
|
||||||
<value>4</value>
|
|
||||||
</data>
|
</data>
|
||||||
<data name="chkKeepOlderDedupl.AutoSize" type="System.Boolean, mscorlib">
|
<data name="chkKeepOlderDedupl.AutoSize" type="System.Boolean, mscorlib">
|
||||||
<value>True</value>
|
<value>True</value>
|
||||||
@@ -1303,7 +1327,7 @@
|
|||||||
<value>tabPage7</value>
|
<value>tabPage7</value>
|
||||||
</data>
|
</data>
|
||||||
<data name=">>chkKeepOlderDedupl.ZOrder" xml:space="preserve">
|
<data name=">>chkKeepOlderDedupl.ZOrder" xml:space="preserve">
|
||||||
<value>5</value>
|
<value>6</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="cbFreshrate.Location" type="System.Drawing.Point, System.Drawing">
|
<data name="cbFreshrate.Location" type="System.Drawing.Point, System.Drawing">
|
||||||
<value>161, 84</value>
|
<value>161, 84</value>
|
||||||
@@ -1324,7 +1348,7 @@
|
|||||||
<value>tabPage7</value>
|
<value>tabPage7</value>
|
||||||
</data>
|
</data>
|
||||||
<data name=">>cbFreshrate.ZOrder" xml:space="preserve">
|
<data name=">>cbFreshrate.ZOrder" xml:space="preserve">
|
||||||
<value>6</value>
|
<value>7</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="lbFreshrate.AutoSize" type="System.Boolean, mscorlib">
|
<data name="lbFreshrate.AutoSize" type="System.Boolean, mscorlib">
|
||||||
<value>True</value>
|
<value>True</value>
|
||||||
@@ -1354,7 +1378,7 @@
|
|||||||
<value>tabPage7</value>
|
<value>tabPage7</value>
|
||||||
</data>
|
</data>
|
||||||
<data name=">>lbFreshrate.ZOrder" xml:space="preserve">
|
<data name=">>lbFreshrate.ZOrder" xml:space="preserve">
|
||||||
<value>7</value>
|
<value>8</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="chkEnableStatistics.AutoSize" type="System.Boolean, mscorlib">
|
<data name="chkEnableStatistics.AutoSize" type="System.Boolean, mscorlib">
|
||||||
<value>True</value>
|
<value>True</value>
|
||||||
@@ -1384,7 +1408,7 @@
|
|||||||
<value>tabPage7</value>
|
<value>tabPage7</value>
|
||||||
</data>
|
</data>
|
||||||
<data name=">>chkEnableStatistics.ZOrder" xml:space="preserve">
|
<data name=">>chkEnableStatistics.ZOrder" xml:space="preserve">
|
||||||
<value>8</value>
|
<value>9</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="chkAllowLANConn.AutoSize" type="System.Boolean, mscorlib">
|
<data name="chkAllowLANConn.AutoSize" type="System.Boolean, mscorlib">
|
||||||
<value>True</value>
|
<value>True</value>
|
||||||
@@ -1411,7 +1435,7 @@
|
|||||||
<value>tabPage7</value>
|
<value>tabPage7</value>
|
||||||
</data>
|
</data>
|
||||||
<data name=">>chkAllowLANConn.ZOrder" xml:space="preserve">
|
<data name=">>chkAllowLANConn.ZOrder" xml:space="preserve">
|
||||||
<value>9</value>
|
<value>10</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="chkAutoRun.AutoSize" type="System.Boolean, mscorlib">
|
<data name="chkAutoRun.AutoSize" type="System.Boolean, mscorlib">
|
||||||
<value>True</value>
|
<value>True</value>
|
||||||
@@ -1438,7 +1462,7 @@
|
|||||||
<value>tabPage7</value>
|
<value>tabPage7</value>
|
||||||
</data>
|
</data>
|
||||||
<data name=">>chkAutoRun.ZOrder" xml:space="preserve">
|
<data name=">>chkAutoRun.ZOrder" xml:space="preserve">
|
||||||
<value>10</value>
|
<value>11</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="tabPage7.Location" type="System.Drawing.Point, System.Drawing">
|
<data name="tabPage7.Location" type="System.Drawing.Point, System.Drawing">
|
||||||
<value>4, 22</value>
|
<value>4, 22</value>
|
||||||
@@ -1447,7 +1471,7 @@
|
|||||||
<value>3, 3, 3, 3</value>
|
<value>3, 3, 3, 3</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="tabPage7.Size" type="System.Drawing.Size, System.Drawing">
|
<data name="tabPage7.Size" type="System.Drawing.Size, System.Drawing">
|
||||||
<value>654, 427</value>
|
<value>728, 427</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="tabPage7.TabIndex" type="System.Int32, mscorlib">
|
<data name="tabPage7.TabIndex" type="System.Int32, mscorlib">
|
||||||
<value>3</value>
|
<value>3</value>
|
||||||
@@ -1467,6 +1491,339 @@
|
|||||||
<data name=">>tabPage7.ZOrder" xml:space="preserve">
|
<data name=">>tabPage7.ZOrder" xml:space="preserve">
|
||||||
<value>3</value>
|
<value>3</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="cmbCoreType6.Location" type="System.Drawing.Point, System.Drawing">
|
||||||
|
<value>117, 172</value>
|
||||||
|
</data>
|
||||||
|
<data name="cmbCoreType6.Size" type="System.Drawing.Size, System.Drawing">
|
||||||
|
<value>143, 20</value>
|
||||||
|
</data>
|
||||||
|
<data name="cmbCoreType6.TabIndex" type="System.Int32, mscorlib">
|
||||||
|
<value>46</value>
|
||||||
|
</data>
|
||||||
|
<data name=">>cmbCoreType6.Name" xml:space="preserve">
|
||||||
|
<value>cmbCoreType6</value>
|
||||||
|
</data>
|
||||||
|
<data name=">>cmbCoreType6.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=">>cmbCoreType6.Parent" xml:space="preserve">
|
||||||
|
<value>tabPageCoreType</value>
|
||||||
|
</data>
|
||||||
|
<data name=">>cmbCoreType6.ZOrder" xml:space="preserve">
|
||||||
|
<value>0</value>
|
||||||
|
</data>
|
||||||
|
<data name="labCoreType6.AutoSize" type="System.Boolean, mscorlib">
|
||||||
|
<value>True</value>
|
||||||
|
</data>
|
||||||
|
<data name="labCoreType6.ImeMode" type="System.Windows.Forms.ImeMode, System.Windows.Forms">
|
||||||
|
<value>NoControl</value>
|
||||||
|
</data>
|
||||||
|
<data name="labCoreType6.Location" type="System.Drawing.Point, System.Drawing">
|
||||||
|
<value>45, 176</value>
|
||||||
|
</data>
|
||||||
|
<data name="labCoreType6.Size" type="System.Drawing.Size, System.Drawing">
|
||||||
|
<value>59, 12</value>
|
||||||
|
</data>
|
||||||
|
<data name="labCoreType6.TabIndex" type="System.Int32, mscorlib">
|
||||||
|
<value>47</value>
|
||||||
|
</data>
|
||||||
|
<data name="labCoreType6.Text" xml:space="preserve">
|
||||||
|
<value>Core Type</value>
|
||||||
|
</data>
|
||||||
|
<data name=">>labCoreType6.Name" xml:space="preserve">
|
||||||
|
<value>labCoreType6</value>
|
||||||
|
</data>
|
||||||
|
<data name=">>labCoreType6.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=">>labCoreType6.Parent" xml:space="preserve">
|
||||||
|
<value>tabPageCoreType</value>
|
||||||
|
</data>
|
||||||
|
<data name=">>labCoreType6.ZOrder" xml:space="preserve">
|
||||||
|
<value>1</value>
|
||||||
|
</data>
|
||||||
|
<data name="cmbCoreType5.Location" type="System.Drawing.Point, System.Drawing">
|
||||||
|
<value>117, 146</value>
|
||||||
|
</data>
|
||||||
|
<data name="cmbCoreType5.Size" type="System.Drawing.Size, System.Drawing">
|
||||||
|
<value>143, 20</value>
|
||||||
|
</data>
|
||||||
|
<data name="cmbCoreType5.TabIndex" type="System.Int32, mscorlib">
|
||||||
|
<value>44</value>
|
||||||
|
</data>
|
||||||
|
<data name=">>cmbCoreType5.Name" xml:space="preserve">
|
||||||
|
<value>cmbCoreType5</value>
|
||||||
|
</data>
|
||||||
|
<data name=">>cmbCoreType5.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=">>cmbCoreType5.Parent" xml:space="preserve">
|
||||||
|
<value>tabPageCoreType</value>
|
||||||
|
</data>
|
||||||
|
<data name=">>cmbCoreType5.ZOrder" xml:space="preserve">
|
||||||
|
<value>2</value>
|
||||||
|
</data>
|
||||||
|
<data name="labCoreType5.AutoSize" type="System.Boolean, mscorlib">
|
||||||
|
<value>True</value>
|
||||||
|
</data>
|
||||||
|
<data name="labCoreType5.ImeMode" type="System.Windows.Forms.ImeMode, System.Windows.Forms">
|
||||||
|
<value>NoControl</value>
|
||||||
|
</data>
|
||||||
|
<data name="labCoreType5.Location" type="System.Drawing.Point, System.Drawing">
|
||||||
|
<value>45, 150</value>
|
||||||
|
</data>
|
||||||
|
<data name="labCoreType5.Size" type="System.Drawing.Size, System.Drawing">
|
||||||
|
<value>59, 12</value>
|
||||||
|
</data>
|
||||||
|
<data name="labCoreType5.TabIndex" type="System.Int32, mscorlib">
|
||||||
|
<value>45</value>
|
||||||
|
</data>
|
||||||
|
<data name="labCoreType5.Text" xml:space="preserve">
|
||||||
|
<value>Core Type</value>
|
||||||
|
</data>
|
||||||
|
<data name=">>labCoreType5.Name" xml:space="preserve">
|
||||||
|
<value>labCoreType5</value>
|
||||||
|
</data>
|
||||||
|
<data name=">>labCoreType5.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=">>labCoreType5.Parent" xml:space="preserve">
|
||||||
|
<value>tabPageCoreType</value>
|
||||||
|
</data>
|
||||||
|
<data name=">>labCoreType5.ZOrder" xml:space="preserve">
|
||||||
|
<value>3</value>
|
||||||
|
</data>
|
||||||
|
<data name="cmbCoreType4.Location" type="System.Drawing.Point, System.Drawing">
|
||||||
|
<value>117, 120</value>
|
||||||
|
</data>
|
||||||
|
<data name="cmbCoreType4.Size" type="System.Drawing.Size, System.Drawing">
|
||||||
|
<value>143, 20</value>
|
||||||
|
</data>
|
||||||
|
<data name="cmbCoreType4.TabIndex" type="System.Int32, mscorlib">
|
||||||
|
<value>42</value>
|
||||||
|
</data>
|
||||||
|
<data name=">>cmbCoreType4.Name" xml:space="preserve">
|
||||||
|
<value>cmbCoreType4</value>
|
||||||
|
</data>
|
||||||
|
<data name=">>cmbCoreType4.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=">>cmbCoreType4.Parent" xml:space="preserve">
|
||||||
|
<value>tabPageCoreType</value>
|
||||||
|
</data>
|
||||||
|
<data name=">>cmbCoreType4.ZOrder" xml:space="preserve">
|
||||||
|
<value>4</value>
|
||||||
|
</data>
|
||||||
|
<data name="labCoreType4.AutoSize" type="System.Boolean, mscorlib">
|
||||||
|
<value>True</value>
|
||||||
|
</data>
|
||||||
|
<data name="labCoreType4.ImeMode" type="System.Windows.Forms.ImeMode, System.Windows.Forms">
|
||||||
|
<value>NoControl</value>
|
||||||
|
</data>
|
||||||
|
<data name="labCoreType4.Location" type="System.Drawing.Point, System.Drawing">
|
||||||
|
<value>45, 124</value>
|
||||||
|
</data>
|
||||||
|
<data name="labCoreType4.Size" type="System.Drawing.Size, System.Drawing">
|
||||||
|
<value>59, 12</value>
|
||||||
|
</data>
|
||||||
|
<data name="labCoreType4.TabIndex" type="System.Int32, mscorlib">
|
||||||
|
<value>43</value>
|
||||||
|
</data>
|
||||||
|
<data name="labCoreType4.Text" xml:space="preserve">
|
||||||
|
<value>Core Type</value>
|
||||||
|
</data>
|
||||||
|
<data name=">>labCoreType4.Name" xml:space="preserve">
|
||||||
|
<value>labCoreType4</value>
|
||||||
|
</data>
|
||||||
|
<data name=">>labCoreType4.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=">>labCoreType4.Parent" xml:space="preserve">
|
||||||
|
<value>tabPageCoreType</value>
|
||||||
|
</data>
|
||||||
|
<data name=">>labCoreType4.ZOrder" xml:space="preserve">
|
||||||
|
<value>5</value>
|
||||||
|
</data>
|
||||||
|
<data name="cmbCoreType3.Location" type="System.Drawing.Point, System.Drawing">
|
||||||
|
<value>117, 94</value>
|
||||||
|
</data>
|
||||||
|
<data name="cmbCoreType3.Size" type="System.Drawing.Size, System.Drawing">
|
||||||
|
<value>143, 20</value>
|
||||||
|
</data>
|
||||||
|
<data name="cmbCoreType3.TabIndex" type="System.Int32, mscorlib">
|
||||||
|
<value>40</value>
|
||||||
|
</data>
|
||||||
|
<data name=">>cmbCoreType3.Name" xml:space="preserve">
|
||||||
|
<value>cmbCoreType3</value>
|
||||||
|
</data>
|
||||||
|
<data name=">>cmbCoreType3.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=">>cmbCoreType3.Parent" xml:space="preserve">
|
||||||
|
<value>tabPageCoreType</value>
|
||||||
|
</data>
|
||||||
|
<data name=">>cmbCoreType3.ZOrder" xml:space="preserve">
|
||||||
|
<value>6</value>
|
||||||
|
</data>
|
||||||
|
<data name="labCoreType3.AutoSize" type="System.Boolean, mscorlib">
|
||||||
|
<value>True</value>
|
||||||
|
</data>
|
||||||
|
<data name="labCoreType3.ImeMode" type="System.Windows.Forms.ImeMode, System.Windows.Forms">
|
||||||
|
<value>NoControl</value>
|
||||||
|
</data>
|
||||||
|
<data name="labCoreType3.Location" type="System.Drawing.Point, System.Drawing">
|
||||||
|
<value>45, 98</value>
|
||||||
|
</data>
|
||||||
|
<data name="labCoreType3.Size" type="System.Drawing.Size, System.Drawing">
|
||||||
|
<value>59, 12</value>
|
||||||
|
</data>
|
||||||
|
<data name="labCoreType3.TabIndex" type="System.Int32, mscorlib">
|
||||||
|
<value>41</value>
|
||||||
|
</data>
|
||||||
|
<data name="labCoreType3.Text" xml:space="preserve">
|
||||||
|
<value>Core Type</value>
|
||||||
|
</data>
|
||||||
|
<data name=">>labCoreType3.Name" xml:space="preserve">
|
||||||
|
<value>labCoreType3</value>
|
||||||
|
</data>
|
||||||
|
<data name=">>labCoreType3.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=">>labCoreType3.Parent" xml:space="preserve">
|
||||||
|
<value>tabPageCoreType</value>
|
||||||
|
</data>
|
||||||
|
<data name=">>labCoreType3.ZOrder" xml:space="preserve">
|
||||||
|
<value>7</value>
|
||||||
|
</data>
|
||||||
|
<data name="cmbCoreType2.Location" type="System.Drawing.Point, System.Drawing">
|
||||||
|
<value>117, 68</value>
|
||||||
|
</data>
|
||||||
|
<data name="cmbCoreType2.Size" type="System.Drawing.Size, System.Drawing">
|
||||||
|
<value>143, 20</value>
|
||||||
|
</data>
|
||||||
|
<data name="cmbCoreType2.TabIndex" type="System.Int32, mscorlib">
|
||||||
|
<value>38</value>
|
||||||
|
</data>
|
||||||
|
<data name=">>cmbCoreType2.Name" xml:space="preserve">
|
||||||
|
<value>cmbCoreType2</value>
|
||||||
|
</data>
|
||||||
|
<data name=">>cmbCoreType2.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=">>cmbCoreType2.Parent" xml:space="preserve">
|
||||||
|
<value>tabPageCoreType</value>
|
||||||
|
</data>
|
||||||
|
<data name=">>cmbCoreType2.ZOrder" xml:space="preserve">
|
||||||
|
<value>8</value>
|
||||||
|
</data>
|
||||||
|
<data name="labCoreType2.AutoSize" type="System.Boolean, mscorlib">
|
||||||
|
<value>True</value>
|
||||||
|
</data>
|
||||||
|
<data name="labCoreType2.ImeMode" type="System.Windows.Forms.ImeMode, System.Windows.Forms">
|
||||||
|
<value>NoControl</value>
|
||||||
|
</data>
|
||||||
|
<data name="labCoreType2.Location" type="System.Drawing.Point, System.Drawing">
|
||||||
|
<value>45, 72</value>
|
||||||
|
</data>
|
||||||
|
<data name="labCoreType2.Size" type="System.Drawing.Size, System.Drawing">
|
||||||
|
<value>59, 12</value>
|
||||||
|
</data>
|
||||||
|
<data name="labCoreType2.TabIndex" type="System.Int32, mscorlib">
|
||||||
|
<value>39</value>
|
||||||
|
</data>
|
||||||
|
<data name="labCoreType2.Text" xml:space="preserve">
|
||||||
|
<value>Core Type</value>
|
||||||
|
</data>
|
||||||
|
<data name=">>labCoreType2.Name" xml:space="preserve">
|
||||||
|
<value>labCoreType2</value>
|
||||||
|
</data>
|
||||||
|
<data name=">>labCoreType2.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=">>labCoreType2.Parent" xml:space="preserve">
|
||||||
|
<value>tabPageCoreType</value>
|
||||||
|
</data>
|
||||||
|
<data name=">>labCoreType2.ZOrder" xml:space="preserve">
|
||||||
|
<value>9</value>
|
||||||
|
</data>
|
||||||
|
<data name="cmbCoreType1.Location" type="System.Drawing.Point, System.Drawing">
|
||||||
|
<value>117, 42</value>
|
||||||
|
</data>
|
||||||
|
<data name="cmbCoreType1.Size" type="System.Drawing.Size, System.Drawing">
|
||||||
|
<value>143, 20</value>
|
||||||
|
</data>
|
||||||
|
<data name="cmbCoreType1.TabIndex" type="System.Int32, mscorlib">
|
||||||
|
<value>36</value>
|
||||||
|
</data>
|
||||||
|
<data name=">>cmbCoreType1.Name" xml:space="preserve">
|
||||||
|
<value>cmbCoreType1</value>
|
||||||
|
</data>
|
||||||
|
<data name=">>cmbCoreType1.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=">>cmbCoreType1.Parent" xml:space="preserve">
|
||||||
|
<value>tabPageCoreType</value>
|
||||||
|
</data>
|
||||||
|
<data name=">>cmbCoreType1.ZOrder" xml:space="preserve">
|
||||||
|
<value>10</value>
|
||||||
|
</data>
|
||||||
|
<data name="labCoreType1.AutoSize" type="System.Boolean, mscorlib">
|
||||||
|
<value>True</value>
|
||||||
|
</data>
|
||||||
|
<data name="labCoreType1.ImeMode" type="System.Windows.Forms.ImeMode, System.Windows.Forms">
|
||||||
|
<value>NoControl</value>
|
||||||
|
</data>
|
||||||
|
<data name="labCoreType1.Location" type="System.Drawing.Point, System.Drawing">
|
||||||
|
<value>45, 46</value>
|
||||||
|
</data>
|
||||||
|
<data name="labCoreType1.Size" type="System.Drawing.Size, System.Drawing">
|
||||||
|
<value>59, 12</value>
|
||||||
|
</data>
|
||||||
|
<data name="labCoreType1.TabIndex" type="System.Int32, mscorlib">
|
||||||
|
<value>37</value>
|
||||||
|
</data>
|
||||||
|
<data name="labCoreType1.Text" xml:space="preserve">
|
||||||
|
<value>Core Type</value>
|
||||||
|
</data>
|
||||||
|
<data name=">>labCoreType1.Name" xml:space="preserve">
|
||||||
|
<value>labCoreType1</value>
|
||||||
|
</data>
|
||||||
|
<data name=">>labCoreType1.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=">>labCoreType1.Parent" xml:space="preserve">
|
||||||
|
<value>tabPageCoreType</value>
|
||||||
|
</data>
|
||||||
|
<data name=">>labCoreType1.ZOrder" xml:space="preserve">
|
||||||
|
<value>11</value>
|
||||||
|
</data>
|
||||||
|
<data name="tabPageCoreType.Location" type="System.Drawing.Point, System.Drawing">
|
||||||
|
<value>4, 22</value>
|
||||||
|
</data>
|
||||||
|
<data name="tabPageCoreType.Padding" type="System.Windows.Forms.Padding, System.Windows.Forms">
|
||||||
|
<value>3, 3, 3, 3</value>
|
||||||
|
</data>
|
||||||
|
<data name="tabPageCoreType.Size" type="System.Drawing.Size, System.Drawing">
|
||||||
|
<value>728, 427</value>
|
||||||
|
</data>
|
||||||
|
<data name="tabPageCoreType.TabIndex" type="System.Int32, mscorlib">
|
||||||
|
<value>6</value>
|
||||||
|
</data>
|
||||||
|
<data name="tabPageCoreType.Text" xml:space="preserve">
|
||||||
|
<value>CoreType settings</value>
|
||||||
|
</data>
|
||||||
|
<data name=">>tabPageCoreType.Name" xml:space="preserve">
|
||||||
|
<value>tabPageCoreType</value>
|
||||||
|
</data>
|
||||||
|
<data name=">>tabPageCoreType.Type" xml:space="preserve">
|
||||||
|
<value>System.Windows.Forms.TabPage, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||||
|
</data>
|
||||||
|
<data name=">>tabPageCoreType.Parent" xml:space="preserve">
|
||||||
|
<value>tabControl1</value>
|
||||||
|
</data>
|
||||||
|
<data name=">>tabPageCoreType.ZOrder" xml:space="preserve">
|
||||||
|
<value>4</value>
|
||||||
|
</data>
|
||||||
<data name="label13.AutoSize" type="System.Boolean, mscorlib">
|
<data name="label13.AutoSize" type="System.Boolean, mscorlib">
|
||||||
<value>True</value>
|
<value>True</value>
|
||||||
</data>
|
</data>
|
||||||
@@ -1561,7 +1918,7 @@
|
|||||||
<value>0, 0</value>
|
<value>0, 0</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="groupBox2.Size" type="System.Drawing.Size, System.Drawing">
|
<data name="groupBox2.Size" type="System.Drawing.Size, System.Drawing">
|
||||||
<value>654, 427</value>
|
<value>728, 427</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="groupBox2.TabIndex" type="System.Int32, mscorlib">
|
<data name="groupBox2.TabIndex" type="System.Int32, mscorlib">
|
||||||
<value>42</value>
|
<value>42</value>
|
||||||
@@ -1585,7 +1942,7 @@
|
|||||||
<value>4, 22</value>
|
<value>4, 22</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="tabPage3.Size" type="System.Drawing.Size, System.Drawing">
|
<data name="tabPage3.Size" type="System.Drawing.Size, System.Drawing">
|
||||||
<value>654, 427</value>
|
<value>728, 427</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="tabPage3.TabIndex" type="System.Int32, mscorlib">
|
<data name="tabPage3.TabIndex" type="System.Int32, mscorlib">
|
||||||
<value>5</value>
|
<value>5</value>
|
||||||
@@ -1603,7 +1960,7 @@
|
|||||||
<value>tabControl1</value>
|
<value>tabControl1</value>
|
||||||
</data>
|
</data>
|
||||||
<data name=">>tabPage3.ZOrder" xml:space="preserve">
|
<data name=">>tabPage3.ZOrder" xml:space="preserve">
|
||||||
<value>4</value>
|
<value>5</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="tabControl1.Dock" type="System.Windows.Forms.DockStyle, System.Windows.Forms">
|
<data name="tabControl1.Dock" type="System.Windows.Forms.DockStyle, System.Windows.Forms">
|
||||||
<value>Fill</value>
|
<value>Fill</value>
|
||||||
@@ -1612,7 +1969,7 @@
|
|||||||
<value>0, 10</value>
|
<value>0, 10</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="tabControl1.Size" type="System.Drawing.Size, System.Drawing">
|
<data name="tabControl1.Size" type="System.Drawing.Size, System.Drawing">
|
||||||
<value>662, 453</value>
|
<value>736, 453</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="tabControl1.TabIndex" type="System.Int32, mscorlib">
|
<data name="tabControl1.TabIndex" type="System.Int32, mscorlib">
|
||||||
<value>10</value>
|
<value>10</value>
|
||||||
@@ -1660,7 +2017,7 @@
|
|||||||
<value>0, 463</value>
|
<value>0, 463</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="panel2.Size" type="System.Drawing.Size, System.Drawing">
|
<data name="panel2.Size" type="System.Drawing.Size, System.Drawing">
|
||||||
<value>662, 60</value>
|
<value>736, 60</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="panel2.TabIndex" type="System.Int32, mscorlib">
|
<data name="panel2.TabIndex" type="System.Int32, mscorlib">
|
||||||
<value>11</value>
|
<value>11</value>
|
||||||
@@ -1684,7 +2041,7 @@
|
|||||||
<value>0, 0</value>
|
<value>0, 0</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="panel1.Size" type="System.Drawing.Size, System.Drawing">
|
<data name="panel1.Size" type="System.Drawing.Size, System.Drawing">
|
||||||
<value>662, 10</value>
|
<value>736, 10</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="panel1.TabIndex" type="System.Int32, mscorlib">
|
<data name="panel1.TabIndex" type="System.Int32, mscorlib">
|
||||||
<value>9</value>
|
<value>9</value>
|
||||||
@@ -1708,7 +2065,7 @@
|
|||||||
<value>6, 12</value>
|
<value>6, 12</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="$this.ClientSize" type="System.Drawing.Size, System.Drawing">
|
<data name="$this.ClientSize" type="System.Drawing.Size, System.Drawing">
|
||||||
<value>662, 523</value>
|
<value>736, 523</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="$this.Margin" type="System.Windows.Forms.Padding, System.Windows.Forms">
|
<data name="$this.Margin" type="System.Windows.Forms.Padding, System.Windows.Forms">
|
||||||
<value>4, 4, 4, 4</value>
|
<value>4, 4, 4, 4</value>
|
||||||
|
|||||||
@@ -121,23 +121,11 @@
|
|||||||
<value>取消(&C)</value>
|
<value>取消(&C)</value>
|
||||||
</data>
|
</data>
|
||||||
<assembly alias="System.Drawing" name="System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
|
<assembly alias="System.Drawing" name="System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
|
||||||
<data name="tabControl1.Size" type="System.Drawing.Size, System.Drawing">
|
|
||||||
<value>662, 469</value>
|
|
||||||
</data>
|
|
||||||
<data name="tabPage1.Size" type="System.Drawing.Size, System.Drawing">
|
|
||||||
<value>654, 443</value>
|
|
||||||
</data>
|
|
||||||
<data name="tabPage1.Text" xml:space="preserve">
|
|
||||||
<value> Core:基础设置 </value>
|
|
||||||
</data>
|
|
||||||
<data name="groupBox1.Size" type="System.Drawing.Size, System.Drawing">
|
|
||||||
<value>648, 437</value>
|
|
||||||
</data>
|
|
||||||
<data name="chkdefAllowInsecure.Size" type="System.Drawing.Size, System.Drawing">
|
<data name="chkdefAllowInsecure.Size" type="System.Drawing.Size, System.Drawing">
|
||||||
<value>336, 16</value>
|
<value>324, 16</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="chkdefAllowInsecure.Text" xml:space="preserve">
|
<data name="chkdefAllowInsecure.Text" xml:space="preserve">
|
||||||
<value>底层传输安全选tls时,默认跳过证书验证(allowInsecure)</value>
|
<value>传输层安全选tls时,默认跳过证书验证(allowInsecure)</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="chksniffingEnabled2.Size" type="System.Drawing.Size, System.Drawing">
|
<data name="chksniffingEnabled2.Size" type="System.Drawing.Size, System.Drawing">
|
||||||
<value>96, 16</value>
|
<value>96, 16</value>
|
||||||
@@ -205,11 +193,14 @@
|
|||||||
<data name="label2.Text" xml:space="preserve">
|
<data name="label2.Text" xml:space="preserve">
|
||||||
<value>本地监听端口</value>
|
<value>本地监听端口</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="tabPage2.Size" type="System.Drawing.Size, System.Drawing">
|
<data name="groupBox1.Size" type="System.Drawing.Size, System.Drawing">
|
||||||
|
<value>648, 437</value>
|
||||||
|
</data>
|
||||||
|
<data name="tabPage1.Size" type="System.Drawing.Size, System.Drawing">
|
||||||
<value>654, 443</value>
|
<value>654, 443</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="tabPage2.Text" xml:space="preserve">
|
<data name="tabPage1.Text" xml:space="preserve">
|
||||||
<value> Core:DNS设置 </value>
|
<value> Core:基础设置 </value>
|
||||||
</data>
|
</data>
|
||||||
<data name="linkDnsObjectDoc.Size" type="System.Drawing.Size, System.Drawing">
|
<data name="linkDnsObjectDoc.Size" type="System.Drawing.Size, System.Drawing">
|
||||||
<value>161, 12</value>
|
<value>161, 12</value>
|
||||||
@@ -223,17 +214,29 @@
|
|||||||
<data name="label14.Text" xml:space="preserve">
|
<data name="label14.Text" xml:space="preserve">
|
||||||
<value>自定义DNS(可多个,用逗号(,)隔开)</value>
|
<value>自定义DNS(可多个,用逗号(,)隔开)</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="tabPage2.Size" type="System.Drawing.Size, System.Drawing">
|
||||||
|
<value>654, 443</value>
|
||||||
|
</data>
|
||||||
|
<data name="tabPage2.Text" xml:space="preserve">
|
||||||
|
<value> Core:DNS设置 </value>
|
||||||
|
</data>
|
||||||
<data name="tabPage6.Size" type="System.Drawing.Size, System.Drawing">
|
<data name="tabPage6.Size" type="System.Drawing.Size, System.Drawing">
|
||||||
<value>654, 443</value>
|
<value>654, 443</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="tabPage6.Text" xml:space="preserve">
|
<data name="tabPage6.Text" xml:space="preserve">
|
||||||
<value> Core:KCP设置 </value>
|
<value> Core:KCP设置 </value>
|
||||||
</data>
|
</data>
|
||||||
<data name="tabPage7.Size" type="System.Drawing.Size, System.Drawing">
|
<data name="chkEnableSecurityProtocolTls13.Text" xml:space="preserve">
|
||||||
<value>654, 443</value>
|
<value>启用安全协议TLS v1.3 (订阅/检查更新/测速)</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="tabPage7.Text" xml:space="preserve">
|
<data name="chkEnableAutoAdjustMainLvColWidth.Size" type="System.Drawing.Size, System.Drawing">
|
||||||
<value> v2rayN设置 </value>
|
<value>204, 16</value>
|
||||||
|
</data>
|
||||||
|
<data name="chkEnableAutoAdjustMainLvColWidth.Text" xml:space="preserve">
|
||||||
|
<value>自动调整服务器列宽在更新订阅后</value>
|
||||||
|
</data>
|
||||||
|
<data name="btnSetLoopback.Text" xml:space="preserve">
|
||||||
|
<value>解除Windows10 UWP应用回环代理限制</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="txtautoUpdateInterval.Location" type="System.Drawing.Point, System.Drawing">
|
<data name="txtautoUpdateInterval.Location" type="System.Drawing.Point, System.Drawing">
|
||||||
<value>255, 156</value>
|
<value>255, 156</value>
|
||||||
@@ -286,17 +289,11 @@
|
|||||||
<data name="chkAutoRun.Text" xml:space="preserve">
|
<data name="chkAutoRun.Text" xml:space="preserve">
|
||||||
<value>开机自动启动(可能会不成功)</value>
|
<value>开机自动启动(可能会不成功)</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="tabPage3.Size" type="System.Drawing.Size, System.Drawing">
|
<data name="tabPage7.Size" type="System.Drawing.Size, System.Drawing">
|
||||||
<value>654, 443</value>
|
<value>654, 443</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="tabPage3.Text" xml:space="preserve">
|
<data name="tabPage7.Text" xml:space="preserve">
|
||||||
<value> 系统代理设置 </value>
|
<value> v2rayN设置 </value>
|
||||||
</data>
|
|
||||||
<data name="groupBox2.Size" type="System.Drawing.Size, System.Drawing">
|
|
||||||
<value>654, 443</value>
|
|
||||||
</data>
|
|
||||||
<data name="groupBox2.Text" xml:space="preserve">
|
|
||||||
<value>例外</value>
|
|
||||||
</data>
|
</data>
|
||||||
<data name="label13.Size" type="System.Drawing.Size, System.Drawing">
|
<data name="label13.Size" type="System.Drawing.Size, System.Drawing">
|
||||||
<value>95, 12</value>
|
<value>95, 12</value>
|
||||||
@@ -310,16 +307,34 @@
|
|||||||
<data name="label12.Text" xml:space="preserve">
|
<data name="label12.Text" xml:space="preserve">
|
||||||
<value>对于下列字符开头的地址不使用代理服务器:</value>
|
<value>对于下列字符开头的地址不使用代理服务器:</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="panel2.Location" type="System.Drawing.Point, System.Drawing">
|
<data name="groupBox2.Size" type="System.Drawing.Size, System.Drawing">
|
||||||
<value>0, 479</value>
|
<value>654, 443</value>
|
||||||
|
</data>
|
||||||
|
<data name="groupBox2.Text" xml:space="preserve">
|
||||||
|
<value>例外</value>
|
||||||
|
</data>
|
||||||
|
<data name="tabPage3.Size" type="System.Drawing.Size, System.Drawing">
|
||||||
|
<value>654, 443</value>
|
||||||
|
</data>
|
||||||
|
<data name="tabPage3.Text" xml:space="preserve">
|
||||||
|
<value> 系统代理设置 </value>
|
||||||
|
</data>
|
||||||
|
<data name="tabControl1.Size" type="System.Drawing.Size, System.Drawing">
|
||||||
|
<value>662, 469</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="btnOK.Text" xml:space="preserve">
|
<data name="btnOK.Text" xml:space="preserve">
|
||||||
<value>确定(&O)</value>
|
<value>确定(&O)</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="panel2.Location" type="System.Drawing.Point, System.Drawing">
|
||||||
|
<value>0, 479</value>
|
||||||
|
</data>
|
||||||
<data name="$this.ClientSize" type="System.Drawing.Size, System.Drawing">
|
<data name="$this.ClientSize" type="System.Drawing.Size, System.Drawing">
|
||||||
<value>662, 539</value>
|
<value>662, 539</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="$this.Text" xml:space="preserve">
|
<data name="$this.Text" xml:space="preserve">
|
||||||
<value>参数设置</value>
|
<value>参数设置</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="tabPageCoreType.Text" xml:space="preserve">
|
||||||
|
<value> Core类型设置 </value>
|
||||||
|
</data>
|
||||||
</root>
|
</root>
|
||||||
@@ -12,7 +12,7 @@ namespace v2rayN.Forms
|
|||||||
}
|
}
|
||||||
private void QRCodeControl_Load(object sender, System.EventArgs e)
|
private void QRCodeControl_Load(object sender, System.EventArgs e)
|
||||||
{
|
{
|
||||||
txtUrl.MouseUp += txtUrl_MouseUp;
|
txtUrl.MouseUp += txtUrl_MouseUp;
|
||||||
}
|
}
|
||||||
|
|
||||||
void txtUrl_MouseUp(object sender, MouseEventArgs e)
|
void txtUrl_MouseUp(object sender, MouseEventArgs e)
|
||||||
@@ -20,11 +20,11 @@ namespace v2rayN.Forms
|
|||||||
txtUrl.SelectAll();
|
txtUrl.SelectAll();
|
||||||
}
|
}
|
||||||
|
|
||||||
public void showQRCode(int Index, Config config)
|
public void showQRCode(VmessItem item)
|
||||||
{
|
{
|
||||||
if (Index >= 0)
|
if (item != null)
|
||||||
{
|
{
|
||||||
string url = ShareHandler.GetShareUrl(config, Index);
|
string url = ShareHandler.GetShareUrl(item);
|
||||||
if (Utils.IsNullOrEmpty(url))
|
if (Utils.IsNullOrEmpty(url))
|
||||||
{
|
{
|
||||||
picQRCode.Image = null;
|
picQRCode.Image = null;
|
||||||
@@ -32,7 +32,7 @@ namespace v2rayN.Forms
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
txtUrl.Text = url;
|
txtUrl.Text = url;
|
||||||
picQRCode.Image = QRCodeHelper.GetQRCode(url);
|
picQRCode.Image = QRCodeHelper.GetQRCode(url);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
94
v2rayN/v2rayN/Forms/QRCodeForm.Designer.cs
generated
94
v2rayN/v2rayN/Forms/QRCodeForm.Designer.cs
generated
@@ -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;
|
|
||||||
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@@ -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;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@@ -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>
|
|
||||||
@@ -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;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@@ -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;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@@ -1,462 +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=">>txtIP.Name" xml:space="preserve">
|
|
||||||
<value>txtIP</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>
|
|
||||||
<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>
|
|
||||||
<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>
|
|
||||||
<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="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="txtIP.Size" type="System.Drawing.Size, System.Drawing">
|
|
||||||
<value>220, 207</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>
|
|
||||||
<data name=">>btnOK.Name" xml:space="preserve">
|
|
||||||
<value>btnOK</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=">>$this.Name" xml:space="preserve">
|
|
||||||
<value>RoutingRuleQuicklyAddForm</value>
|
|
||||||
</data>
|
|
||||||
<data name=">>panel4.Parent" xml:space="preserve">
|
|
||||||
<value>$this</value>
|
|
||||||
</data>
|
|
||||||
<data name="panel4.Location" type="System.Drawing.Point, System.Drawing">
|
|
||||||
<value>0, 288</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>
|
|
||||||
<data name="label4.TabIndex" type="System.Int32, mscorlib">
|
|
||||||
<value>32</value>
|
|
||||||
</data>
|
|
||||||
<data name=">>btnClose.Parent" xml:space="preserve">
|
|
||||||
<value>panel4</value>
|
|
||||||
</data>
|
|
||||||
<data name="cmbOutboundTag.Items" xml:space="preserve">
|
|
||||||
<value>proxy</value>
|
|
||||||
</data>
|
|
||||||
<data name="groupBox1.Dock" type="System.Windows.Forms.DockStyle, System.Windows.Forms">
|
|
||||||
<value>Left</value>
|
|
||||||
</data>
|
|
||||||
<data name="txtDomain.TabIndex" type="System.Int32, mscorlib">
|
|
||||||
<value>24</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>
|
|
||||||
<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>
|
|
||||||
<data name="panel3.Dock" type="System.Windows.Forms.DockStyle, System.Windows.Forms">
|
|
||||||
<value>Top</value>
|
|
||||||
</data>
|
|
||||||
<data name=">>panel4.Name" xml:space="preserve">
|
|
||||||
<value>panel4</value>
|
|
||||||
</data>
|
|
||||||
<data name="groupBox2.Text" xml:space="preserve">
|
|
||||||
<value>IP</value>
|
|
||||||
</data>
|
|
||||||
<data name="groupBox2.Location" type="System.Drawing.Point, System.Drawing">
|
|
||||||
<value>280, 0</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>
|
|
||||||
<data name=">>label4.Name" xml:space="preserve">
|
|
||||||
<value>label4</value>
|
|
||||||
</data>
|
|
||||||
<data name="label4.Text" xml:space="preserve">
|
|
||||||
<value>outboundTag</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>
|
|
||||||
</data>
|
|
||||||
<data name=">>label4.Parent" xml:space="preserve">
|
|
||||||
<value>panel3</value>
|
|
||||||
</data>
|
|
||||||
<data name="panel1.Dock" type="System.Windows.Forms.DockStyle, System.Windows.Forms">
|
|
||||||
<value>Top</value>
|
|
||||||
</data>
|
|
||||||
<data name="groupBox1.Location" type="System.Drawing.Point, System.Drawing">
|
|
||||||
<value>0, 0</value>
|
|
||||||
</data>
|
|
||||||
<data name="panel2.Size" type="System.Drawing.Size, System.Drawing">
|
|
||||||
<value>506, 227</value>
|
|
||||||
</data>
|
|
||||||
<data name="txtDomain.Multiline" type="System.Boolean, mscorlib">
|
|
||||||
<value>True</value>
|
|
||||||
</data>
|
|
||||||
<data name=">>panel1.ZOrder" xml:space="preserve">
|
|
||||||
<value>3</value>
|
|
||||||
</data>
|
|
||||||
<data name="groupBox1.Size" type="System.Drawing.Size, System.Drawing">
|
|
||||||
<value>280, 227</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="btnClose.TabIndex" type="System.Int32, mscorlib">
|
|
||||||
<value>4</value>
|
|
||||||
</data>
|
|
||||||
<data name="groupBox1.TabIndex" type="System.Int32, mscorlib">
|
|
||||||
<value>3</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>
|
|
||||||
<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=">>cmbOutboundTag.Name" xml:space="preserve">
|
|
||||||
<value>cmbOutboundTag</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="panel4.Size" type="System.Drawing.Size, System.Drawing">
|
|
||||||
<value>506, 60</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=">>label4.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>
|
|
||||||
<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>
|
|
||||||
<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">
|
|
||||||
<value>True</value>
|
|
||||||
</data>
|
|
||||||
<data name=">>groupBox2.Name" xml:space="preserve">
|
|
||||||
<value>groupBox2</value>
|
|
||||||
</data>
|
|
||||||
<data name="label4.Location" type="System.Drawing.Point, System.Drawing">
|
|
||||||
<value>19, 20</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>
|
|
||||||
</data>
|
|
||||||
<data name=">>groupBox1.Parent" xml:space="preserve">
|
|
||||||
<value>panel2</value>
|
|
||||||
</data>
|
|
||||||
<data name=">>txtIP.Parent" xml:space="preserve">
|
|
||||||
<value>groupBox2</value>
|
|
||||||
</data>
|
|
||||||
<data name="groupBox2.TabIndex" type="System.Int32, mscorlib">
|
|
||||||
<value>4</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>
|
|
||||||
<data name=">>txtDomain.ZOrder" xml:space="preserve">
|
|
||||||
<value>0</value>
|
|
||||||
</data>
|
|
||||||
<data name=">>panel4.ZOrder" xml:space="preserve">
|
|
||||||
<value>1</value>
|
|
||||||
</data>
|
|
||||||
<data name="txtDomain.Size" type="System.Drawing.Size, System.Drawing">
|
|
||||||
<value>274, 207</value>
|
|
||||||
</data>
|
|
||||||
<data name="$this.ClientSize" type="System.Drawing.Size, System.Drawing">
|
|
||||||
<value>506, 348</value>
|
|
||||||
</data>
|
|
||||||
<data name="txtIP.TabIndex" type="System.Int32, mscorlib">
|
|
||||||
<value>25</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=">>groupBox2.ZOrder" xml:space="preserve">
|
|
||||||
<value>0</value>
|
|
||||||
</data>
|
|
||||||
<data name=">>groupBox2.Parent" xml:space="preserve">
|
|
||||||
<value>panel2</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>
|
|
||||||
</data>
|
|
||||||
<data name="txtIP.Multiline" type="System.Boolean, mscorlib">
|
|
||||||
<value>True</value>
|
|
||||||
</data>
|
|
||||||
<data name=">>panel2.ZOrder" xml:space="preserve">
|
|
||||||
<value>0</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>
|
|
||||||
<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>
|
|
||||||
</root>
|
|
||||||
@@ -34,6 +34,10 @@
|
|||||||
this.panel2 = new System.Windows.Forms.Panel();
|
this.panel2 = new System.Windows.Forms.Panel();
|
||||||
this.btnOK = new System.Windows.Forms.Button();
|
this.btnOK = new System.Windows.Forms.Button();
|
||||||
this.panel1 = new System.Windows.Forms.Panel();
|
this.panel1 = new System.Windows.Forms.Panel();
|
||||||
|
this.label5 = new System.Windows.Forms.Label();
|
||||||
|
this.btnBrowse = new System.Windows.Forms.Button();
|
||||||
|
this.txtCustomIcon = new System.Windows.Forms.TextBox();
|
||||||
|
this.label4 = new System.Windows.Forms.Label();
|
||||||
this.label1 = new System.Windows.Forms.Label();
|
this.label1 = new System.Windows.Forms.Label();
|
||||||
this.txtUrl = new System.Windows.Forms.TextBox();
|
this.txtUrl = new System.Windows.Forms.TextBox();
|
||||||
this.label3 = new System.Windows.Forms.Label();
|
this.label3 = new System.Windows.Forms.Label();
|
||||||
@@ -68,17 +72,17 @@
|
|||||||
//
|
//
|
||||||
// btnClose
|
// btnClose
|
||||||
//
|
//
|
||||||
this.btnClose.DialogResult = System.Windows.Forms.DialogResult.Cancel;
|
|
||||||
resources.ApplyResources(this.btnClose, "btnClose");
|
resources.ApplyResources(this.btnClose, "btnClose");
|
||||||
|
this.btnClose.DialogResult = System.Windows.Forms.DialogResult.Cancel;
|
||||||
this.btnClose.Name = "btnClose";
|
this.btnClose.Name = "btnClose";
|
||||||
this.btnClose.UseVisualStyleBackColor = true;
|
this.btnClose.UseVisualStyleBackColor = true;
|
||||||
this.btnClose.Click += new System.EventHandler(this.btnClose_Click);
|
this.btnClose.Click += new System.EventHandler(this.btnClose_Click);
|
||||||
//
|
//
|
||||||
// panel2
|
// panel2
|
||||||
//
|
//
|
||||||
|
resources.ApplyResources(this.panel2, "panel2");
|
||||||
this.panel2.Controls.Add(this.btnClose);
|
this.panel2.Controls.Add(this.btnClose);
|
||||||
this.panel2.Controls.Add(this.btnOK);
|
this.panel2.Controls.Add(this.btnOK);
|
||||||
resources.ApplyResources(this.panel2, "panel2");
|
|
||||||
this.panel2.Name = "panel2";
|
this.panel2.Name = "panel2";
|
||||||
//
|
//
|
||||||
// btnOK
|
// btnOK
|
||||||
@@ -90,14 +94,40 @@
|
|||||||
//
|
//
|
||||||
// panel1
|
// panel1
|
||||||
//
|
//
|
||||||
|
resources.ApplyResources(this.panel1, "panel1");
|
||||||
|
this.panel1.Controls.Add(this.label5);
|
||||||
|
this.panel1.Controls.Add(this.btnBrowse);
|
||||||
|
this.panel1.Controls.Add(this.txtCustomIcon);
|
||||||
|
this.panel1.Controls.Add(this.label4);
|
||||||
this.panel1.Controls.Add(this.label1);
|
this.panel1.Controls.Add(this.label1);
|
||||||
this.panel1.Controls.Add(this.txtUrl);
|
this.panel1.Controls.Add(this.txtUrl);
|
||||||
this.panel1.Controls.Add(this.label3);
|
this.panel1.Controls.Add(this.label3);
|
||||||
this.panel1.Controls.Add(this.txtRemarks);
|
this.panel1.Controls.Add(this.txtRemarks);
|
||||||
this.panel1.Controls.Add(this.label2);
|
this.panel1.Controls.Add(this.label2);
|
||||||
resources.ApplyResources(this.panel1, "panel1");
|
|
||||||
this.panel1.Name = "panel1";
|
this.panel1.Name = "panel1";
|
||||||
//
|
//
|
||||||
|
// label5
|
||||||
|
//
|
||||||
|
resources.ApplyResources(this.label5, "label5");
|
||||||
|
this.label5.Name = "label5";
|
||||||
|
//
|
||||||
|
// btnBrowse
|
||||||
|
//
|
||||||
|
resources.ApplyResources(this.btnBrowse, "btnBrowse");
|
||||||
|
this.btnBrowse.Name = "btnBrowse";
|
||||||
|
this.btnBrowse.UseVisualStyleBackColor = true;
|
||||||
|
this.btnBrowse.Click += new System.EventHandler(this.btnBrowse_Click);
|
||||||
|
//
|
||||||
|
// txtCustomIcon
|
||||||
|
//
|
||||||
|
resources.ApplyResources(this.txtCustomIcon, "txtCustomIcon");
|
||||||
|
this.txtCustomIcon.Name = "txtCustomIcon";
|
||||||
|
//
|
||||||
|
// label4
|
||||||
|
//
|
||||||
|
resources.ApplyResources(this.label4, "label4");
|
||||||
|
this.label4.Name = "label4";
|
||||||
|
//
|
||||||
// label1
|
// label1
|
||||||
//
|
//
|
||||||
resources.ApplyResources(this.label1, "label1");
|
resources.ApplyResources(this.label1, "label1");
|
||||||
@@ -125,8 +155,8 @@
|
|||||||
//
|
//
|
||||||
// lvRoutings
|
// lvRoutings
|
||||||
//
|
//
|
||||||
this.lvRoutings.ContextMenuStrip = this.cmsLv;
|
|
||||||
resources.ApplyResources(this.lvRoutings, "lvRoutings");
|
resources.ApplyResources(this.lvRoutings, "lvRoutings");
|
||||||
|
this.lvRoutings.ContextMenuStrip = this.cmsLv;
|
||||||
this.lvRoutings.FullRowSelect = true;
|
this.lvRoutings.FullRowSelect = true;
|
||||||
this.lvRoutings.GridLines = true;
|
this.lvRoutings.GridLines = true;
|
||||||
this.lvRoutings.HeaderStyle = System.Windows.Forms.ColumnHeaderStyle.Nonclickable;
|
this.lvRoutings.HeaderStyle = System.Windows.Forms.ColumnHeaderStyle.Nonclickable;
|
||||||
@@ -142,6 +172,7 @@
|
|||||||
//
|
//
|
||||||
// cmsLv
|
// cmsLv
|
||||||
//
|
//
|
||||||
|
resources.ApplyResources(this.cmsLv, "cmsLv");
|
||||||
this.cmsLv.ImageScalingSize = new System.Drawing.Size(20, 20);
|
this.cmsLv.ImageScalingSize = new System.Drawing.Size(20, 20);
|
||||||
this.cmsLv.Items.AddRange(new System.Windows.Forms.ToolStripItem[] {
|
this.cmsLv.Items.AddRange(new System.Windows.Forms.ToolStripItem[] {
|
||||||
this.menuAdd,
|
this.menuAdd,
|
||||||
@@ -155,114 +186,113 @@
|
|||||||
this.menuMoveBottom});
|
this.menuMoveBottom});
|
||||||
this.cmsLv.Name = "cmsLv";
|
this.cmsLv.Name = "cmsLv";
|
||||||
this.cmsLv.OwnerItem = this.MenuItem1;
|
this.cmsLv.OwnerItem = this.MenuItem1;
|
||||||
resources.ApplyResources(this.cmsLv, "cmsLv");
|
|
||||||
//
|
//
|
||||||
// menuAdd
|
// menuAdd
|
||||||
//
|
//
|
||||||
this.menuAdd.Name = "menuAdd";
|
|
||||||
resources.ApplyResources(this.menuAdd, "menuAdd");
|
resources.ApplyResources(this.menuAdd, "menuAdd");
|
||||||
|
this.menuAdd.Name = "menuAdd";
|
||||||
this.menuAdd.Click += new System.EventHandler(this.menuAdd_Click);
|
this.menuAdd.Click += new System.EventHandler(this.menuAdd_Click);
|
||||||
//
|
//
|
||||||
// menuRemove
|
// menuRemove
|
||||||
//
|
//
|
||||||
this.menuRemove.Name = "menuRemove";
|
|
||||||
resources.ApplyResources(this.menuRemove, "menuRemove");
|
resources.ApplyResources(this.menuRemove, "menuRemove");
|
||||||
|
this.menuRemove.Name = "menuRemove";
|
||||||
this.menuRemove.Click += new System.EventHandler(this.menuRemove_Click);
|
this.menuRemove.Click += new System.EventHandler(this.menuRemove_Click);
|
||||||
//
|
//
|
||||||
// menuSelectAll
|
// menuSelectAll
|
||||||
//
|
//
|
||||||
this.menuSelectAll.Name = "menuSelectAll";
|
|
||||||
resources.ApplyResources(this.menuSelectAll, "menuSelectAll");
|
resources.ApplyResources(this.menuSelectAll, "menuSelectAll");
|
||||||
|
this.menuSelectAll.Name = "menuSelectAll";
|
||||||
this.menuSelectAll.Click += new System.EventHandler(this.menuSelectAll_Click);
|
this.menuSelectAll.Click += new System.EventHandler(this.menuSelectAll_Click);
|
||||||
//
|
//
|
||||||
// menuExportSelectedRules
|
// menuExportSelectedRules
|
||||||
//
|
//
|
||||||
this.menuExportSelectedRules.Name = "menuExportSelectedRules";
|
|
||||||
resources.ApplyResources(this.menuExportSelectedRules, "menuExportSelectedRules");
|
resources.ApplyResources(this.menuExportSelectedRules, "menuExportSelectedRules");
|
||||||
|
this.menuExportSelectedRules.Name = "menuExportSelectedRules";
|
||||||
this.menuExportSelectedRules.Click += new System.EventHandler(this.menuExportSelectedRules_Click);
|
this.menuExportSelectedRules.Click += new System.EventHandler(this.menuExportSelectedRules_Click);
|
||||||
//
|
//
|
||||||
// toolStripSeparator3
|
// toolStripSeparator3
|
||||||
//
|
//
|
||||||
this.toolStripSeparator3.Name = "toolStripSeparator3";
|
|
||||||
resources.ApplyResources(this.toolStripSeparator3, "toolStripSeparator3");
|
resources.ApplyResources(this.toolStripSeparator3, "toolStripSeparator3");
|
||||||
|
this.toolStripSeparator3.Name = "toolStripSeparator3";
|
||||||
//
|
//
|
||||||
// menuMoveTop
|
// menuMoveTop
|
||||||
//
|
//
|
||||||
this.menuMoveTop.Name = "menuMoveTop";
|
|
||||||
resources.ApplyResources(this.menuMoveTop, "menuMoveTop");
|
resources.ApplyResources(this.menuMoveTop, "menuMoveTop");
|
||||||
|
this.menuMoveTop.Name = "menuMoveTop";
|
||||||
this.menuMoveTop.Click += new System.EventHandler(this.menuMoveTop_Click);
|
this.menuMoveTop.Click += new System.EventHandler(this.menuMoveTop_Click);
|
||||||
//
|
//
|
||||||
// menuMoveUp
|
// menuMoveUp
|
||||||
//
|
//
|
||||||
this.menuMoveUp.Name = "menuMoveUp";
|
|
||||||
resources.ApplyResources(this.menuMoveUp, "menuMoveUp");
|
resources.ApplyResources(this.menuMoveUp, "menuMoveUp");
|
||||||
|
this.menuMoveUp.Name = "menuMoveUp";
|
||||||
this.menuMoveUp.Click += new System.EventHandler(this.menuMoveUp_Click);
|
this.menuMoveUp.Click += new System.EventHandler(this.menuMoveUp_Click);
|
||||||
//
|
//
|
||||||
// menuMoveDown
|
// menuMoveDown
|
||||||
//
|
//
|
||||||
this.menuMoveDown.Name = "menuMoveDown";
|
|
||||||
resources.ApplyResources(this.menuMoveDown, "menuMoveDown");
|
resources.ApplyResources(this.menuMoveDown, "menuMoveDown");
|
||||||
|
this.menuMoveDown.Name = "menuMoveDown";
|
||||||
this.menuMoveDown.Click += new System.EventHandler(this.menuMoveDown_Click);
|
this.menuMoveDown.Click += new System.EventHandler(this.menuMoveDown_Click);
|
||||||
//
|
//
|
||||||
// menuMoveBottom
|
// menuMoveBottom
|
||||||
//
|
//
|
||||||
this.menuMoveBottom.Name = "menuMoveBottom";
|
|
||||||
resources.ApplyResources(this.menuMoveBottom, "menuMoveBottom");
|
resources.ApplyResources(this.menuMoveBottom, "menuMoveBottom");
|
||||||
|
this.menuMoveBottom.Name = "menuMoveBottom";
|
||||||
this.menuMoveBottom.Click += new System.EventHandler(this.menuMoveBottom_Click);
|
this.menuMoveBottom.Click += new System.EventHandler(this.menuMoveBottom_Click);
|
||||||
//
|
//
|
||||||
// MenuItem1
|
// MenuItem1
|
||||||
//
|
//
|
||||||
|
resources.ApplyResources(this.MenuItem1, "MenuItem1");
|
||||||
this.MenuItem1.DropDown = this.cmsLv;
|
this.MenuItem1.DropDown = this.cmsLv;
|
||||||
this.MenuItem1.Name = "MenuItem1";
|
this.MenuItem1.Name = "MenuItem1";
|
||||||
resources.ApplyResources(this.MenuItem1, "MenuItem1");
|
|
||||||
//
|
//
|
||||||
// tabControl2
|
// tabControl2
|
||||||
//
|
//
|
||||||
this.tabControl2.Controls.Add(this.tabPage2);
|
|
||||||
resources.ApplyResources(this.tabControl2, "tabControl2");
|
resources.ApplyResources(this.tabControl2, "tabControl2");
|
||||||
|
this.tabControl2.Controls.Add(this.tabPage2);
|
||||||
this.tabControl2.Name = "tabControl2";
|
this.tabControl2.Name = "tabControl2";
|
||||||
this.tabControl2.SelectedIndex = 0;
|
this.tabControl2.SelectedIndex = 0;
|
||||||
//
|
//
|
||||||
// tabPage2
|
// tabPage2
|
||||||
//
|
//
|
||||||
this.tabPage2.Controls.Add(this.lvRoutings);
|
|
||||||
resources.ApplyResources(this.tabPage2, "tabPage2");
|
resources.ApplyResources(this.tabPage2, "tabPage2");
|
||||||
|
this.tabPage2.Controls.Add(this.lvRoutings);
|
||||||
this.tabPage2.Name = "tabPage2";
|
this.tabPage2.Name = "tabPage2";
|
||||||
this.tabPage2.UseVisualStyleBackColor = true;
|
this.tabPage2.UseVisualStyleBackColor = true;
|
||||||
//
|
//
|
||||||
// menuServer
|
// menuServer
|
||||||
//
|
//
|
||||||
|
resources.ApplyResources(this.menuServer, "menuServer");
|
||||||
this.menuServer.Items.AddRange(new System.Windows.Forms.ToolStripItem[] {
|
this.menuServer.Items.AddRange(new System.Windows.Forms.ToolStripItem[] {
|
||||||
this.MenuItem1,
|
this.MenuItem1,
|
||||||
this.toolStripMenuItem1});
|
this.toolStripMenuItem1});
|
||||||
resources.ApplyResources(this.menuServer, "menuServer");
|
|
||||||
this.menuServer.Name = "menuServer";
|
this.menuServer.Name = "menuServer";
|
||||||
//
|
//
|
||||||
// toolStripMenuItem1
|
// toolStripMenuItem1
|
||||||
//
|
//
|
||||||
|
resources.ApplyResources(this.toolStripMenuItem1, "toolStripMenuItem1");
|
||||||
this.toolStripMenuItem1.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] {
|
this.toolStripMenuItem1.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] {
|
||||||
this.menuImportRulesFromFile,
|
this.menuImportRulesFromFile,
|
||||||
this.menuImportRulesFromClipboard,
|
this.menuImportRulesFromClipboard,
|
||||||
this.menuImportRulesFromUrl});
|
this.menuImportRulesFromUrl});
|
||||||
this.toolStripMenuItem1.Name = "toolStripMenuItem1";
|
this.toolStripMenuItem1.Name = "toolStripMenuItem1";
|
||||||
resources.ApplyResources(this.toolStripMenuItem1, "toolStripMenuItem1");
|
|
||||||
//
|
//
|
||||||
// menuImportRulesFromFile
|
// menuImportRulesFromFile
|
||||||
//
|
//
|
||||||
this.menuImportRulesFromFile.Name = "menuImportRulesFromFile";
|
|
||||||
resources.ApplyResources(this.menuImportRulesFromFile, "menuImportRulesFromFile");
|
resources.ApplyResources(this.menuImportRulesFromFile, "menuImportRulesFromFile");
|
||||||
|
this.menuImportRulesFromFile.Name = "menuImportRulesFromFile";
|
||||||
this.menuImportRulesFromFile.Click += new System.EventHandler(this.menuImportRulesFromFile_Click);
|
this.menuImportRulesFromFile.Click += new System.EventHandler(this.menuImportRulesFromFile_Click);
|
||||||
//
|
//
|
||||||
// menuImportRulesFromClipboard
|
// menuImportRulesFromClipboard
|
||||||
//
|
//
|
||||||
this.menuImportRulesFromClipboard.Name = "menuImportRulesFromClipboard";
|
|
||||||
resources.ApplyResources(this.menuImportRulesFromClipboard, "menuImportRulesFromClipboard");
|
resources.ApplyResources(this.menuImportRulesFromClipboard, "menuImportRulesFromClipboard");
|
||||||
|
this.menuImportRulesFromClipboard.Name = "menuImportRulesFromClipboard";
|
||||||
this.menuImportRulesFromClipboard.Click += new System.EventHandler(this.menuImportRulesFromClipboard_Click);
|
this.menuImportRulesFromClipboard.Click += new System.EventHandler(this.menuImportRulesFromClipboard_Click);
|
||||||
//
|
//
|
||||||
// menuImportRulesFromUrl
|
// menuImportRulesFromUrl
|
||||||
//
|
//
|
||||||
this.menuImportRulesFromUrl.Name = "menuImportRulesFromUrl";
|
|
||||||
resources.ApplyResources(this.menuImportRulesFromUrl, "menuImportRulesFromUrl");
|
resources.ApplyResources(this.menuImportRulesFromUrl, "menuImportRulesFromUrl");
|
||||||
|
this.menuImportRulesFromUrl.Name = "menuImportRulesFromUrl";
|
||||||
this.menuImportRulesFromUrl.Click += new System.EventHandler(this.menuImportRulesFromUrl_Click);
|
this.menuImportRulesFromUrl.Click += new System.EventHandler(this.menuImportRulesFromUrl_Click);
|
||||||
//
|
//
|
||||||
// RoutingRuleSettingForm
|
// RoutingRuleSettingForm
|
||||||
@@ -319,5 +349,9 @@
|
|||||||
private System.Windows.Forms.TextBox txtUrl;
|
private System.Windows.Forms.TextBox txtUrl;
|
||||||
private System.Windows.Forms.Label label3;
|
private System.Windows.Forms.Label label3;
|
||||||
private System.Windows.Forms.Label label1;
|
private System.Windows.Forms.Label label1;
|
||||||
|
private System.Windows.Forms.TextBox txtCustomIcon;
|
||||||
|
private System.Windows.Forms.Label label4;
|
||||||
|
private System.Windows.Forms.Button btnBrowse;
|
||||||
|
private System.Windows.Forms.Label label5;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -38,6 +38,7 @@ namespace v2rayN.Forms
|
|||||||
|
|
||||||
txtRemarks.Text = routingItem.remarks ?? string.Empty;
|
txtRemarks.Text = routingItem.remarks ?? string.Empty;
|
||||||
txtUrl.Text = routingItem.url ?? string.Empty;
|
txtUrl.Text = routingItem.url ?? string.Empty;
|
||||||
|
txtCustomIcon.Text = routingItem.customIcon ?? string.Empty;
|
||||||
|
|
||||||
InitRoutingsView();
|
InitRoutingsView();
|
||||||
RefreshRoutingsView();
|
RefreshRoutingsView();
|
||||||
@@ -93,6 +94,7 @@ namespace v2rayN.Forms
|
|||||||
{
|
{
|
||||||
routingItem.remarks = txtRemarks.Text.Trim();
|
routingItem.remarks = txtRemarks.Text.Trim();
|
||||||
routingItem.url = txtUrl.Text.Trim();
|
routingItem.url = txtUrl.Text.Trim();
|
||||||
|
routingItem.customIcon = txtCustomIcon.Text.Trim();
|
||||||
|
|
||||||
if (ConfigHandler.AddRoutingItem(ref config, routingItem, EditIndex) == 0)
|
if (ConfigHandler.AddRoutingItem(ref config, routingItem, EditIndex) == 0)
|
||||||
{
|
{
|
||||||
@@ -108,6 +110,14 @@ namespace v2rayN.Forms
|
|||||||
{
|
{
|
||||||
this.DialogResult = DialogResult.Cancel;
|
this.DialogResult = DialogResult.Cancel;
|
||||||
}
|
}
|
||||||
|
private void btnBrowse_Click(object sender, EventArgs e)
|
||||||
|
{
|
||||||
|
OpenFileDialog openFileDialog1 = new OpenFileDialog();
|
||||||
|
openFileDialog1.Filter = "PNG|*.png";
|
||||||
|
openFileDialog1.ShowDialog();
|
||||||
|
txtCustomIcon.Text = openFileDialog1.FileName;
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
private void lvRoutings_DoubleClick(object sender, EventArgs e)
|
private void lvRoutings_DoubleClick(object sender, EventArgs e)
|
||||||
{
|
{
|
||||||
@@ -340,8 +350,9 @@ namespace v2rayN.Forms
|
|||||||
return ConfigHandler.AddBatchRoutingRules(ref routingItem, clipboardData, blReplace);
|
return ConfigHandler.AddBatchRoutingRules(ref routingItem, clipboardData, blReplace);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
#endregion
|
#endregion
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
File diff suppressed because it is too large
Load Diff
@@ -120,16 +120,34 @@
|
|||||||
<data name="btnClose.Text" xml:space="preserve">
|
<data name="btnClose.Text" xml:space="preserve">
|
||||||
<value>取消(&C)</value>
|
<value>取消(&C)</value>
|
||||||
</data>
|
</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" />
|
<assembly alias="System.Drawing" name="System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
|
||||||
<data name="panel2.Location" type="System.Drawing.Point, System.Drawing">
|
<data name="panel2.Location" type="System.Drawing.Point, System.Drawing">
|
||||||
<value>0, 613</value>
|
<value>0, 501</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="panel2.Size" type="System.Drawing.Size, System.Drawing">
|
<data name="panel2.Size" type="System.Drawing.Size, System.Drawing">
|
||||||
<value>785, 60</value>
|
<value>785, 60</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="btnOK.Text" xml:space="preserve">
|
||||||
|
<value>确定(&O)</value>
|
||||||
|
</data>
|
||||||
|
<data name="panel1.Size" type="System.Drawing.Size, System.Drawing">
|
||||||
|
<value>785, 147</value>
|
||||||
|
</data>
|
||||||
|
<data name="btnBrowse.Location" type="System.Drawing.Point, System.Drawing">
|
||||||
|
<value>670, 104</value>
|
||||||
|
</data>
|
||||||
|
<data name="btnBrowse.Text" xml:space="preserve">
|
||||||
|
<value>浏览(&B)</value>
|
||||||
|
</data>
|
||||||
|
<data name="txtCustomIcon.Location" type="System.Drawing.Point, System.Drawing">
|
||||||
|
<value>101, 105</value>
|
||||||
|
</data>
|
||||||
|
<data name="label4.Size" type="System.Drawing.Size, System.Drawing">
|
||||||
|
<value>65, 12</value>
|
||||||
|
</data>
|
||||||
|
<data name="label4.Text" xml:space="preserve">
|
||||||
|
<value>自定义图标</value>
|
||||||
|
</data>
|
||||||
<data name="label1.Size" type="System.Drawing.Size, System.Drawing">
|
<data name="label1.Size" type="System.Drawing.Size, System.Drawing">
|
||||||
<value>29, 12</value>
|
<value>29, 12</value>
|
||||||
</data>
|
</data>
|
||||||
@@ -154,9 +172,6 @@
|
|||||||
<data name="label2.Text" xml:space="preserve">
|
<data name="label2.Text" xml:space="preserve">
|
||||||
<value>别名</value>
|
<value>别名</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="panel1.Size" type="System.Drawing.Size, System.Drawing">
|
|
||||||
<value>785, 109</value>
|
|
||||||
</data>
|
|
||||||
<data name="menuAdd.Size" type="System.Drawing.Size, System.Drawing">
|
<data name="menuAdd.Size" type="System.Drawing.Size, System.Drawing">
|
||||||
<value>196, 22</value>
|
<value>196, 22</value>
|
||||||
</data>
|
</data>
|
||||||
@@ -235,19 +250,28 @@
|
|||||||
</value>
|
</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="lvRoutings.Size" type="System.Drawing.Size, System.Drawing">
|
<data name="lvRoutings.Size" type="System.Drawing.Size, System.Drawing">
|
||||||
<value>771, 447</value>
|
<value>771, 297</value>
|
||||||
|
</data>
|
||||||
|
<data name="tabControl2.Location" type="System.Drawing.Point, System.Drawing">
|
||||||
|
<value>0, 172</value>
|
||||||
|
</data>
|
||||||
|
<data name="tabControl2.Size" type="System.Drawing.Size, System.Drawing">
|
||||||
|
<value>785, 329</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="tabPage2.Size" type="System.Drawing.Size, System.Drawing">
|
<data name="tabPage2.Size" type="System.Drawing.Size, System.Drawing">
|
||||||
<value>777, 453</value>
|
<value>777, 303</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="tabPage2.Text" xml:space="preserve">
|
<data name="tabPage2.Text" xml:space="preserve">
|
||||||
<value>规则列表</value>
|
<value>规则列表</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="tabControl2.Location" type="System.Drawing.Point, System.Drawing">
|
<data name="menuServer.Size" type="System.Drawing.Size, System.Drawing">
|
||||||
<value>0, 134</value>
|
<value>785, 25</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="tabControl2.Size" type="System.Drawing.Size, System.Drawing">
|
<data name="toolStripMenuItem1.Size" type="System.Drawing.Size, System.Drawing">
|
||||||
<value>785, 479</value>
|
<value>68, 21</value>
|
||||||
|
</data>
|
||||||
|
<data name="toolStripMenuItem1.Text" xml:space="preserve">
|
||||||
|
<value>导入规则</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="menuImportRulesFromFile.Size" type="System.Drawing.Size, System.Drawing">
|
<data name="menuImportRulesFromFile.Size" type="System.Drawing.Size, System.Drawing">
|
||||||
<value>189, 22</value>
|
<value>189, 22</value>
|
||||||
@@ -267,17 +291,8 @@
|
|||||||
<data name="menuImportRulesFromUrl.Text" xml:space="preserve">
|
<data name="menuImportRulesFromUrl.Text" xml:space="preserve">
|
||||||
<value>从订阅Url中导入规则</value>
|
<value>从订阅Url中导入规则</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="toolStripMenuItem1.Size" type="System.Drawing.Size, System.Drawing">
|
|
||||||
<value>68, 21</value>
|
|
||||||
</data>
|
|
||||||
<data name="toolStripMenuItem1.Text" xml:space="preserve">
|
|
||||||
<value>导入规则</value>
|
|
||||||
</data>
|
|
||||||
<data name="menuServer.Size" type="System.Drawing.Size, System.Drawing">
|
|
||||||
<value>785, 25</value>
|
|
||||||
</data>
|
|
||||||
<data name="$this.ClientSize" type="System.Drawing.Size, System.Drawing">
|
<data name="$this.ClientSize" type="System.Drawing.Size, System.Drawing">
|
||||||
<value>785, 673</value>
|
<value>785, 561</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="$this.Text" xml:space="preserve">
|
<data name="$this.Text" xml:space="preserve">
|
||||||
<value>规则集设置</value>
|
<value>规则集设置</value>
|
||||||
|
|||||||
@@ -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;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@@ -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;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@@ -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>
|
|
||||||
@@ -1,145 +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="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="btnOK.Text" xml:space="preserve">
|
|
||||||
<value>确定(&O)</value>
|
|
||||||
</data>
|
|
||||||
<data name="$this.Text" xml:space="preserve">
|
|
||||||
<value>路由规则详情设置</value>
|
|
||||||
</data>
|
|
||||||
</root>
|
|
||||||
79
v2rayN/v2rayN/Forms/RoutingSettingForm.Designer.cs
generated
79
v2rayN/v2rayN/Forms/RoutingSettingForm.Designer.cs
generated
@@ -45,6 +45,7 @@
|
|||||||
this.menuRemove = new System.Windows.Forms.ToolStripMenuItem();
|
this.menuRemove = new System.Windows.Forms.ToolStripMenuItem();
|
||||||
this.menuSelectAll = new System.Windows.Forms.ToolStripMenuItem();
|
this.menuSelectAll = new System.Windows.Forms.ToolStripMenuItem();
|
||||||
this.menuSetDefaultRouting = new System.Windows.Forms.ToolStripMenuItem();
|
this.menuSetDefaultRouting = new System.Windows.Forms.ToolStripMenuItem();
|
||||||
|
this.menuImportAdvancedRules = new System.Windows.Forms.ToolStripMenuItem();
|
||||||
this.MenuItemAdvanced = new System.Windows.Forms.ToolStripMenuItem();
|
this.MenuItemAdvanced = new System.Windows.Forms.ToolStripMenuItem();
|
||||||
this.menuServer = new System.Windows.Forms.MenuStrip();
|
this.menuServer = new System.Windows.Forms.MenuStrip();
|
||||||
this.MenuItemBasic = new System.Windows.Forms.ToolStripMenuItem();
|
this.MenuItemBasic = new System.Windows.Forms.ToolStripMenuItem();
|
||||||
@@ -70,6 +71,7 @@
|
|||||||
this.txtBlockDomain = new System.Windows.Forms.TextBox();
|
this.txtBlockDomain = new System.Windows.Forms.TextBox();
|
||||||
this.tabPageRuleList = new System.Windows.Forms.TabPage();
|
this.tabPageRuleList = new System.Windows.Forms.TabPage();
|
||||||
this.lvRoutings = new v2rayN.Base.ListViewFlickerFree();
|
this.lvRoutings = new v2rayN.Base.ListViewFlickerFree();
|
||||||
|
this.toolStripSeparator1 = new System.Windows.Forms.ToolStripSeparator();
|
||||||
this.panel2.SuspendLayout();
|
this.panel2.SuspendLayout();
|
||||||
this.panel1.SuspendLayout();
|
this.panel1.SuspendLayout();
|
||||||
this.cmsLv.SuspendLayout();
|
this.cmsLv.SuspendLayout();
|
||||||
@@ -92,24 +94,24 @@
|
|||||||
//
|
//
|
||||||
// btnClose
|
// btnClose
|
||||||
//
|
//
|
||||||
resources.ApplyResources(this.btnClose, "btnClose");
|
|
||||||
this.btnClose.DialogResult = System.Windows.Forms.DialogResult.Cancel;
|
this.btnClose.DialogResult = System.Windows.Forms.DialogResult.Cancel;
|
||||||
|
resources.ApplyResources(this.btnClose, "btnClose");
|
||||||
this.btnClose.Name = "btnClose";
|
this.btnClose.Name = "btnClose";
|
||||||
this.btnClose.UseVisualStyleBackColor = true;
|
this.btnClose.UseVisualStyleBackColor = true;
|
||||||
this.btnClose.Click += new System.EventHandler(this.btnClose_Click);
|
this.btnClose.Click += new System.EventHandler(this.btnClose_Click);
|
||||||
//
|
//
|
||||||
// panel2
|
// panel2
|
||||||
//
|
//
|
||||||
resources.ApplyResources(this.panel2, "panel2");
|
|
||||||
this.panel2.Controls.Add(this.labRoutingTips);
|
this.panel2.Controls.Add(this.labRoutingTips);
|
||||||
this.panel2.Controls.Add(this.btnClose);
|
this.panel2.Controls.Add(this.btnClose);
|
||||||
this.panel2.Controls.Add(this.btnOK);
|
this.panel2.Controls.Add(this.btnOK);
|
||||||
|
resources.ApplyResources(this.panel2, "panel2");
|
||||||
this.panel2.Name = "panel2";
|
this.panel2.Name = "panel2";
|
||||||
//
|
//
|
||||||
// labRoutingTips
|
// labRoutingTips
|
||||||
//
|
//
|
||||||
resources.ApplyResources(this.labRoutingTips, "labRoutingTips");
|
|
||||||
this.labRoutingTips.ForeColor = System.Drawing.Color.Brown;
|
this.labRoutingTips.ForeColor = System.Drawing.Color.Brown;
|
||||||
|
resources.ApplyResources(this.labRoutingTips, "labRoutingTips");
|
||||||
this.labRoutingTips.Name = "labRoutingTips";
|
this.labRoutingTips.Name = "labRoutingTips";
|
||||||
//
|
//
|
||||||
// btnOK
|
// btnOK
|
||||||
@@ -121,22 +123,22 @@
|
|||||||
//
|
//
|
||||||
// panel1
|
// panel1
|
||||||
//
|
//
|
||||||
resources.ApplyResources(this.panel1, "panel1");
|
|
||||||
this.panel1.Controls.Add(this.cmbdomainMatcher);
|
this.panel1.Controls.Add(this.cmbdomainMatcher);
|
||||||
this.panel1.Controls.Add(this.label6);
|
this.panel1.Controls.Add(this.label6);
|
||||||
this.panel1.Controls.Add(this.chkenableRoutingAdvanced);
|
this.panel1.Controls.Add(this.chkenableRoutingAdvanced);
|
||||||
this.panel1.Controls.Add(this.linkLabelRoutingDoc);
|
this.panel1.Controls.Add(this.linkLabelRoutingDoc);
|
||||||
this.panel1.Controls.Add(this.cmbdomainStrategy);
|
this.panel1.Controls.Add(this.cmbdomainStrategy);
|
||||||
|
resources.ApplyResources(this.panel1, "panel1");
|
||||||
this.panel1.Name = "panel1";
|
this.panel1.Name = "panel1";
|
||||||
//
|
//
|
||||||
// cmbdomainMatcher
|
// cmbdomainMatcher
|
||||||
//
|
//
|
||||||
resources.ApplyResources(this.cmbdomainMatcher, "cmbdomainMatcher");
|
|
||||||
this.cmbdomainMatcher.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList;
|
this.cmbdomainMatcher.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList;
|
||||||
this.cmbdomainMatcher.FormattingEnabled = true;
|
this.cmbdomainMatcher.FormattingEnabled = true;
|
||||||
this.cmbdomainMatcher.Items.AddRange(new object[] {
|
this.cmbdomainMatcher.Items.AddRange(new object[] {
|
||||||
resources.GetString("cmbdomainMatcher.Items"),
|
resources.GetString("cmbdomainMatcher.Items"),
|
||||||
resources.GetString("cmbdomainMatcher.Items1")});
|
resources.GetString("cmbdomainMatcher.Items1")});
|
||||||
|
resources.ApplyResources(this.cmbdomainMatcher, "cmbdomainMatcher");
|
||||||
this.cmbdomainMatcher.Name = "cmbdomainMatcher";
|
this.cmbdomainMatcher.Name = "cmbdomainMatcher";
|
||||||
//
|
//
|
||||||
// label6
|
// label6
|
||||||
@@ -160,107 +162,115 @@
|
|||||||
//
|
//
|
||||||
// cmbdomainStrategy
|
// cmbdomainStrategy
|
||||||
//
|
//
|
||||||
resources.ApplyResources(this.cmbdomainStrategy, "cmbdomainStrategy");
|
|
||||||
this.cmbdomainStrategy.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList;
|
this.cmbdomainStrategy.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList;
|
||||||
this.cmbdomainStrategy.FormattingEnabled = true;
|
this.cmbdomainStrategy.FormattingEnabled = true;
|
||||||
this.cmbdomainStrategy.Items.AddRange(new object[] {
|
this.cmbdomainStrategy.Items.AddRange(new object[] {
|
||||||
resources.GetString("cmbdomainStrategy.Items"),
|
resources.GetString("cmbdomainStrategy.Items"),
|
||||||
resources.GetString("cmbdomainStrategy.Items1"),
|
resources.GetString("cmbdomainStrategy.Items1"),
|
||||||
resources.GetString("cmbdomainStrategy.Items2")});
|
resources.GetString("cmbdomainStrategy.Items2")});
|
||||||
|
resources.ApplyResources(this.cmbdomainStrategy, "cmbdomainStrategy");
|
||||||
this.cmbdomainStrategy.Name = "cmbdomainStrategy";
|
this.cmbdomainStrategy.Name = "cmbdomainStrategy";
|
||||||
//
|
//
|
||||||
// cmsLv
|
// cmsLv
|
||||||
//
|
//
|
||||||
resources.ApplyResources(this.cmsLv, "cmsLv");
|
|
||||||
this.cmsLv.ImageScalingSize = new System.Drawing.Size(20, 20);
|
this.cmsLv.ImageScalingSize = new System.Drawing.Size(20, 20);
|
||||||
this.cmsLv.Items.AddRange(new System.Windows.Forms.ToolStripItem[] {
|
this.cmsLv.Items.AddRange(new System.Windows.Forms.ToolStripItem[] {
|
||||||
this.menuAdd,
|
this.menuAdd,
|
||||||
this.menuRemove,
|
this.menuRemove,
|
||||||
this.menuSelectAll,
|
this.menuSelectAll,
|
||||||
this.menuSetDefaultRouting});
|
this.menuSetDefaultRouting,
|
||||||
|
this.toolStripSeparator1,
|
||||||
|
this.menuImportAdvancedRules});
|
||||||
this.cmsLv.Name = "cmsLv";
|
this.cmsLv.Name = "cmsLv";
|
||||||
this.cmsLv.OwnerItem = this.MenuItemAdvanced;
|
this.cmsLv.OwnerItem = this.MenuItemAdvanced;
|
||||||
|
resources.ApplyResources(this.cmsLv, "cmsLv");
|
||||||
//
|
//
|
||||||
// menuAdd
|
// menuAdd
|
||||||
//
|
//
|
||||||
resources.ApplyResources(this.menuAdd, "menuAdd");
|
|
||||||
this.menuAdd.Name = "menuAdd";
|
this.menuAdd.Name = "menuAdd";
|
||||||
|
resources.ApplyResources(this.menuAdd, "menuAdd");
|
||||||
this.menuAdd.Click += new System.EventHandler(this.menuAdd_Click);
|
this.menuAdd.Click += new System.EventHandler(this.menuAdd_Click);
|
||||||
//
|
//
|
||||||
// menuRemove
|
// menuRemove
|
||||||
//
|
//
|
||||||
resources.ApplyResources(this.menuRemove, "menuRemove");
|
|
||||||
this.menuRemove.Name = "menuRemove";
|
this.menuRemove.Name = "menuRemove";
|
||||||
|
resources.ApplyResources(this.menuRemove, "menuRemove");
|
||||||
this.menuRemove.Click += new System.EventHandler(this.menuRemove_Click);
|
this.menuRemove.Click += new System.EventHandler(this.menuRemove_Click);
|
||||||
//
|
//
|
||||||
// menuSelectAll
|
// menuSelectAll
|
||||||
//
|
//
|
||||||
resources.ApplyResources(this.menuSelectAll, "menuSelectAll");
|
|
||||||
this.menuSelectAll.Name = "menuSelectAll";
|
this.menuSelectAll.Name = "menuSelectAll";
|
||||||
|
resources.ApplyResources(this.menuSelectAll, "menuSelectAll");
|
||||||
this.menuSelectAll.Click += new System.EventHandler(this.menuSelectAll_Click);
|
this.menuSelectAll.Click += new System.EventHandler(this.menuSelectAll_Click);
|
||||||
//
|
//
|
||||||
// menuSetDefaultRouting
|
// menuSetDefaultRouting
|
||||||
//
|
//
|
||||||
resources.ApplyResources(this.menuSetDefaultRouting, "menuSetDefaultRouting");
|
|
||||||
this.menuSetDefaultRouting.Name = "menuSetDefaultRouting";
|
this.menuSetDefaultRouting.Name = "menuSetDefaultRouting";
|
||||||
|
resources.ApplyResources(this.menuSetDefaultRouting, "menuSetDefaultRouting");
|
||||||
this.menuSetDefaultRouting.Click += new System.EventHandler(this.menuSetDefaultRouting_Click);
|
this.menuSetDefaultRouting.Click += new System.EventHandler(this.menuSetDefaultRouting_Click);
|
||||||
//
|
//
|
||||||
|
// menuImportAdvancedRules
|
||||||
|
//
|
||||||
|
this.menuImportAdvancedRules.Name = "menuImportAdvancedRules";
|
||||||
|
resources.ApplyResources(this.menuImportAdvancedRules, "menuImportAdvancedRules");
|
||||||
|
this.menuImportAdvancedRules.Click += new System.EventHandler(this.menuImportAdvancedRules_Click);
|
||||||
|
//
|
||||||
// MenuItemAdvanced
|
// MenuItemAdvanced
|
||||||
//
|
//
|
||||||
resources.ApplyResources(this.MenuItemAdvanced, "MenuItemAdvanced");
|
|
||||||
this.MenuItemAdvanced.DropDown = this.cmsLv;
|
this.MenuItemAdvanced.DropDown = this.cmsLv;
|
||||||
this.MenuItemAdvanced.Name = "MenuItemAdvanced";
|
this.MenuItemAdvanced.Name = "MenuItemAdvanced";
|
||||||
|
resources.ApplyResources(this.MenuItemAdvanced, "MenuItemAdvanced");
|
||||||
//
|
//
|
||||||
// menuServer
|
// menuServer
|
||||||
//
|
//
|
||||||
resources.ApplyResources(this.menuServer, "menuServer");
|
|
||||||
this.menuServer.Items.AddRange(new System.Windows.Forms.ToolStripItem[] {
|
this.menuServer.Items.AddRange(new System.Windows.Forms.ToolStripItem[] {
|
||||||
this.MenuItemBasic,
|
this.MenuItemBasic,
|
||||||
this.MenuItemAdvanced});
|
this.MenuItemAdvanced});
|
||||||
|
resources.ApplyResources(this.menuServer, "menuServer");
|
||||||
this.menuServer.Name = "menuServer";
|
this.menuServer.Name = "menuServer";
|
||||||
//
|
//
|
||||||
// MenuItemBasic
|
// MenuItemBasic
|
||||||
//
|
//
|
||||||
resources.ApplyResources(this.MenuItemBasic, "MenuItemBasic");
|
|
||||||
this.MenuItemBasic.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] {
|
this.MenuItemBasic.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] {
|
||||||
this.menuImportBasicRules});
|
this.menuImportBasicRules});
|
||||||
this.MenuItemBasic.Name = "MenuItemBasic";
|
this.MenuItemBasic.Name = "MenuItemBasic";
|
||||||
|
resources.ApplyResources(this.MenuItemBasic, "MenuItemBasic");
|
||||||
//
|
//
|
||||||
// menuImportBasicRules
|
// menuImportBasicRules
|
||||||
//
|
//
|
||||||
resources.ApplyResources(this.menuImportBasicRules, "menuImportBasicRules");
|
|
||||||
this.menuImportBasicRules.Name = "menuImportBasicRules";
|
this.menuImportBasicRules.Name = "menuImportBasicRules";
|
||||||
|
resources.ApplyResources(this.menuImportBasicRules, "menuImportBasicRules");
|
||||||
this.menuImportBasicRules.Click += new System.EventHandler(this.menuImportBasicRules_Click);
|
this.menuImportBasicRules.Click += new System.EventHandler(this.menuImportBasicRules_Click);
|
||||||
//
|
//
|
||||||
// tabNormal
|
// tabNormal
|
||||||
//
|
//
|
||||||
resources.ApplyResources(this.tabNormal, "tabNormal");
|
|
||||||
this.tabNormal.Controls.Add(this.tabPageProxy);
|
this.tabNormal.Controls.Add(this.tabPageProxy);
|
||||||
this.tabNormal.Controls.Add(this.tabPageDirect);
|
this.tabNormal.Controls.Add(this.tabPageDirect);
|
||||||
this.tabNormal.Controls.Add(this.tabPageBlock);
|
this.tabNormal.Controls.Add(this.tabPageBlock);
|
||||||
this.tabNormal.Controls.Add(this.tabPageRuleList);
|
this.tabNormal.Controls.Add(this.tabPageRuleList);
|
||||||
|
resources.ApplyResources(this.tabNormal, "tabNormal");
|
||||||
this.tabNormal.Name = "tabNormal";
|
this.tabNormal.Name = "tabNormal";
|
||||||
this.tabNormal.SelectedIndex = 0;
|
this.tabNormal.SelectedIndex = 0;
|
||||||
this.tabNormal.Selecting += new System.Windows.Forms.TabControlCancelEventHandler(this.tabNormal_Selecting);
|
this.tabNormal.Selecting += new System.Windows.Forms.TabControlCancelEventHandler(this.tabNormal_Selecting);
|
||||||
//
|
//
|
||||||
// tabPageProxy
|
// tabPageProxy
|
||||||
//
|
//
|
||||||
resources.ApplyResources(this.tabPageProxy, "tabPageProxy");
|
|
||||||
this.tabPageProxy.Controls.Add(this.panel5);
|
this.tabPageProxy.Controls.Add(this.panel5);
|
||||||
|
resources.ApplyResources(this.tabPageProxy, "tabPageProxy");
|
||||||
this.tabPageProxy.Name = "tabPageProxy";
|
this.tabPageProxy.Name = "tabPageProxy";
|
||||||
this.tabPageProxy.UseVisualStyleBackColor = true;
|
this.tabPageProxy.UseVisualStyleBackColor = true;
|
||||||
//
|
//
|
||||||
// panel5
|
// panel5
|
||||||
//
|
//
|
||||||
resources.ApplyResources(this.panel5, "panel5");
|
|
||||||
this.panel5.Controls.Add(this.groupBox5);
|
this.panel5.Controls.Add(this.groupBox5);
|
||||||
this.panel5.Controls.Add(this.groupBox6);
|
this.panel5.Controls.Add(this.groupBox6);
|
||||||
|
resources.ApplyResources(this.panel5, "panel5");
|
||||||
this.panel5.Name = "panel5";
|
this.panel5.Name = "panel5";
|
||||||
//
|
//
|
||||||
// groupBox5
|
// groupBox5
|
||||||
//
|
//
|
||||||
resources.ApplyResources(this.groupBox5, "groupBox5");
|
|
||||||
this.groupBox5.Controls.Add(this.txtProxyIp);
|
this.groupBox5.Controls.Add(this.txtProxyIp);
|
||||||
|
resources.ApplyResources(this.groupBox5, "groupBox5");
|
||||||
this.groupBox5.Name = "groupBox5";
|
this.groupBox5.Name = "groupBox5";
|
||||||
this.groupBox5.TabStop = false;
|
this.groupBox5.TabStop = false;
|
||||||
//
|
//
|
||||||
@@ -271,8 +281,8 @@
|
|||||||
//
|
//
|
||||||
// groupBox6
|
// groupBox6
|
||||||
//
|
//
|
||||||
resources.ApplyResources(this.groupBox6, "groupBox6");
|
|
||||||
this.groupBox6.Controls.Add(this.txtProxyDomain);
|
this.groupBox6.Controls.Add(this.txtProxyDomain);
|
||||||
|
resources.ApplyResources(this.groupBox6, "groupBox6");
|
||||||
this.groupBox6.Name = "groupBox6";
|
this.groupBox6.Name = "groupBox6";
|
||||||
this.groupBox6.TabStop = false;
|
this.groupBox6.TabStop = false;
|
||||||
//
|
//
|
||||||
@@ -283,22 +293,22 @@
|
|||||||
//
|
//
|
||||||
// tabPageDirect
|
// tabPageDirect
|
||||||
//
|
//
|
||||||
resources.ApplyResources(this.tabPageDirect, "tabPageDirect");
|
|
||||||
this.tabPageDirect.Controls.Add(this.panel4);
|
this.tabPageDirect.Controls.Add(this.panel4);
|
||||||
|
resources.ApplyResources(this.tabPageDirect, "tabPageDirect");
|
||||||
this.tabPageDirect.Name = "tabPageDirect";
|
this.tabPageDirect.Name = "tabPageDirect";
|
||||||
this.tabPageDirect.UseVisualStyleBackColor = true;
|
this.tabPageDirect.UseVisualStyleBackColor = true;
|
||||||
//
|
//
|
||||||
// panel4
|
// panel4
|
||||||
//
|
//
|
||||||
resources.ApplyResources(this.panel4, "panel4");
|
|
||||||
this.panel4.Controls.Add(this.groupBox3);
|
this.panel4.Controls.Add(this.groupBox3);
|
||||||
this.panel4.Controls.Add(this.groupBox4);
|
this.panel4.Controls.Add(this.groupBox4);
|
||||||
|
resources.ApplyResources(this.panel4, "panel4");
|
||||||
this.panel4.Name = "panel4";
|
this.panel4.Name = "panel4";
|
||||||
//
|
//
|
||||||
// groupBox3
|
// groupBox3
|
||||||
//
|
//
|
||||||
resources.ApplyResources(this.groupBox3, "groupBox3");
|
|
||||||
this.groupBox3.Controls.Add(this.txtDirectIp);
|
this.groupBox3.Controls.Add(this.txtDirectIp);
|
||||||
|
resources.ApplyResources(this.groupBox3, "groupBox3");
|
||||||
this.groupBox3.Name = "groupBox3";
|
this.groupBox3.Name = "groupBox3";
|
||||||
this.groupBox3.TabStop = false;
|
this.groupBox3.TabStop = false;
|
||||||
//
|
//
|
||||||
@@ -309,8 +319,8 @@
|
|||||||
//
|
//
|
||||||
// groupBox4
|
// groupBox4
|
||||||
//
|
//
|
||||||
resources.ApplyResources(this.groupBox4, "groupBox4");
|
|
||||||
this.groupBox4.Controls.Add(this.txtDirectDomain);
|
this.groupBox4.Controls.Add(this.txtDirectDomain);
|
||||||
|
resources.ApplyResources(this.groupBox4, "groupBox4");
|
||||||
this.groupBox4.Name = "groupBox4";
|
this.groupBox4.Name = "groupBox4";
|
||||||
this.groupBox4.TabStop = false;
|
this.groupBox4.TabStop = false;
|
||||||
//
|
//
|
||||||
@@ -321,22 +331,22 @@
|
|||||||
//
|
//
|
||||||
// tabPageBlock
|
// tabPageBlock
|
||||||
//
|
//
|
||||||
resources.ApplyResources(this.tabPageBlock, "tabPageBlock");
|
|
||||||
this.tabPageBlock.Controls.Add(this.panel3);
|
this.tabPageBlock.Controls.Add(this.panel3);
|
||||||
|
resources.ApplyResources(this.tabPageBlock, "tabPageBlock");
|
||||||
this.tabPageBlock.Name = "tabPageBlock";
|
this.tabPageBlock.Name = "tabPageBlock";
|
||||||
this.tabPageBlock.UseVisualStyleBackColor = true;
|
this.tabPageBlock.UseVisualStyleBackColor = true;
|
||||||
//
|
//
|
||||||
// panel3
|
// panel3
|
||||||
//
|
//
|
||||||
resources.ApplyResources(this.panel3, "panel3");
|
|
||||||
this.panel3.Controls.Add(this.groupBox2);
|
this.panel3.Controls.Add(this.groupBox2);
|
||||||
this.panel3.Controls.Add(this.groupBox1);
|
this.panel3.Controls.Add(this.groupBox1);
|
||||||
|
resources.ApplyResources(this.panel3, "panel3");
|
||||||
this.panel3.Name = "panel3";
|
this.panel3.Name = "panel3";
|
||||||
//
|
//
|
||||||
// groupBox2
|
// groupBox2
|
||||||
//
|
//
|
||||||
resources.ApplyResources(this.groupBox2, "groupBox2");
|
|
||||||
this.groupBox2.Controls.Add(this.txtBlockIp);
|
this.groupBox2.Controls.Add(this.txtBlockIp);
|
||||||
|
resources.ApplyResources(this.groupBox2, "groupBox2");
|
||||||
this.groupBox2.Name = "groupBox2";
|
this.groupBox2.Name = "groupBox2";
|
||||||
this.groupBox2.TabStop = false;
|
this.groupBox2.TabStop = false;
|
||||||
//
|
//
|
||||||
@@ -347,8 +357,8 @@
|
|||||||
//
|
//
|
||||||
// groupBox1
|
// groupBox1
|
||||||
//
|
//
|
||||||
resources.ApplyResources(this.groupBox1, "groupBox1");
|
|
||||||
this.groupBox1.Controls.Add(this.txtBlockDomain);
|
this.groupBox1.Controls.Add(this.txtBlockDomain);
|
||||||
|
resources.ApplyResources(this.groupBox1, "groupBox1");
|
||||||
this.groupBox1.Name = "groupBox1";
|
this.groupBox1.Name = "groupBox1";
|
||||||
this.groupBox1.TabStop = false;
|
this.groupBox1.TabStop = false;
|
||||||
//
|
//
|
||||||
@@ -359,15 +369,15 @@
|
|||||||
//
|
//
|
||||||
// tabPageRuleList
|
// tabPageRuleList
|
||||||
//
|
//
|
||||||
resources.ApplyResources(this.tabPageRuleList, "tabPageRuleList");
|
|
||||||
this.tabPageRuleList.Controls.Add(this.lvRoutings);
|
this.tabPageRuleList.Controls.Add(this.lvRoutings);
|
||||||
|
resources.ApplyResources(this.tabPageRuleList, "tabPageRuleList");
|
||||||
this.tabPageRuleList.Name = "tabPageRuleList";
|
this.tabPageRuleList.Name = "tabPageRuleList";
|
||||||
this.tabPageRuleList.UseVisualStyleBackColor = true;
|
this.tabPageRuleList.UseVisualStyleBackColor = true;
|
||||||
//
|
//
|
||||||
// lvRoutings
|
// lvRoutings
|
||||||
//
|
//
|
||||||
resources.ApplyResources(this.lvRoutings, "lvRoutings");
|
|
||||||
this.lvRoutings.ContextMenuStrip = this.cmsLv;
|
this.lvRoutings.ContextMenuStrip = this.cmsLv;
|
||||||
|
resources.ApplyResources(this.lvRoutings, "lvRoutings");
|
||||||
this.lvRoutings.FullRowSelect = true;
|
this.lvRoutings.FullRowSelect = true;
|
||||||
this.lvRoutings.GridLines = true;
|
this.lvRoutings.GridLines = true;
|
||||||
this.lvRoutings.HeaderStyle = System.Windows.Forms.ColumnHeaderStyle.Nonclickable;
|
this.lvRoutings.HeaderStyle = System.Windows.Forms.ColumnHeaderStyle.Nonclickable;
|
||||||
@@ -380,6 +390,11 @@
|
|||||||
this.lvRoutings.View = System.Windows.Forms.View.Details;
|
this.lvRoutings.View = System.Windows.Forms.View.Details;
|
||||||
this.lvRoutings.DoubleClick += new System.EventHandler(this.lvRoutings_DoubleClick);
|
this.lvRoutings.DoubleClick += new System.EventHandler(this.lvRoutings_DoubleClick);
|
||||||
//
|
//
|
||||||
|
// toolStripSeparator1
|
||||||
|
//
|
||||||
|
this.toolStripSeparator1.Name = "toolStripSeparator1";
|
||||||
|
resources.ApplyResources(this.toolStripSeparator1, "toolStripSeparator1");
|
||||||
|
//
|
||||||
// RoutingSettingForm
|
// RoutingSettingForm
|
||||||
//
|
//
|
||||||
resources.ApplyResources(this, "$this");
|
resources.ApplyResources(this, "$this");
|
||||||
@@ -464,5 +479,7 @@
|
|||||||
private System.Windows.Forms.ToolStripMenuItem menuImportBasicRules;
|
private System.Windows.Forms.ToolStripMenuItem menuImportBasicRules;
|
||||||
private System.Windows.Forms.ComboBox cmbdomainMatcher;
|
private System.Windows.Forms.ComboBox cmbdomainMatcher;
|
||||||
private System.Windows.Forms.Label label6;
|
private System.Windows.Forms.Label label6;
|
||||||
|
private System.Windows.Forms.ToolStripMenuItem menuImportAdvancedRules;
|
||||||
|
private System.Windows.Forms.ToolStripSeparator toolStripSeparator1;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -147,6 +147,7 @@ namespace v2rayN.Forms
|
|||||||
lvRoutings.Columns.Add(UIRes.I18N("LvAlias"), 200);
|
lvRoutings.Columns.Add(UIRes.I18N("LvAlias"), 200);
|
||||||
lvRoutings.Columns.Add(UIRes.I18N("LvCount"), 60);
|
lvRoutings.Columns.Add(UIRes.I18N("LvCount"), 60);
|
||||||
lvRoutings.Columns.Add(UIRes.I18N("LvUrl"), 240);
|
lvRoutings.Columns.Add(UIRes.I18N("LvUrl"), 240);
|
||||||
|
lvRoutings.Columns.Add(UIRes.I18N("LvCustomIcon"), 240);
|
||||||
|
|
||||||
lvRoutings.EndUpdate();
|
lvRoutings.EndUpdate();
|
||||||
}
|
}
|
||||||
@@ -174,6 +175,7 @@ namespace v2rayN.Forms
|
|||||||
Utils.AddSubItem(lvItem, "remarks", item.remarks);
|
Utils.AddSubItem(lvItem, "remarks", item.remarks);
|
||||||
Utils.AddSubItem(lvItem, "count", item.rules.Count.ToString());
|
Utils.AddSubItem(lvItem, "count", item.rules.Count.ToString());
|
||||||
Utils.AddSubItem(lvItem, "url", item.url);
|
Utils.AddSubItem(lvItem, "url", item.url);
|
||||||
|
Utils.AddSubItem(lvItem, "customIcon", item.customIcon);
|
||||||
|
|
||||||
if (lvItem != null) lvRoutings.Items.Add(lvItem);
|
if (lvItem != null) lvRoutings.Items.Add(lvItem);
|
||||||
}
|
}
|
||||||
@@ -302,6 +304,14 @@ namespace v2rayN.Forms
|
|||||||
UI.Show(UIRes.I18N("OperationSuccess"));
|
UI.Show(UIRes.I18N("OperationSuccess"));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private void menuImportAdvancedRules_Click(object sender, EventArgs e)
|
||||||
|
{
|
||||||
|
if (ConfigHandler.InitBuiltinRouting(ref config, true) == 0)
|
||||||
|
{
|
||||||
|
RefreshRoutingsView();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
#endregion
|
#endregion
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
File diff suppressed because it is too large
Load Diff
@@ -124,6 +124,12 @@
|
|||||||
<data name="btnClose.Text" xml:space="preserve">
|
<data name="btnClose.Text" xml:space="preserve">
|
||||||
<value>取消(&C)</value>
|
<value>取消(&C)</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="panel2.Location" type="System.Drawing.Point, System.Drawing">
|
||||||
|
<value>0, 545</value>
|
||||||
|
</data>
|
||||||
|
<data name="panel2.Size" type="System.Drawing.Size, System.Drawing">
|
||||||
|
<value>817, 60</value>
|
||||||
|
</data>
|
||||||
<data name="labRoutingTips.Size" type="System.Drawing.Size, System.Drawing">
|
<data name="labRoutingTips.Size" type="System.Drawing.Size, System.Drawing">
|
||||||
<value>518, 16</value>
|
<value>518, 16</value>
|
||||||
</data>
|
</data>
|
||||||
@@ -136,11 +142,8 @@
|
|||||||
<data name="btnOK.Text" xml:space="preserve">
|
<data name="btnOK.Text" xml:space="preserve">
|
||||||
<value>确定(&O)</value>
|
<value>确定(&O)</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="panel2.Location" type="System.Drawing.Point, System.Drawing">
|
<data name="panel1.Size" type="System.Drawing.Size, System.Drawing">
|
||||||
<value>0, 545</value>
|
<value>817, 51</value>
|
||||||
</data>
|
|
||||||
<data name="panel2.Size" type="System.Drawing.Size, System.Drawing">
|
|
||||||
<value>817, 60</value>
|
|
||||||
</data>
|
</data>
|
||||||
<data name="label6.Size" type="System.Drawing.Size, System.Drawing">
|
<data name="label6.Size" type="System.Drawing.Size, System.Drawing">
|
||||||
<value>77, 12</value>
|
<value>77, 12</value>
|
||||||
@@ -160,8 +163,8 @@
|
|||||||
<data name="linkLabelRoutingDoc.Text" xml:space="preserve">
|
<data name="linkLabelRoutingDoc.Text" xml:space="preserve">
|
||||||
<value>域名解析策略</value>
|
<value>域名解析策略</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="panel1.Size" type="System.Drawing.Size, System.Drawing">
|
<data name="cmsLv.Size" type="System.Drawing.Size, System.Drawing">
|
||||||
<value>817, 51</value>
|
<value>149, 114</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="menuAdd.Size" type="System.Drawing.Size, System.Drawing">
|
<data name="menuAdd.Size" type="System.Drawing.Size, System.Drawing">
|
||||||
<value>148, 22</value>
|
<value>148, 22</value>
|
||||||
@@ -193,14 +196,8 @@
|
|||||||
<data name="MenuItemAdvanced.Text" xml:space="preserve">
|
<data name="MenuItemAdvanced.Text" xml:space="preserve">
|
||||||
<value>高级功能</value>
|
<value>高级功能</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="cmsLv.Size" type="System.Drawing.Size, System.Drawing">
|
<data name="menuServer.Size" type="System.Drawing.Size, System.Drawing">
|
||||||
<value>149, 92</value>
|
<value>817, 25</value>
|
||||||
</data>
|
|
||||||
<data name="menuImportBasicRules.Size" type="System.Drawing.Size, System.Drawing">
|
|
||||||
<value>172, 22</value>
|
|
||||||
</data>
|
|
||||||
<data name="menuImportBasicRules.Text" xml:space="preserve">
|
|
||||||
<value>一键导入基础规则</value>
|
|
||||||
</data>
|
</data>
|
||||||
<data name="MenuItemBasic.Size" type="System.Drawing.Size, System.Drawing">
|
<data name="MenuItemBasic.Size" type="System.Drawing.Size, System.Drawing">
|
||||||
<value>68, 21</value>
|
<value>68, 21</value>
|
||||||
@@ -208,23 +205,14 @@
|
|||||||
<data name="MenuItemBasic.Text" xml:space="preserve">
|
<data name="MenuItemBasic.Text" xml:space="preserve">
|
||||||
<value>基础功能</value>
|
<value>基础功能</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="menuServer.Size" type="System.Drawing.Size, System.Drawing">
|
<data name="menuImportBasicRules.Size" type="System.Drawing.Size, System.Drawing">
|
||||||
<value>817, 25</value>
|
<value>180, 22</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="txtProxyIp.Size" type="System.Drawing.Size, System.Drawing">
|
<data name="menuImportBasicRules.Text" xml:space="preserve">
|
||||||
<value>405, 417</value>
|
<value>一键导入基础规则</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="groupBox5.Size" type="System.Drawing.Size, System.Drawing">
|
<data name="tabNormal.Size" type="System.Drawing.Size, System.Drawing">
|
||||||
<value>411, 437</value>
|
<value>817, 469</value>
|
||||||
</data>
|
|
||||||
<data name="txtProxyDomain.Size" type="System.Drawing.Size, System.Drawing">
|
|
||||||
<value>386, 417</value>
|
|
||||||
</data>
|
|
||||||
<data name="groupBox6.Size" type="System.Drawing.Size, System.Drawing">
|
|
||||||
<value>392, 437</value>
|
|
||||||
</data>
|
|
||||||
<data name="panel5.Size" type="System.Drawing.Size, System.Drawing">
|
|
||||||
<value>803, 437</value>
|
|
||||||
</data>
|
</data>
|
||||||
<data name="tabPageProxy.Size" type="System.Drawing.Size, System.Drawing">
|
<data name="tabPageProxy.Size" type="System.Drawing.Size, System.Drawing">
|
||||||
<value>809, 443</value>
|
<value>809, 443</value>
|
||||||
@@ -232,20 +220,20 @@
|
|||||||
<data name="tabPageProxy.Text" xml:space="preserve">
|
<data name="tabPageProxy.Text" xml:space="preserve">
|
||||||
<value> 1.代理的Domain或IP </value>
|
<value> 1.代理的Domain或IP </value>
|
||||||
</data>
|
</data>
|
||||||
<data name="txtDirectIp.Size" type="System.Drawing.Size, System.Drawing">
|
<data name="panel5.Size" type="System.Drawing.Size, System.Drawing">
|
||||||
<value>405, 417</value>
|
<value>803, 437</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="groupBox3.Size" type="System.Drawing.Size, System.Drawing">
|
<data name="groupBox5.Size" type="System.Drawing.Size, System.Drawing">
|
||||||
<value>411, 437</value>
|
<value>411, 437</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="txtDirectDomain.Size" type="System.Drawing.Size, System.Drawing">
|
<data name="txtProxyIp.Size" type="System.Drawing.Size, System.Drawing">
|
||||||
<value>386, 417</value>
|
<value>405, 417</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="groupBox4.Size" type="System.Drawing.Size, System.Drawing">
|
<data name="groupBox6.Size" type="System.Drawing.Size, System.Drawing">
|
||||||
<value>392, 437</value>
|
<value>392, 437</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="panel4.Size" type="System.Drawing.Size, System.Drawing">
|
<data name="txtProxyDomain.Size" type="System.Drawing.Size, System.Drawing">
|
||||||
<value>803, 437</value>
|
<value>386, 417</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="tabPageDirect.Size" type="System.Drawing.Size, System.Drawing">
|
<data name="tabPageDirect.Size" type="System.Drawing.Size, System.Drawing">
|
||||||
<value>809, 443</value>
|
<value>809, 443</value>
|
||||||
@@ -253,20 +241,20 @@
|
|||||||
<data name="tabPageDirect.Text" xml:space="preserve">
|
<data name="tabPageDirect.Text" xml:space="preserve">
|
||||||
<value> 2.直连的Domain或IP </value>
|
<value> 2.直连的Domain或IP </value>
|
||||||
</data>
|
</data>
|
||||||
<data name="txtBlockIp.Size" type="System.Drawing.Size, System.Drawing">
|
<data name="panel4.Size" type="System.Drawing.Size, System.Drawing">
|
||||||
<value>405, 417</value>
|
<value>803, 437</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="groupBox2.Size" type="System.Drawing.Size, System.Drawing">
|
<data name="groupBox3.Size" type="System.Drawing.Size, System.Drawing">
|
||||||
<value>411, 437</value>
|
<value>411, 437</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="txtBlockDomain.Size" type="System.Drawing.Size, System.Drawing">
|
<data name="txtDirectIp.Size" type="System.Drawing.Size, System.Drawing">
|
||||||
<value>386, 417</value>
|
<value>405, 417</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="groupBox1.Size" type="System.Drawing.Size, System.Drawing">
|
<data name="groupBox4.Size" type="System.Drawing.Size, System.Drawing">
|
||||||
<value>392, 437</value>
|
<value>392, 437</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="panel3.Size" type="System.Drawing.Size, System.Drawing">
|
<data name="txtDirectDomain.Size" type="System.Drawing.Size, System.Drawing">
|
||||||
<value>803, 437</value>
|
<value>386, 417</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="tabPageBlock.Size" type="System.Drawing.Size, System.Drawing">
|
<data name="tabPageBlock.Size" type="System.Drawing.Size, System.Drawing">
|
||||||
<value>809, 443</value>
|
<value>809, 443</value>
|
||||||
@@ -274,6 +262,27 @@
|
|||||||
<data name="tabPageBlock.Text" xml:space="preserve">
|
<data name="tabPageBlock.Text" xml:space="preserve">
|
||||||
<value> 3.阻止的Domain或IP </value>
|
<value> 3.阻止的Domain或IP </value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="panel3.Size" type="System.Drawing.Size, System.Drawing">
|
||||||
|
<value>803, 437</value>
|
||||||
|
</data>
|
||||||
|
<data name="groupBox2.Size" type="System.Drawing.Size, System.Drawing">
|
||||||
|
<value>411, 437</value>
|
||||||
|
</data>
|
||||||
|
<data name="txtBlockIp.Size" type="System.Drawing.Size, System.Drawing">
|
||||||
|
<value>405, 417</value>
|
||||||
|
</data>
|
||||||
|
<data name="groupBox1.Size" type="System.Drawing.Size, System.Drawing">
|
||||||
|
<value>392, 437</value>
|
||||||
|
</data>
|
||||||
|
<data name="txtBlockDomain.Size" type="System.Drawing.Size, System.Drawing">
|
||||||
|
<value>386, 417</value>
|
||||||
|
</data>
|
||||||
|
<data name="tabPageRuleList.Size" type="System.Drawing.Size, System.Drawing">
|
||||||
|
<value>809, 443</value>
|
||||||
|
</data>
|
||||||
|
<data name="tabPageRuleList.Text" xml:space="preserve">
|
||||||
|
<value> 预定义规则集列表</value>
|
||||||
|
</data>
|
||||||
<data name="lvRoutings.Items" mimetype="application/x-microsoft.net.object.binary.base64">
|
<data name="lvRoutings.Items" mimetype="application/x-microsoft.net.object.binary.base64">
|
||||||
<value>
|
<value>
|
||||||
AAEAAAD/////AQAAAAAAAAAMAgAAAFdTeXN0ZW0uV2luZG93cy5Gb3JtcywgVmVyc2lvbj00LjAuMC4w
|
AAEAAAD/////AQAAAAAAAAAMAgAAAFdTeXN0ZW0uV2luZG93cy5Gb3JtcywgVmVyc2lvbj00LjAuMC4w
|
||||||
@@ -294,14 +303,8 @@
|
|||||||
<data name="lvRoutings.Size" type="System.Drawing.Size, System.Drawing">
|
<data name="lvRoutings.Size" type="System.Drawing.Size, System.Drawing">
|
||||||
<value>803, 437</value>
|
<value>803, 437</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="tabPageRuleList.Size" type="System.Drawing.Size, System.Drawing">
|
<data name="menuImportAdvancedRules.Text" xml:space="preserve">
|
||||||
<value>809, 443</value>
|
<value>一键导入高级规则</value>
|
||||||
</data>
|
|
||||||
<data name="tabPageRuleList.Text" xml:space="preserve">
|
|
||||||
<value> 预定义规则集列表</value>
|
|
||||||
</data>
|
|
||||||
<data name="tabNormal.Size" type="System.Drawing.Size, System.Drawing">
|
|
||||||
<value>817, 469</value>
|
|
||||||
</data>
|
</data>
|
||||||
<data name="$this.ClientSize" type="System.Drawing.Size, System.Drawing">
|
<data name="$this.ClientSize" type="System.Drawing.Size, System.Drawing">
|
||||||
<value>817, 605</value>
|
<value>817, 605</value>
|
||||||
|
|||||||
@@ -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;
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
||||||
}
|
|
||||||
250
v2rayN/v2rayN/Forms/ServerTransportControl.Designer.cs
generated
Normal file
250
v2rayN/v2rayN/Forms/ServerTransportControl.Designer.cs
generated
Normal file
@@ -0,0 +1,250 @@
|
|||||||
|
namespace v2rayN.Forms
|
||||||
|
{
|
||||||
|
partial class ServerTransportControl
|
||||||
|
{
|
||||||
|
/// <summary>
|
||||||
|
/// 必需的设计器变量。
|
||||||
|
/// </summary>
|
||||||
|
private System.ComponentModel.IContainer components = null;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 清理所有正在使用的资源。
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="disposing">如果应释放托管资源,为 true;否则为 false。</param>
|
||||||
|
protected override void Dispose(bool disposing)
|
||||||
|
{
|
||||||
|
if (disposing && (components != null))
|
||||||
|
{
|
||||||
|
components.Dispose();
|
||||||
|
}
|
||||||
|
base.Dispose(disposing);
|
||||||
|
}
|
||||||
|
|
||||||
|
#region 组件设计器生成的代码
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 设计器支持所需的方法 - 不要修改
|
||||||
|
/// 使用代码编辑器修改此方法的内容。
|
||||||
|
/// </summary>
|
||||||
|
private void InitializeComponent()
|
||||||
|
{
|
||||||
|
System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(ServerTransportControl));
|
||||||
|
this.gbTransport = new System.Windows.Forms.GroupBox();
|
||||||
|
this.panTlsMore = new System.Windows.Forms.Panel();
|
||||||
|
this.clbAlpn = new System.Windows.Forms.CheckedListBox();
|
||||||
|
this.label1 = new System.Windows.Forms.Label();
|
||||||
|
this.txtSNI = new System.Windows.Forms.TextBox();
|
||||||
|
this.labSNI = new System.Windows.Forms.Label();
|
||||||
|
this.labAllowInsecure = new System.Windows.Forms.Label();
|
||||||
|
this.cmbAllowInsecure = new System.Windows.Forms.ComboBox();
|
||||||
|
this.tipNetwork = new System.Windows.Forms.Label();
|
||||||
|
this.txtPath = new System.Windows.Forms.TextBox();
|
||||||
|
this.cmbNetwork = new System.Windows.Forms.ComboBox();
|
||||||
|
this.labNetwork = new System.Windows.Forms.Label();
|
||||||
|
this.labPath = new System.Windows.Forms.Label();
|
||||||
|
this.tipPath = new System.Windows.Forms.Label();
|
||||||
|
this.tipRequestHost = new System.Windows.Forms.Label();
|
||||||
|
this.labStreamSecurity = new System.Windows.Forms.Label();
|
||||||
|
this.cmbStreamSecurity = new System.Windows.Forms.ComboBox();
|
||||||
|
this.tipHeaderType = new System.Windows.Forms.Label();
|
||||||
|
this.txtRequestHost = new System.Windows.Forms.TextBox();
|
||||||
|
this.labHeaderType = new System.Windows.Forms.Label();
|
||||||
|
this.labRequestHost = new System.Windows.Forms.Label();
|
||||||
|
this.cmbHeaderType = new System.Windows.Forms.ComboBox();
|
||||||
|
this.gbTransport.SuspendLayout();
|
||||||
|
this.panTlsMore.SuspendLayout();
|
||||||
|
this.SuspendLayout();
|
||||||
|
//
|
||||||
|
// gbTransport
|
||||||
|
//
|
||||||
|
this.gbTransport.Controls.Add(this.panTlsMore);
|
||||||
|
this.gbTransport.Controls.Add(this.tipNetwork);
|
||||||
|
this.gbTransport.Controls.Add(this.txtPath);
|
||||||
|
this.gbTransport.Controls.Add(this.cmbNetwork);
|
||||||
|
this.gbTransport.Controls.Add(this.labNetwork);
|
||||||
|
this.gbTransport.Controls.Add(this.labPath);
|
||||||
|
this.gbTransport.Controls.Add(this.tipPath);
|
||||||
|
this.gbTransport.Controls.Add(this.tipRequestHost);
|
||||||
|
this.gbTransport.Controls.Add(this.labStreamSecurity);
|
||||||
|
this.gbTransport.Controls.Add(this.cmbStreamSecurity);
|
||||||
|
this.gbTransport.Controls.Add(this.tipHeaderType);
|
||||||
|
this.gbTransport.Controls.Add(this.txtRequestHost);
|
||||||
|
this.gbTransport.Controls.Add(this.labHeaderType);
|
||||||
|
this.gbTransport.Controls.Add(this.labRequestHost);
|
||||||
|
this.gbTransport.Controls.Add(this.cmbHeaderType);
|
||||||
|
resources.ApplyResources(this.gbTransport, "gbTransport");
|
||||||
|
this.gbTransport.Name = "gbTransport";
|
||||||
|
this.gbTransport.TabStop = false;
|
||||||
|
//
|
||||||
|
// panTlsMore
|
||||||
|
//
|
||||||
|
this.panTlsMore.Controls.Add(this.clbAlpn);
|
||||||
|
this.panTlsMore.Controls.Add(this.label1);
|
||||||
|
this.panTlsMore.Controls.Add(this.txtSNI);
|
||||||
|
this.panTlsMore.Controls.Add(this.labSNI);
|
||||||
|
this.panTlsMore.Controls.Add(this.labAllowInsecure);
|
||||||
|
this.panTlsMore.Controls.Add(this.cmbAllowInsecure);
|
||||||
|
resources.ApplyResources(this.panTlsMore, "panTlsMore");
|
||||||
|
this.panTlsMore.Name = "panTlsMore";
|
||||||
|
//
|
||||||
|
// clbAlpn
|
||||||
|
//
|
||||||
|
this.clbAlpn.CheckOnClick = true;
|
||||||
|
resources.ApplyResources(this.clbAlpn, "clbAlpn");
|
||||||
|
this.clbAlpn.FormattingEnabled = true;
|
||||||
|
this.clbAlpn.Items.AddRange(new object[] {
|
||||||
|
resources.GetString("clbAlpn.Items"),
|
||||||
|
resources.GetString("clbAlpn.Items1")});
|
||||||
|
this.clbAlpn.MultiColumn = true;
|
||||||
|
this.clbAlpn.Name = "clbAlpn";
|
||||||
|
//
|
||||||
|
// label1
|
||||||
|
//
|
||||||
|
resources.ApplyResources(this.label1, "label1");
|
||||||
|
this.label1.Name = "label1";
|
||||||
|
//
|
||||||
|
// txtSNI
|
||||||
|
//
|
||||||
|
resources.ApplyResources(this.txtSNI, "txtSNI");
|
||||||
|
this.txtSNI.Name = "txtSNI";
|
||||||
|
//
|
||||||
|
// labSNI
|
||||||
|
//
|
||||||
|
resources.ApplyResources(this.labSNI, "labSNI");
|
||||||
|
this.labSNI.Name = "labSNI";
|
||||||
|
//
|
||||||
|
// labAllowInsecure
|
||||||
|
//
|
||||||
|
resources.ApplyResources(this.labAllowInsecure, "labAllowInsecure");
|
||||||
|
this.labAllowInsecure.Name = "labAllowInsecure";
|
||||||
|
//
|
||||||
|
// cmbAllowInsecure
|
||||||
|
//
|
||||||
|
this.cmbAllowInsecure.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList;
|
||||||
|
this.cmbAllowInsecure.FormattingEnabled = true;
|
||||||
|
this.cmbAllowInsecure.Items.AddRange(new object[] {
|
||||||
|
resources.GetString("cmbAllowInsecure.Items"),
|
||||||
|
resources.GetString("cmbAllowInsecure.Items1"),
|
||||||
|
resources.GetString("cmbAllowInsecure.Items2")});
|
||||||
|
resources.ApplyResources(this.cmbAllowInsecure, "cmbAllowInsecure");
|
||||||
|
this.cmbAllowInsecure.Name = "cmbAllowInsecure";
|
||||||
|
//
|
||||||
|
// tipNetwork
|
||||||
|
//
|
||||||
|
resources.ApplyResources(this.tipNetwork, "tipNetwork");
|
||||||
|
this.tipNetwork.Name = "tipNetwork";
|
||||||
|
//
|
||||||
|
// txtPath
|
||||||
|
//
|
||||||
|
resources.ApplyResources(this.txtPath, "txtPath");
|
||||||
|
this.txtPath.Name = "txtPath";
|
||||||
|
//
|
||||||
|
// cmbNetwork
|
||||||
|
//
|
||||||
|
this.cmbNetwork.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList;
|
||||||
|
this.cmbNetwork.FormattingEnabled = true;
|
||||||
|
resources.ApplyResources(this.cmbNetwork, "cmbNetwork");
|
||||||
|
this.cmbNetwork.Name = "cmbNetwork";
|
||||||
|
this.cmbNetwork.SelectedIndexChanged += new System.EventHandler(this.cmbNetwork_SelectedIndexChanged);
|
||||||
|
//
|
||||||
|
// labNetwork
|
||||||
|
//
|
||||||
|
resources.ApplyResources(this.labNetwork, "labNetwork");
|
||||||
|
this.labNetwork.Name = "labNetwork";
|
||||||
|
//
|
||||||
|
// labPath
|
||||||
|
//
|
||||||
|
resources.ApplyResources(this.labPath, "labPath");
|
||||||
|
this.labPath.Name = "labPath";
|
||||||
|
//
|
||||||
|
// tipPath
|
||||||
|
//
|
||||||
|
resources.ApplyResources(this.tipPath, "tipPath");
|
||||||
|
this.tipPath.Name = "tipPath";
|
||||||
|
//
|
||||||
|
// tipRequestHost
|
||||||
|
//
|
||||||
|
resources.ApplyResources(this.tipRequestHost, "tipRequestHost");
|
||||||
|
this.tipRequestHost.Name = "tipRequestHost";
|
||||||
|
//
|
||||||
|
// labStreamSecurity
|
||||||
|
//
|
||||||
|
resources.ApplyResources(this.labStreamSecurity, "labStreamSecurity");
|
||||||
|
this.labStreamSecurity.Name = "labStreamSecurity";
|
||||||
|
//
|
||||||
|
// cmbStreamSecurity
|
||||||
|
//
|
||||||
|
this.cmbStreamSecurity.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList;
|
||||||
|
this.cmbStreamSecurity.FormattingEnabled = true;
|
||||||
|
resources.ApplyResources(this.cmbStreamSecurity, "cmbStreamSecurity");
|
||||||
|
this.cmbStreamSecurity.Name = "cmbStreamSecurity";
|
||||||
|
this.cmbStreamSecurity.SelectedIndexChanged += new System.EventHandler(this.cmbStreamSecurity_SelectedIndexChanged);
|
||||||
|
//
|
||||||
|
// tipHeaderType
|
||||||
|
//
|
||||||
|
resources.ApplyResources(this.tipHeaderType, "tipHeaderType");
|
||||||
|
this.tipHeaderType.Name = "tipHeaderType";
|
||||||
|
//
|
||||||
|
// txtRequestHost
|
||||||
|
//
|
||||||
|
resources.ApplyResources(this.txtRequestHost, "txtRequestHost");
|
||||||
|
this.txtRequestHost.Name = "txtRequestHost";
|
||||||
|
//
|
||||||
|
// labHeaderType
|
||||||
|
//
|
||||||
|
resources.ApplyResources(this.labHeaderType, "labHeaderType");
|
||||||
|
this.labHeaderType.Name = "labHeaderType";
|
||||||
|
//
|
||||||
|
// labRequestHost
|
||||||
|
//
|
||||||
|
resources.ApplyResources(this.labRequestHost, "labRequestHost");
|
||||||
|
this.labRequestHost.Name = "labRequestHost";
|
||||||
|
//
|
||||||
|
// cmbHeaderType
|
||||||
|
//
|
||||||
|
this.cmbHeaderType.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList;
|
||||||
|
this.cmbHeaderType.FormattingEnabled = true;
|
||||||
|
resources.ApplyResources(this.cmbHeaderType, "cmbHeaderType");
|
||||||
|
this.cmbHeaderType.Name = "cmbHeaderType";
|
||||||
|
//
|
||||||
|
// ServerTransportControl
|
||||||
|
//
|
||||||
|
resources.ApplyResources(this, "$this");
|
||||||
|
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
|
||||||
|
this.Controls.Add(this.gbTransport);
|
||||||
|
this.Name = "ServerTransportControl";
|
||||||
|
this.Load += new System.EventHandler(this.ServerTransportControl_Load);
|
||||||
|
this.gbTransport.ResumeLayout(false);
|
||||||
|
this.gbTransport.PerformLayout();
|
||||||
|
this.panTlsMore.ResumeLayout(false);
|
||||||
|
this.panTlsMore.PerformLayout();
|
||||||
|
this.ResumeLayout(false);
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
#endregion
|
||||||
|
|
||||||
|
private System.Windows.Forms.GroupBox gbTransport;
|
||||||
|
private System.Windows.Forms.Panel panTlsMore;
|
||||||
|
private System.Windows.Forms.TextBox txtSNI;
|
||||||
|
private System.Windows.Forms.Label labSNI;
|
||||||
|
private System.Windows.Forms.Label labAllowInsecure;
|
||||||
|
private System.Windows.Forms.ComboBox cmbAllowInsecure;
|
||||||
|
private System.Windows.Forms.Label tipNetwork;
|
||||||
|
private System.Windows.Forms.TextBox txtPath;
|
||||||
|
private System.Windows.Forms.ComboBox cmbNetwork;
|
||||||
|
private System.Windows.Forms.Label labNetwork;
|
||||||
|
private System.Windows.Forms.Label labPath;
|
||||||
|
private System.Windows.Forms.Label tipPath;
|
||||||
|
private System.Windows.Forms.Label tipRequestHost;
|
||||||
|
private System.Windows.Forms.Label labStreamSecurity;
|
||||||
|
private System.Windows.Forms.ComboBox cmbStreamSecurity;
|
||||||
|
private System.Windows.Forms.Label tipHeaderType;
|
||||||
|
private System.Windows.Forms.TextBox txtRequestHost;
|
||||||
|
private System.Windows.Forms.Label labHeaderType;
|
||||||
|
private System.Windows.Forms.Label labRequestHost;
|
||||||
|
private System.Windows.Forms.ComboBox cmbHeaderType;
|
||||||
|
private System.Windows.Forms.Label label1;
|
||||||
|
private System.Windows.Forms.CheckedListBox clbAlpn;
|
||||||
|
}
|
||||||
|
}
|
||||||
204
v2rayN/v2rayN/Forms/ServerTransportControl.cs
Normal file
204
v2rayN/v2rayN/Forms/ServerTransportControl.cs
Normal file
@@ -0,0 +1,204 @@
|
|||||||
|
using System;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
using System.Windows.Forms;
|
||||||
|
using v2rayN.Mode;
|
||||||
|
|
||||||
|
namespace v2rayN.Forms
|
||||||
|
{
|
||||||
|
public partial class ServerTransportControl : UserControl
|
||||||
|
{
|
||||||
|
public bool AllowXtls { get; set; }
|
||||||
|
private VmessItem vmessItem = null;
|
||||||
|
|
||||||
|
public ServerTransportControl()
|
||||||
|
{
|
||||||
|
InitializeComponent();
|
||||||
|
}
|
||||||
|
private void ServerTransportControl_Load(object sender, EventArgs e)
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
|
private void Init(VmessItem item)
|
||||||
|
{
|
||||||
|
vmessItem = item;
|
||||||
|
|
||||||
|
cmbNetwork.Items.AddRange(Global.networks.ToArray());
|
||||||
|
|
||||||
|
cmbStreamSecurity.Items.Clear();
|
||||||
|
cmbStreamSecurity.Items.Add(string.Empty);
|
||||||
|
cmbStreamSecurity.Items.Add(Global.StreamSecurity);
|
||||||
|
if (AllowXtls)
|
||||||
|
{
|
||||||
|
cmbStreamSecurity.Items.Add(Global.StreamSecurityX);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public void BindingServer(VmessItem item)
|
||||||
|
{
|
||||||
|
Init(item);
|
||||||
|
|
||||||
|
cmbNetwork.Text = vmessItem.network;
|
||||||
|
cmbHeaderType.Text = vmessItem.headerType;
|
||||||
|
txtRequestHost.Text = vmessItem.requestHost;
|
||||||
|
txtPath.Text = vmessItem.path;
|
||||||
|
cmbStreamSecurity.Text = vmessItem.streamSecurity;
|
||||||
|
cmbAllowInsecure.Text = vmessItem.allowInsecure;
|
||||||
|
txtSNI.Text = vmessItem.sni;
|
||||||
|
|
||||||
|
if (vmessItem.alpn != null)
|
||||||
|
{
|
||||||
|
for (int i = 0; i < clbAlpn.Items.Count; i++)
|
||||||
|
{
|
||||||
|
if (vmessItem.alpn.Contains(clbAlpn.Items[i].ToString()))
|
||||||
|
{
|
||||||
|
clbAlpn.SetItemChecked(i, true);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public void ClearServer(VmessItem item)
|
||||||
|
{
|
||||||
|
Init(item);
|
||||||
|
|
||||||
|
cmbNetwork.Text = Global.DefaultNetwork;
|
||||||
|
cmbHeaderType.Text = Global.None;
|
||||||
|
txtRequestHost.Text = "";
|
||||||
|
cmbStreamSecurity.Text = "";
|
||||||
|
cmbAllowInsecure.Text = "";
|
||||||
|
txtPath.Text = "";
|
||||||
|
txtSNI.Text = "";
|
||||||
|
for (int i = 0; i < clbAlpn.Items.Count; i++)
|
||||||
|
{
|
||||||
|
clbAlpn.SetItemChecked(i, false);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public void EndBindingServer()
|
||||||
|
{
|
||||||
|
string network = cmbNetwork.Text;
|
||||||
|
string headerType = cmbHeaderType.Text;
|
||||||
|
string requestHost = txtRequestHost.Text;
|
||||||
|
string path = txtPath.Text;
|
||||||
|
string streamSecurity = cmbStreamSecurity.Text;
|
||||||
|
string allowInsecure = cmbAllowInsecure.Text;
|
||||||
|
string sni = txtSNI.Text;
|
||||||
|
|
||||||
|
vmessItem.network = network;
|
||||||
|
vmessItem.headerType = headerType;
|
||||||
|
vmessItem.requestHost = requestHost.Replace(" ", "");
|
||||||
|
vmessItem.path = path.Replace(" ", "");
|
||||||
|
vmessItem.streamSecurity = streamSecurity;
|
||||||
|
vmessItem.allowInsecure = allowInsecure;
|
||||||
|
vmessItem.sni = sni;
|
||||||
|
|
||||||
|
var alpn = new List<string>();
|
||||||
|
for (int i = 0; i < clbAlpn.Items.Count; i++)
|
||||||
|
{
|
||||||
|
if (clbAlpn.GetItemChecked(i))
|
||||||
|
{
|
||||||
|
alpn.Add(clbAlpn.Items[i].ToString());
|
||||||
|
}
|
||||||
|
}
|
||||||
|
vmessItem.alpn = alpn;
|
||||||
|
}
|
||||||
|
|
||||||
|
private void cmbNetwork_SelectedIndexChanged(object sender, EventArgs e)
|
||||||
|
{
|
||||||
|
SetHeaderType();
|
||||||
|
SetTips();
|
||||||
|
}
|
||||||
|
|
||||||
|
private void SetHeaderType()
|
||||||
|
{
|
||||||
|
cmbHeaderType.Items.Clear();
|
||||||
|
|
||||||
|
string network = cmbNetwork.Text;
|
||||||
|
if (Utils.IsNullOrEmpty(network))
|
||||||
|
{
|
||||||
|
cmbHeaderType.Items.Add(Global.None);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (network.Equals(Global.DefaultNetwork))
|
||||||
|
{
|
||||||
|
cmbHeaderType.Items.Add(Global.None);
|
||||||
|
cmbHeaderType.Items.Add(Global.TcpHeaderHttp);
|
||||||
|
}
|
||||||
|
else if (network.Equals("kcp") || network.Equals("quic"))
|
||||||
|
{
|
||||||
|
cmbHeaderType.Items.Add(Global.None);
|
||||||
|
cmbHeaderType.Items.AddRange(Global.kcpHeaderTypes.ToArray());
|
||||||
|
}
|
||||||
|
else if (network.Equals("grpc"))
|
||||||
|
{
|
||||||
|
cmbHeaderType.Items.Add(Global.GrpcgunMode);
|
||||||
|
cmbHeaderType.Items.Add(Global.GrpcmultiMode);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
cmbHeaderType.Items.Add(Global.None);
|
||||||
|
}
|
||||||
|
cmbHeaderType.SelectedIndex = 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
private void SetTips()
|
||||||
|
{
|
||||||
|
string network = cmbNetwork.Text;
|
||||||
|
if (Utils.IsNullOrEmpty(network))
|
||||||
|
{
|
||||||
|
network = Global.DefaultNetwork;
|
||||||
|
}
|
||||||
|
labHeaderType.Visible = true;
|
||||||
|
tipRequestHost.Text =
|
||||||
|
tipPath.Text =
|
||||||
|
tipHeaderType.Text = string.Empty;
|
||||||
|
|
||||||
|
if (network.Equals(Global.DefaultNetwork))
|
||||||
|
{
|
||||||
|
tipRequestHost.Text = UIRes.I18N("TransportRequestHostTip1");
|
||||||
|
tipHeaderType.Text = UIRes.I18N("TransportHeaderTypeTip1");
|
||||||
|
}
|
||||||
|
else if (network.Equals("kcp"))
|
||||||
|
{
|
||||||
|
tipHeaderType.Text = UIRes.I18N("TransportHeaderTypeTip2");
|
||||||
|
tipPath.Text = UIRes.I18N("TransportPathTip5");
|
||||||
|
}
|
||||||
|
else if (network.Equals("ws"))
|
||||||
|
{
|
||||||
|
tipRequestHost.Text = UIRes.I18N("TransportRequestHostTip2");
|
||||||
|
tipPath.Text = UIRes.I18N("TransportPathTip1");
|
||||||
|
}
|
||||||
|
else if (network.Equals("h2"))
|
||||||
|
{
|
||||||
|
tipRequestHost.Text = UIRes.I18N("TransportRequestHostTip3");
|
||||||
|
tipPath.Text = UIRes.I18N("TransportPathTip2");
|
||||||
|
}
|
||||||
|
else if (network.Equals("quic"))
|
||||||
|
{
|
||||||
|
tipRequestHost.Text = UIRes.I18N("TransportRequestHostTip4");
|
||||||
|
tipPath.Text = UIRes.I18N("TransportPathTip3");
|
||||||
|
tipHeaderType.Text = UIRes.I18N("TransportHeaderTypeTip3");
|
||||||
|
}
|
||||||
|
else if (network.Equals("grpc"))
|
||||||
|
{
|
||||||
|
tipPath.Text = UIRes.I18N("TransportPathTip4");
|
||||||
|
tipHeaderType.Text = UIRes.I18N("TransportHeaderTypeTip4");
|
||||||
|
labHeaderType.Visible = false;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private void cmbStreamSecurity_SelectedIndexChanged(object sender, EventArgs e)
|
||||||
|
{
|
||||||
|
string security = cmbStreamSecurity.Text;
|
||||||
|
if (Utils.IsNullOrEmpty(security))
|
||||||
|
{
|
||||||
|
panTlsMore.Hide();
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
panTlsMore.Show();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
738
v2rayN/v2rayN/Forms/ServerTransportControl.resx
Normal file
738
v2rayN/v2rayN/Forms/ServerTransportControl.resx
Normal file
@@ -0,0 +1,738 @@
|
|||||||
|
<?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="mscorlib" name="mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
|
||||||
|
<data name="clbAlpn.ColumnWidth" type="System.Int32, mscorlib">
|
||||||
|
<value>70</value>
|
||||||
|
</data>
|
||||||
|
<data name="clbAlpn.Items" xml:space="preserve">
|
||||||
|
<value>h2</value>
|
||||||
|
</data>
|
||||||
|
<data name="clbAlpn.Items1" xml:space="preserve">
|
||||||
|
<value>http/1.1</value>
|
||||||
|
</data>
|
||||||
|
<assembly alias="System.Drawing" name="System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
|
||||||
|
<data name="clbAlpn.Location" type="System.Drawing.Point, System.Drawing">
|
||||||
|
<value>313, 7</value>
|
||||||
|
</data>
|
||||||
|
<data name="clbAlpn.Size" type="System.Drawing.Size, System.Drawing">
|
||||||
|
<value>172, 20</value>
|
||||||
|
</data>
|
||||||
|
<data name="clbAlpn.TabIndex" type="System.Int32, mscorlib">
|
||||||
|
<value>44</value>
|
||||||
|
</data>
|
||||||
|
<data name=">>clbAlpn.Name" xml:space="preserve">
|
||||||
|
<value>clbAlpn</value>
|
||||||
|
</data>
|
||||||
|
<data name=">>clbAlpn.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=">>clbAlpn.Parent" xml:space="preserve">
|
||||||
|
<value>panTlsMore</value>
|
||||||
|
</data>
|
||||||
|
<data name=">>clbAlpn.ZOrder" xml:space="preserve">
|
||||||
|
<value>0</value>
|
||||||
|
</data>
|
||||||
|
<data name="label1.AutoSize" type="System.Boolean, mscorlib">
|
||||||
|
<value>True</value>
|
||||||
|
</data>
|
||||||
|
<assembly alias="System.Windows.Forms" name="System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
|
||||||
|
<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>241, 11</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>43</value>
|
||||||
|
</data>
|
||||||
|
<data name="label1.Text" xml:space="preserve">
|
||||||
|
<value>alpn</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>panTlsMore</value>
|
||||||
|
</data>
|
||||||
|
<data name=">>label1.ZOrder" xml:space="preserve">
|
||||||
|
<value>1</value>
|
||||||
|
</data>
|
||||||
|
<data name="txtSNI.Location" type="System.Drawing.Point, System.Drawing">
|
||||||
|
<value>100, 39</value>
|
||||||
|
</data>
|
||||||
|
<data name="txtSNI.Size" type="System.Drawing.Size, System.Drawing">
|
||||||
|
<value>385, 21</value>
|
||||||
|
</data>
|
||||||
|
<data name="txtSNI.TabIndex" type="System.Int32, mscorlib">
|
||||||
|
<value>1</value>
|
||||||
|
</data>
|
||||||
|
<data name=">>txtSNI.Name" xml:space="preserve">
|
||||||
|
<value>txtSNI</value>
|
||||||
|
</data>
|
||||||
|
<data name=">>txtSNI.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=">>txtSNI.Parent" xml:space="preserve">
|
||||||
|
<value>panTlsMore</value>
|
||||||
|
</data>
|
||||||
|
<data name=">>txtSNI.ZOrder" xml:space="preserve">
|
||||||
|
<value>2</value>
|
||||||
|
</data>
|
||||||
|
<data name="labSNI.AutoSize" type="System.Boolean, mscorlib">
|
||||||
|
<value>True</value>
|
||||||
|
</data>
|
||||||
|
<data name="labSNI.ImeMode" type="System.Windows.Forms.ImeMode, System.Windows.Forms">
|
||||||
|
<value>NoControl</value>
|
||||||
|
</data>
|
||||||
|
<data name="labSNI.Location" type="System.Drawing.Point, System.Drawing">
|
||||||
|
<value>12, 43</value>
|
||||||
|
</data>
|
||||||
|
<data name="labSNI.Size" type="System.Drawing.Size, System.Drawing">
|
||||||
|
<value>23, 12</value>
|
||||||
|
</data>
|
||||||
|
<data name="labSNI.TabIndex" type="System.Int32, mscorlib">
|
||||||
|
<value>32</value>
|
||||||
|
</data>
|
||||||
|
<data name="labSNI.Text" xml:space="preserve">
|
||||||
|
<value>SNI</value>
|
||||||
|
</data>
|
||||||
|
<data name=">>labSNI.Name" xml:space="preserve">
|
||||||
|
<value>labSNI</value>
|
||||||
|
</data>
|
||||||
|
<data name=">>labSNI.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=">>labSNI.Parent" xml:space="preserve">
|
||||||
|
<value>panTlsMore</value>
|
||||||
|
</data>
|
||||||
|
<data name=">>labSNI.ZOrder" xml:space="preserve">
|
||||||
|
<value>3</value>
|
||||||
|
</data>
|
||||||
|
<data name="labAllowInsecure.AutoSize" type="System.Boolean, mscorlib">
|
||||||
|
<value>True</value>
|
||||||
|
</data>
|
||||||
|
<data name="labAllowInsecure.ImeMode" type="System.Windows.Forms.ImeMode, System.Windows.Forms">
|
||||||
|
<value>NoControl</value>
|
||||||
|
</data>
|
||||||
|
<data name="labAllowInsecure.Location" type="System.Drawing.Point, System.Drawing">
|
||||||
|
<value>12, 11</value>
|
||||||
|
</data>
|
||||||
|
<data name="labAllowInsecure.Size" type="System.Drawing.Size, System.Drawing">
|
||||||
|
<value>83, 12</value>
|
||||||
|
</data>
|
||||||
|
<data name="labAllowInsecure.TabIndex" type="System.Int32, mscorlib">
|
||||||
|
<value>31</value>
|
||||||
|
</data>
|
||||||
|
<data name="labAllowInsecure.Text" xml:space="preserve">
|
||||||
|
<value>allowInsecure</value>
|
||||||
|
</data>
|
||||||
|
<data name=">>labAllowInsecure.Name" xml:space="preserve">
|
||||||
|
<value>labAllowInsecure</value>
|
||||||
|
</data>
|
||||||
|
<data name=">>labAllowInsecure.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=">>labAllowInsecure.Parent" xml:space="preserve">
|
||||||
|
<value>panTlsMore</value>
|
||||||
|
</data>
|
||||||
|
<data name=">>labAllowInsecure.ZOrder" xml:space="preserve">
|
||||||
|
<value>4</value>
|
||||||
|
</data>
|
||||||
|
<data name="cmbAllowInsecure.Items" xml:space="preserve">
|
||||||
|
<value />
|
||||||
|
</data>
|
||||||
|
<data name="cmbAllowInsecure.Items1" xml:space="preserve">
|
||||||
|
<value>true</value>
|
||||||
|
</data>
|
||||||
|
<data name="cmbAllowInsecure.Items2" xml:space="preserve">
|
||||||
|
<value>false</value>
|
||||||
|
</data>
|
||||||
|
<data name="cmbAllowInsecure.Location" type="System.Drawing.Point, System.Drawing">
|
||||||
|
<value>100, 7</value>
|
||||||
|
</data>
|
||||||
|
<data name="cmbAllowInsecure.Size" type="System.Drawing.Size, System.Drawing">
|
||||||
|
<value>80, 20</value>
|
||||||
|
</data>
|
||||||
|
<data name="cmbAllowInsecure.TabIndex" type="System.Int32, mscorlib">
|
||||||
|
<value>0</value>
|
||||||
|
</data>
|
||||||
|
<data name=">>cmbAllowInsecure.Name" xml:space="preserve">
|
||||||
|
<value>cmbAllowInsecure</value>
|
||||||
|
</data>
|
||||||
|
<data name=">>cmbAllowInsecure.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=">>cmbAllowInsecure.Parent" xml:space="preserve">
|
||||||
|
<value>panTlsMore</value>
|
||||||
|
</data>
|
||||||
|
<data name=">>cmbAllowInsecure.ZOrder" xml:space="preserve">
|
||||||
|
<value>5</value>
|
||||||
|
</data>
|
||||||
|
<data name="panTlsMore.Location" type="System.Drawing.Point, System.Drawing">
|
||||||
|
<value>200, 149</value>
|
||||||
|
</data>
|
||||||
|
<data name="panTlsMore.Size" type="System.Drawing.Size, System.Drawing">
|
||||||
|
<value>500, 71</value>
|
||||||
|
</data>
|
||||||
|
<data name="panTlsMore.TabIndex" type="System.Int32, mscorlib">
|
||||||
|
<value>33</value>
|
||||||
|
</data>
|
||||||
|
<data name=">>panTlsMore.Name" xml:space="preserve">
|
||||||
|
<value>panTlsMore</value>
|
||||||
|
</data>
|
||||||
|
<data name=">>panTlsMore.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=">>panTlsMore.Parent" xml:space="preserve">
|
||||||
|
<value>gbTransport</value>
|
||||||
|
</data>
|
||||||
|
<data name=">>panTlsMore.ZOrder" xml:space="preserve">
|
||||||
|
<value>0</value>
|
||||||
|
</data>
|
||||||
|
<data name="tipNetwork.AutoSize" type="System.Boolean, mscorlib">
|
||||||
|
<value>True</value>
|
||||||
|
</data>
|
||||||
|
<data name="tipNetwork.ImeMode" type="System.Windows.Forms.ImeMode, System.Windows.Forms">
|
||||||
|
<value>NoControl</value>
|
||||||
|
</data>
|
||||||
|
<data name="tipNetwork.Location" type="System.Drawing.Point, System.Drawing">
|
||||||
|
<value>350, 32</value>
|
||||||
|
</data>
|
||||||
|
<data name="tipNetwork.Size" type="System.Drawing.Size, System.Drawing">
|
||||||
|
<value>113, 12</value>
|
||||||
|
</data>
|
||||||
|
<data name="tipNetwork.TabIndex" type="System.Int32, mscorlib">
|
||||||
|
<value>15</value>
|
||||||
|
</data>
|
||||||
|
<data name="tipNetwork.Text" xml:space="preserve">
|
||||||
|
<value>*Default value tcp</value>
|
||||||
|
</data>
|
||||||
|
<data name=">>tipNetwork.Name" xml:space="preserve">
|
||||||
|
<value>tipNetwork</value>
|
||||||
|
</data>
|
||||||
|
<data name=">>tipNetwork.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=">>tipNetwork.Parent" xml:space="preserve">
|
||||||
|
<value>gbTransport</value>
|
||||||
|
</data>
|
||||||
|
<data name=">>tipNetwork.ZOrder" xml:space="preserve">
|
||||||
|
<value>1</value>
|
||||||
|
</data>
|
||||||
|
<data name="txtPath.Location" type="System.Drawing.Point, System.Drawing">
|
||||||
|
<value>127, 124</value>
|
||||||
|
</data>
|
||||||
|
<data name="txtPath.Multiline" type="System.Boolean, mscorlib">
|
||||||
|
<value>True</value>
|
||||||
|
</data>
|
||||||
|
<data name="txtPath.Size" type="System.Drawing.Size, System.Drawing">
|
||||||
|
<value>396, 20</value>
|
||||||
|
</data>
|
||||||
|
<data name="txtPath.TabIndex" type="System.Int32, mscorlib">
|
||||||
|
<value>4</value>
|
||||||
|
</data>
|
||||||
|
<data name=">>txtPath.Name" xml:space="preserve">
|
||||||
|
<value>txtPath</value>
|
||||||
|
</data>
|
||||||
|
<data name=">>txtPath.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=">>txtPath.Parent" xml:space="preserve">
|
||||||
|
<value>gbTransport</value>
|
||||||
|
</data>
|
||||||
|
<data name=">>txtPath.ZOrder" xml:space="preserve">
|
||||||
|
<value>2</value>
|
||||||
|
</data>
|
||||||
|
<data name="cmbNetwork.Location" type="System.Drawing.Point, System.Drawing">
|
||||||
|
<value>192, 28</value>
|
||||||
|
</data>
|
||||||
|
<data name="cmbNetwork.Size" type="System.Drawing.Size, System.Drawing">
|
||||||
|
<value>143, 20</value>
|
||||||
|
</data>
|
||||||
|
<data name="cmbNetwork.TabIndex" type="System.Int32, mscorlib">
|
||||||
|
<value>1</value>
|
||||||
|
</data>
|
||||||
|
<data name=">>cmbNetwork.Name" xml:space="preserve">
|
||||||
|
<value>cmbNetwork</value>
|
||||||
|
</data>
|
||||||
|
<data name=">>cmbNetwork.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=">>cmbNetwork.Parent" xml:space="preserve">
|
||||||
|
<value>gbTransport</value>
|
||||||
|
</data>
|
||||||
|
<data name=">>cmbNetwork.ZOrder" xml:space="preserve">
|
||||||
|
<value>3</value>
|
||||||
|
</data>
|
||||||
|
<data name="labNetwork.AutoSize" type="System.Boolean, mscorlib">
|
||||||
|
<value>True</value>
|
||||||
|
</data>
|
||||||
|
<data name="labNetwork.ImeMode" type="System.Windows.Forms.ImeMode, System.Windows.Forms">
|
||||||
|
<value>NoControl</value>
|
||||||
|
</data>
|
||||||
|
<data name="labNetwork.Location" type="System.Drawing.Point, System.Drawing">
|
||||||
|
<value>9, 32</value>
|
||||||
|
</data>
|
||||||
|
<data name="labNetwork.Size" type="System.Drawing.Size, System.Drawing">
|
||||||
|
<value>167, 12</value>
|
||||||
|
</data>
|
||||||
|
<data name="labNetwork.TabIndex" type="System.Int32, mscorlib">
|
||||||
|
<value>13</value>
|
||||||
|
</data>
|
||||||
|
<data name="labNetwork.Text" xml:space="preserve">
|
||||||
|
<value>Transport protocol(network)</value>
|
||||||
|
</data>
|
||||||
|
<data name=">>labNetwork.Name" xml:space="preserve">
|
||||||
|
<value>labNetwork</value>
|
||||||
|
</data>
|
||||||
|
<data name=">>labNetwork.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=">>labNetwork.Parent" xml:space="preserve">
|
||||||
|
<value>gbTransport</value>
|
||||||
|
</data>
|
||||||
|
<data name=">>labNetwork.ZOrder" xml:space="preserve">
|
||||||
|
<value>4</value>
|
||||||
|
</data>
|
||||||
|
<data name="labPath.AutoSize" type="System.Boolean, mscorlib">
|
||||||
|
<value>True</value>
|
||||||
|
</data>
|
||||||
|
<data name="labPath.ImeMode" type="System.Windows.Forms.ImeMode, System.Windows.Forms">
|
||||||
|
<value>NoControl</value>
|
||||||
|
</data>
|
||||||
|
<data name="labPath.Location" type="System.Drawing.Point, System.Drawing">
|
||||||
|
<value>9, 128</value>
|
||||||
|
</data>
|
||||||
|
<data name="labPath.Size" type="System.Drawing.Size, System.Drawing">
|
||||||
|
<value>29, 12</value>
|
||||||
|
</data>
|
||||||
|
<data name="labPath.TabIndex" type="System.Int32, mscorlib">
|
||||||
|
<value>27</value>
|
||||||
|
</data>
|
||||||
|
<data name="labPath.Text" xml:space="preserve">
|
||||||
|
<value>Path</value>
|
||||||
|
</data>
|
||||||
|
<data name=">>labPath.Name" xml:space="preserve">
|
||||||
|
<value>labPath</value>
|
||||||
|
</data>
|
||||||
|
<data name=">>labPath.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=">>labPath.Parent" xml:space="preserve">
|
||||||
|
<value>gbTransport</value>
|
||||||
|
</data>
|
||||||
|
<data name=">>labPath.ZOrder" xml:space="preserve">
|
||||||
|
<value>5</value>
|
||||||
|
</data>
|
||||||
|
<data name="tipPath.AutoSize" type="System.Boolean, mscorlib">
|
||||||
|
<value>True</value>
|
||||||
|
</data>
|
||||||
|
<data name="tipPath.ImeMode" type="System.Windows.Forms.ImeMode, System.Windows.Forms">
|
||||||
|
<value>NoControl</value>
|
||||||
|
</data>
|
||||||
|
<data name="tipPath.Location" type="System.Drawing.Point, System.Drawing">
|
||||||
|
<value>529, 128</value>
|
||||||
|
</data>
|
||||||
|
<data name="tipPath.Size" type="System.Drawing.Size, System.Drawing">
|
||||||
|
<value>11, 12</value>
|
||||||
|
</data>
|
||||||
|
<data name="tipPath.TabIndex" type="System.Int32, mscorlib">
|
||||||
|
<value>24</value>
|
||||||
|
</data>
|
||||||
|
<data name="tipPath.Text" xml:space="preserve">
|
||||||
|
<value>*</value>
|
||||||
|
</data>
|
||||||
|
<data name=">>tipPath.Name" xml:space="preserve">
|
||||||
|
<value>tipPath</value>
|
||||||
|
</data>
|
||||||
|
<data name=">>tipPath.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=">>tipPath.Parent" xml:space="preserve">
|
||||||
|
<value>gbTransport</value>
|
||||||
|
</data>
|
||||||
|
<data name=">>tipPath.ZOrder" xml:space="preserve">
|
||||||
|
<value>6</value>
|
||||||
|
</data>
|
||||||
|
<data name="tipRequestHost.AutoSize" type="System.Boolean, mscorlib">
|
||||||
|
<value>True</value>
|
||||||
|
</data>
|
||||||
|
<data name="tipRequestHost.ImeMode" type="System.Windows.Forms.ImeMode, System.Windows.Forms">
|
||||||
|
<value>NoControl</value>
|
||||||
|
</data>
|
||||||
|
<data name="tipRequestHost.Location" type="System.Drawing.Point, System.Drawing">
|
||||||
|
<value>464, 96</value>
|
||||||
|
</data>
|
||||||
|
<data name="tipRequestHost.Size" type="System.Drawing.Size, System.Drawing">
|
||||||
|
<value>11, 12</value>
|
||||||
|
</data>
|
||||||
|
<data name="tipRequestHost.TabIndex" type="System.Int32, mscorlib">
|
||||||
|
<value>23</value>
|
||||||
|
</data>
|
||||||
|
<data name="tipRequestHost.Text" xml:space="preserve">
|
||||||
|
<value>*</value>
|
||||||
|
</data>
|
||||||
|
<data name=">>tipRequestHost.Name" xml:space="preserve">
|
||||||
|
<value>tipRequestHost</value>
|
||||||
|
</data>
|
||||||
|
<data name=">>tipRequestHost.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=">>tipRequestHost.Parent" xml:space="preserve">
|
||||||
|
<value>gbTransport</value>
|
||||||
|
</data>
|
||||||
|
<data name=">>tipRequestHost.ZOrder" xml:space="preserve">
|
||||||
|
<value>7</value>
|
||||||
|
</data>
|
||||||
|
<data name="labStreamSecurity.AutoSize" type="System.Boolean, mscorlib">
|
||||||
|
<value>True</value>
|
||||||
|
</data>
|
||||||
|
<data name="labStreamSecurity.ImeMode" type="System.Windows.Forms.ImeMode, System.Windows.Forms">
|
||||||
|
<value>NoControl</value>
|
||||||
|
</data>
|
||||||
|
<data name="labStreamSecurity.Location" type="System.Drawing.Point, System.Drawing">
|
||||||
|
<value>9, 160</value>
|
||||||
|
</data>
|
||||||
|
<data name="labStreamSecurity.Size" type="System.Drawing.Size, System.Drawing">
|
||||||
|
<value>23, 12</value>
|
||||||
|
</data>
|
||||||
|
<data name="labStreamSecurity.TabIndex" type="System.Int32, mscorlib">
|
||||||
|
<value>22</value>
|
||||||
|
</data>
|
||||||
|
<data name="labStreamSecurity.Text" xml:space="preserve">
|
||||||
|
<value>TLS</value>
|
||||||
|
</data>
|
||||||
|
<data name=">>labStreamSecurity.Name" xml:space="preserve">
|
||||||
|
<value>labStreamSecurity</value>
|
||||||
|
</data>
|
||||||
|
<data name=">>labStreamSecurity.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=">>labStreamSecurity.Parent" xml:space="preserve">
|
||||||
|
<value>gbTransport</value>
|
||||||
|
</data>
|
||||||
|
<data name=">>labStreamSecurity.ZOrder" xml:space="preserve">
|
||||||
|
<value>8</value>
|
||||||
|
</data>
|
||||||
|
<data name="cmbStreamSecurity.Location" type="System.Drawing.Point, System.Drawing">
|
||||||
|
<value>127, 156</value>
|
||||||
|
</data>
|
||||||
|
<data name="cmbStreamSecurity.Size" type="System.Drawing.Size, System.Drawing">
|
||||||
|
<value>60, 20</value>
|
||||||
|
</data>
|
||||||
|
<data name="cmbStreamSecurity.TabIndex" type="System.Int32, mscorlib">
|
||||||
|
<value>5</value>
|
||||||
|
</data>
|
||||||
|
<data name=">>cmbStreamSecurity.Name" xml:space="preserve">
|
||||||
|
<value>cmbStreamSecurity</value>
|
||||||
|
</data>
|
||||||
|
<data name=">>cmbStreamSecurity.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=">>cmbStreamSecurity.Parent" xml:space="preserve">
|
||||||
|
<value>gbTransport</value>
|
||||||
|
</data>
|
||||||
|
<data name=">>cmbStreamSecurity.ZOrder" xml:space="preserve">
|
||||||
|
<value>9</value>
|
||||||
|
</data>
|
||||||
|
<data name="tipHeaderType.AutoSize" type="System.Boolean, mscorlib">
|
||||||
|
<value>True</value>
|
||||||
|
</data>
|
||||||
|
<data name="tipHeaderType.ImeMode" type="System.Windows.Forms.ImeMode, System.Windows.Forms">
|
||||||
|
<value>NoControl</value>
|
||||||
|
</data>
|
||||||
|
<data name="tipHeaderType.Location" type="System.Drawing.Point, System.Drawing">
|
||||||
|
<value>282, 64</value>
|
||||||
|
</data>
|
||||||
|
<data name="tipHeaderType.Size" type="System.Drawing.Size, System.Drawing">
|
||||||
|
<value>11, 12</value>
|
||||||
|
</data>
|
||||||
|
<data name="tipHeaderType.TabIndex" type="System.Int32, mscorlib">
|
||||||
|
<value>20</value>
|
||||||
|
</data>
|
||||||
|
<data name="tipHeaderType.Text" xml:space="preserve">
|
||||||
|
<value>*</value>
|
||||||
|
</data>
|
||||||
|
<data name=">>tipHeaderType.Name" xml:space="preserve">
|
||||||
|
<value>tipHeaderType</value>
|
||||||
|
</data>
|
||||||
|
<data name=">>tipHeaderType.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=">>tipHeaderType.Parent" xml:space="preserve">
|
||||||
|
<value>gbTransport</value>
|
||||||
|
</data>
|
||||||
|
<data name=">>tipHeaderType.ZOrder" xml:space="preserve">
|
||||||
|
<value>10</value>
|
||||||
|
</data>
|
||||||
|
<data name="txtRequestHost.Location" type="System.Drawing.Point, System.Drawing">
|
||||||
|
<value>158, 92</value>
|
||||||
|
</data>
|
||||||
|
<data name="txtRequestHost.Multiline" type="System.Boolean, mscorlib">
|
||||||
|
<value>True</value>
|
||||||
|
</data>
|
||||||
|
<data name="txtRequestHost.Size" type="System.Drawing.Size, System.Drawing">
|
||||||
|
<value>300, 20</value>
|
||||||
|
</data>
|
||||||
|
<data name="txtRequestHost.TabIndex" type="System.Int32, mscorlib">
|
||||||
|
<value>3</value>
|
||||||
|
</data>
|
||||||
|
<data name=">>txtRequestHost.Name" xml:space="preserve">
|
||||||
|
<value>txtRequestHost</value>
|
||||||
|
</data>
|
||||||
|
<data name=">>txtRequestHost.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=">>txtRequestHost.Parent" xml:space="preserve">
|
||||||
|
<value>gbTransport</value>
|
||||||
|
</data>
|
||||||
|
<data name=">>txtRequestHost.ZOrder" xml:space="preserve">
|
||||||
|
<value>11</value>
|
||||||
|
</data>
|
||||||
|
<data name="labHeaderType.AutoSize" type="System.Boolean, mscorlib">
|
||||||
|
<value>True</value>
|
||||||
|
</data>
|
||||||
|
<data name="labHeaderType.ImeMode" type="System.Windows.Forms.ImeMode, System.Windows.Forms">
|
||||||
|
<value>NoControl</value>
|
||||||
|
</data>
|
||||||
|
<data name="labHeaderType.Location" type="System.Drawing.Point, System.Drawing">
|
||||||
|
<value>9, 64</value>
|
||||||
|
</data>
|
||||||
|
<data name="labHeaderType.Size" type="System.Drawing.Size, System.Drawing">
|
||||||
|
<value>95, 12</value>
|
||||||
|
</data>
|
||||||
|
<data name="labHeaderType.TabIndex" type="System.Int32, mscorlib">
|
||||||
|
<value>19</value>
|
||||||
|
</data>
|
||||||
|
<data name="labHeaderType.Text" xml:space="preserve">
|
||||||
|
<value>Camouflage type</value>
|
||||||
|
</data>
|
||||||
|
<data name=">>labHeaderType.Name" xml:space="preserve">
|
||||||
|
<value>labHeaderType</value>
|
||||||
|
</data>
|
||||||
|
<data name=">>labHeaderType.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=">>labHeaderType.Parent" xml:space="preserve">
|
||||||
|
<value>gbTransport</value>
|
||||||
|
</data>
|
||||||
|
<data name=">>labHeaderType.ZOrder" xml:space="preserve">
|
||||||
|
<value>12</value>
|
||||||
|
</data>
|
||||||
|
<data name="labRequestHost.AutoSize" type="System.Boolean, mscorlib">
|
||||||
|
<value>True</value>
|
||||||
|
</data>
|
||||||
|
<data name="labRequestHost.ImeMode" type="System.Windows.Forms.ImeMode, System.Windows.Forms">
|
||||||
|
<value>NoControl</value>
|
||||||
|
</data>
|
||||||
|
<data name="labRequestHost.Location" type="System.Drawing.Point, System.Drawing">
|
||||||
|
<value>9, 96</value>
|
||||||
|
</data>
|
||||||
|
<data name="labRequestHost.Size" type="System.Drawing.Size, System.Drawing">
|
||||||
|
<value>143, 12</value>
|
||||||
|
</data>
|
||||||
|
<data name="labRequestHost.TabIndex" type="System.Int32, mscorlib">
|
||||||
|
<value>17</value>
|
||||||
|
</data>
|
||||||
|
<data name="labRequestHost.Text" xml:space="preserve">
|
||||||
|
<value>Camouflage domain(host)</value>
|
||||||
|
</data>
|
||||||
|
<data name=">>labRequestHost.Name" xml:space="preserve">
|
||||||
|
<value>labRequestHost</value>
|
||||||
|
</data>
|
||||||
|
<data name=">>labRequestHost.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=">>labRequestHost.Parent" xml:space="preserve">
|
||||||
|
<value>gbTransport</value>
|
||||||
|
</data>
|
||||||
|
<data name=">>labRequestHost.ZOrder" xml:space="preserve">
|
||||||
|
<value>13</value>
|
||||||
|
</data>
|
||||||
|
<data name="cmbHeaderType.Location" type="System.Drawing.Point, System.Drawing">
|
||||||
|
<value>127, 60</value>
|
||||||
|
</data>
|
||||||
|
<data name="cmbHeaderType.Size" type="System.Drawing.Size, System.Drawing">
|
||||||
|
<value>143, 20</value>
|
||||||
|
</data>
|
||||||
|
<data name="cmbHeaderType.TabIndex" type="System.Int32, mscorlib">
|
||||||
|
<value>2</value>
|
||||||
|
</data>
|
||||||
|
<data name=">>cmbHeaderType.Name" xml:space="preserve">
|
||||||
|
<value>cmbHeaderType</value>
|
||||||
|
</data>
|
||||||
|
<data name=">>cmbHeaderType.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=">>cmbHeaderType.Parent" xml:space="preserve">
|
||||||
|
<value>gbTransport</value>
|
||||||
|
</data>
|
||||||
|
<data name=">>cmbHeaderType.ZOrder" xml:space="preserve">
|
||||||
|
<value>14</value>
|
||||||
|
</data>
|
||||||
|
<data name="gbTransport.Dock" type="System.Windows.Forms.DockStyle, System.Windows.Forms">
|
||||||
|
<value>Fill</value>
|
||||||
|
</data>
|
||||||
|
<data name="gbTransport.Location" type="System.Drawing.Point, System.Drawing">
|
||||||
|
<value>0, 0</value>
|
||||||
|
</data>
|
||||||
|
<data name="gbTransport.Size" type="System.Drawing.Size, System.Drawing">
|
||||||
|
<value>723, 223</value>
|
||||||
|
</data>
|
||||||
|
<data name="gbTransport.TabIndex" type="System.Int32, mscorlib">
|
||||||
|
<value>22</value>
|
||||||
|
</data>
|
||||||
|
<data name="gbTransport.Text" xml:space="preserve">
|
||||||
|
<value>Transport</value>
|
||||||
|
</data>
|
||||||
|
<data name=">>gbTransport.Name" xml:space="preserve">
|
||||||
|
<value>gbTransport</value>
|
||||||
|
</data>
|
||||||
|
<data name=">>gbTransport.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=">>gbTransport.Parent" xml:space="preserve">
|
||||||
|
<value>$this</value>
|
||||||
|
</data>
|
||||||
|
<data name=">>gbTransport.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.Size" type="System.Drawing.Size, System.Drawing">
|
||||||
|
<value>723, 223</value>
|
||||||
|
</data>
|
||||||
|
<data name=">>$this.Name" xml:space="preserve">
|
||||||
|
<value>ServerTransportControl</value>
|
||||||
|
</data>
|
||||||
|
<data name=">>$this.Type" xml:space="preserve">
|
||||||
|
<value>System.Windows.Forms.UserControl, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||||
|
</data>
|
||||||
|
</root>
|
||||||
@@ -117,63 +117,77 @@
|
|||||||
<resheader name="writer">
|
<resheader name="writer">
|
||||||
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||||
</resheader>
|
</resheader>
|
||||||
<data name="btnClose.Text" xml:space="preserve">
|
|
||||||
<value>取消(&C)</value>
|
|
||||||
</data>
|
|
||||||
<assembly alias="System.Drawing" name="System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
|
<assembly alias="System.Drawing" name="System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
|
||||||
<data name="label21.Size" type="System.Drawing.Size, System.Drawing">
|
<data name="tipNetwork.Size" type="System.Drawing.Size, System.Drawing">
|
||||||
|
<value>143, 12</value>
|
||||||
|
</data>
|
||||||
|
<data name="tipNetwork.Text" xml:space="preserve">
|
||||||
|
<value>*默认tcp,选错会无法连接</value>
|
||||||
|
</data>
|
||||||
|
<data name="cmbNetwork.Location" type="System.Drawing.Point, System.Drawing">
|
||||||
|
<value>127, 28</value>
|
||||||
|
</data>
|
||||||
|
<data name="cmbNetwork.Size" type="System.Drawing.Size, System.Drawing">
|
||||||
|
<value>208, 20</value>
|
||||||
|
</data>
|
||||||
|
<data name="labNetwork.Size" type="System.Drawing.Size, System.Drawing">
|
||||||
|
<value>107, 12</value>
|
||||||
|
</data>
|
||||||
|
<data name="labNetwork.Text" xml:space="preserve">
|
||||||
|
<value>传输协议(network)</value>
|
||||||
|
</data>
|
||||||
|
<data name="labPath.Size" type="System.Drawing.Size, System.Drawing">
|
||||||
|
<value>65, 12</value>
|
||||||
|
</data>
|
||||||
|
<data name="labPath.Text" xml:space="preserve">
|
||||||
|
<value>路径(path)</value>
|
||||||
|
</data>
|
||||||
|
<data name="labStreamSecurity.Size" type="System.Drawing.Size, System.Drawing">
|
||||||
|
<value>107, 12</value>
|
||||||
|
</data>
|
||||||
|
<data name="labStreamSecurity.Text" xml:space="preserve">
|
||||||
|
<value>传输层安全(tls)</value>
|
||||||
|
</data>
|
||||||
|
<data name="txtRequestHost.Location" type="System.Drawing.Point, System.Drawing">
|
||||||
|
<value>127, 92</value>
|
||||||
|
</data>
|
||||||
|
<data name="txtRequestHost.Size" type="System.Drawing.Size, System.Drawing">
|
||||||
|
<value>331, 20</value>
|
||||||
|
</data>
|
||||||
|
<data name="labHeaderType.Size" type="System.Drawing.Size, System.Drawing">
|
||||||
|
<value>89, 12</value>
|
||||||
|
</data>
|
||||||
|
<data name="labHeaderType.Text" xml:space="preserve">
|
||||||
|
<value>伪装类型(type)</value>
|
||||||
|
</data>
|
||||||
|
<data name="labRequestHost.Size" type="System.Drawing.Size, System.Drawing">
|
||||||
|
<value>89, 12</value>
|
||||||
|
</data>
|
||||||
|
<data name="labRequestHost.Text" xml:space="preserve">
|
||||||
|
<value>伪装域名(host)</value>
|
||||||
|
</data>
|
||||||
|
<data name="gbTransport.Text" xml:space="preserve">
|
||||||
|
<value>底层传输方式(transport)</value>
|
||||||
|
</data>
|
||||||
|
<data name="label1.Location" type="System.Drawing.Point, System.Drawing">
|
||||||
|
<value>282, 11</value>
|
||||||
|
</data>
|
||||||
|
<data name="clbAlpn.Location" type="System.Drawing.Point, System.Drawing">
|
||||||
|
<value>331, 7</value>
|
||||||
|
</data>
|
||||||
|
<data name="clbAlpn.Size" type="System.Drawing.Size, System.Drawing">
|
||||||
|
<value>160, 20</value>
|
||||||
|
</data>
|
||||||
|
<data name="txtSNI.Size" type="System.Drawing.Size, System.Drawing">
|
||||||
|
<value>391, 21</value>
|
||||||
|
</data>
|
||||||
|
<data name="labAllowInsecure.Size" type="System.Drawing.Size, System.Drawing">
|
||||||
<value>167, 12</value>
|
<value>167, 12</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="label21.Text" xml:space="preserve">
|
<data name="labAllowInsecure.Text" xml:space="preserve">
|
||||||
<value>跳过证书验证(allowInsecure)</value>
|
<value>跳过证书验证(allowInsecure)</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="cmbAllowInsecure.Location" type="System.Drawing.Point, System.Drawing">
|
<data name="cmbAllowInsecure.Location" type="System.Drawing.Point, System.Drawing">
|
||||||
<value>406, 185</value>
|
<value>183, 7</value>
|
||||||
</data>
|
|
||||||
<data name="label15.Size" type="System.Drawing.Size, System.Drawing">
|
|
||||||
<value>107, 12</value>
|
|
||||||
</data>
|
|
||||||
<data name="label15.Text" xml:space="preserve">
|
|
||||||
<value>底层传输安全(tls)</value>
|
|
||||||
</data>
|
|
||||||
<assembly alias="mscorlib" name="mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
|
|
||||||
<data name="cmbStreamSecurity.Enabled" type="System.Boolean, mscorlib">
|
|
||||||
<value>False</value>
|
|
||||||
</data>
|
|
||||||
<data name="label13.Text" xml:space="preserve">
|
|
||||||
<value>*手填,方便识别管理</value>
|
|
||||||
</data>
|
|
||||||
<data name="label6.Size" type="System.Drawing.Size, System.Drawing">
|
|
||||||
<value>83, 12</value>
|
|
||||||
</data>
|
|
||||||
<data name="label6.Text" xml:space="preserve">
|
|
||||||
<value>别名(remarks)</value>
|
|
||||||
</data>
|
|
||||||
<data name="label3.Size" type="System.Drawing.Size, System.Drawing">
|
|
||||||
<value>29, 12</value>
|
|
||||||
</data>
|
|
||||||
<data name="label3.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="label1.Size" type="System.Drawing.Size, System.Drawing">
|
|
||||||
<value>65, 12</value>
|
|
||||||
</data>
|
|
||||||
<data name="label1.Text" xml:space="preserve">
|
|
||||||
<value>服务器地址</value>
|
|
||||||
</data>
|
|
||||||
<data name="groupBox1.Text" xml:space="preserve">
|
|
||||||
<value>服务器</value>
|
|
||||||
</data>
|
|
||||||
<data name="btnOK.Text" xml:space="preserve">
|
|
||||||
<value>确定(&O)</value>
|
|
||||||
</data>
|
|
||||||
<data name="$this.Text" xml:space="preserve">
|
|
||||||
<value>编辑或添加[Trojan]服务器</value>
|
|
||||||
</data>
|
</data>
|
||||||
</root>
|
</root>
|
||||||
38
v2rayN/v2rayN/Forms/SubSettingControl.Designer.cs
generated
38
v2rayN/v2rayN/Forms/SubSettingControl.Designer.cs
generated
@@ -30,6 +30,10 @@
|
|||||||
{
|
{
|
||||||
System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(SubSettingControl));
|
System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(SubSettingControl));
|
||||||
this.grbMain = new System.Windows.Forms.GroupBox();
|
this.grbMain = new System.Windows.Forms.GroupBox();
|
||||||
|
this.label4 = new System.Windows.Forms.Label();
|
||||||
|
this.cmbGroup = new System.Windows.Forms.ComboBox();
|
||||||
|
this.txtUserAgent = new System.Windows.Forms.TextBox();
|
||||||
|
this.label1 = new System.Windows.Forms.Label();
|
||||||
this.btnShare = new System.Windows.Forms.Button();
|
this.btnShare = new System.Windows.Forms.Button();
|
||||||
this.chkEnabled = new System.Windows.Forms.CheckBox();
|
this.chkEnabled = new System.Windows.Forms.CheckBox();
|
||||||
this.btnRemove = new System.Windows.Forms.Button();
|
this.btnRemove = new System.Windows.Forms.Button();
|
||||||
@@ -44,6 +48,11 @@
|
|||||||
//
|
//
|
||||||
// grbMain
|
// grbMain
|
||||||
//
|
//
|
||||||
|
resources.ApplyResources(this.grbMain, "grbMain");
|
||||||
|
this.grbMain.Controls.Add(this.label4);
|
||||||
|
this.grbMain.Controls.Add(this.cmbGroup);
|
||||||
|
this.grbMain.Controls.Add(this.txtUserAgent);
|
||||||
|
this.grbMain.Controls.Add(this.label1);
|
||||||
this.grbMain.Controls.Add(this.btnShare);
|
this.grbMain.Controls.Add(this.btnShare);
|
||||||
this.grbMain.Controls.Add(this.chkEnabled);
|
this.grbMain.Controls.Add(this.chkEnabled);
|
||||||
this.grbMain.Controls.Add(this.btnRemove);
|
this.grbMain.Controls.Add(this.btnRemove);
|
||||||
@@ -51,10 +60,33 @@
|
|||||||
this.grbMain.Controls.Add(this.txtRemarks);
|
this.grbMain.Controls.Add(this.txtRemarks);
|
||||||
this.grbMain.Controls.Add(this.label2);
|
this.grbMain.Controls.Add(this.label2);
|
||||||
this.grbMain.Controls.Add(this.label3);
|
this.grbMain.Controls.Add(this.label3);
|
||||||
resources.ApplyResources(this.grbMain, "grbMain");
|
|
||||||
this.grbMain.Name = "grbMain";
|
this.grbMain.Name = "grbMain";
|
||||||
this.grbMain.TabStop = false;
|
this.grbMain.TabStop = false;
|
||||||
//
|
//
|
||||||
|
// label4
|
||||||
|
//
|
||||||
|
resources.ApplyResources(this.label4, "label4");
|
||||||
|
this.label4.Name = "label4";
|
||||||
|
//
|
||||||
|
// cmbGroup
|
||||||
|
//
|
||||||
|
resources.ApplyResources(this.cmbGroup, "cmbGroup");
|
||||||
|
this.cmbGroup.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList;
|
||||||
|
this.cmbGroup.FormattingEnabled = true;
|
||||||
|
this.cmbGroup.Name = "cmbGroup";
|
||||||
|
this.cmbGroup.Leave += new System.EventHandler(this.txtRemarks_Leave);
|
||||||
|
//
|
||||||
|
// txtUserAgent
|
||||||
|
//
|
||||||
|
resources.ApplyResources(this.txtUserAgent, "txtUserAgent");
|
||||||
|
this.txtUserAgent.Name = "txtUserAgent";
|
||||||
|
this.txtUserAgent.Leave += new System.EventHandler(this.txtRemarks_Leave);
|
||||||
|
//
|
||||||
|
// label1
|
||||||
|
//
|
||||||
|
resources.ApplyResources(this.label1, "label1");
|
||||||
|
this.label1.Name = "label1";
|
||||||
|
//
|
||||||
// btnShare
|
// btnShare
|
||||||
//
|
//
|
||||||
resources.ApplyResources(this.btnShare, "btnShare");
|
resources.ApplyResources(this.btnShare, "btnShare");
|
||||||
@@ -130,5 +162,9 @@
|
|||||||
private System.Windows.Forms.CheckBox chkEnabled;
|
private System.Windows.Forms.CheckBox chkEnabled;
|
||||||
private System.Windows.Forms.Button btnShare;
|
private System.Windows.Forms.Button btnShare;
|
||||||
private System.Windows.Forms.PictureBox picQRCode;
|
private System.Windows.Forms.PictureBox picQRCode;
|
||||||
|
private System.Windows.Forms.TextBox txtUserAgent;
|
||||||
|
private System.Windows.Forms.Label label1;
|
||||||
|
private System.Windows.Forms.Label label4;
|
||||||
|
private System.Windows.Forms.ComboBox cmbGroup;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -3,6 +3,8 @@ using System.Windows.Forms;
|
|||||||
using v2rayN.Base;
|
using v2rayN.Base;
|
||||||
using v2rayN.Handler;
|
using v2rayN.Handler;
|
||||||
using v2rayN.Mode;
|
using v2rayN.Mode;
|
||||||
|
using System.Linq;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
|
||||||
namespace v2rayN.Forms
|
namespace v2rayN.Forms
|
||||||
{
|
{
|
||||||
@@ -10,7 +12,7 @@ namespace v2rayN.Forms
|
|||||||
public partial class SubSettingControl : UserControl
|
public partial class SubSettingControl : UserControl
|
||||||
{
|
{
|
||||||
public event ChangeEventHandler OnButtonClicked;
|
public event ChangeEventHandler OnButtonClicked;
|
||||||
|
private List<GroupItem> groupItem;
|
||||||
|
|
||||||
public SubItem subItem
|
public SubItem subItem
|
||||||
{
|
{
|
||||||
@@ -25,6 +27,12 @@ namespace v2rayN.Forms
|
|||||||
private void SubSettingControl_Load(object sender, EventArgs e)
|
private void SubSettingControl_Load(object sender, EventArgs e)
|
||||||
{
|
{
|
||||||
this.Height = grbMain.Height;
|
this.Height = grbMain.Height;
|
||||||
|
|
||||||
|
groupItem = LazyConfig.Instance.GetConfig().groupItem;
|
||||||
|
|
||||||
|
cmbGroup.Items.AddRange(groupItem.Select(t => t.remarks).ToArray());
|
||||||
|
cmbGroup.Items.Add(string.Empty);
|
||||||
|
|
||||||
BindingSub();
|
BindingSub();
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -35,6 +43,13 @@ namespace v2rayN.Forms
|
|||||||
txtRemarks.Text = subItem.remarks.ToString();
|
txtRemarks.Text = subItem.remarks.ToString();
|
||||||
txtUrl.Text = subItem.url.ToString();
|
txtUrl.Text = subItem.url.ToString();
|
||||||
chkEnabled.Checked = subItem.enabled;
|
chkEnabled.Checked = subItem.enabled;
|
||||||
|
txtUserAgent.Text = subItem.userAgent;
|
||||||
|
|
||||||
|
var index = groupItem.FindIndex(t => t.id == subItem.groupId);
|
||||||
|
if (index >= 0)
|
||||||
|
{
|
||||||
|
cmbGroup.SelectedIndex = index;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
private void EndBindingSub()
|
private void EndBindingSub()
|
||||||
@@ -44,6 +59,17 @@ namespace v2rayN.Forms
|
|||||||
subItem.remarks = txtRemarks.Text.TrimEx();
|
subItem.remarks = txtRemarks.Text.TrimEx();
|
||||||
subItem.url = txtUrl.Text.TrimEx();
|
subItem.url = txtUrl.Text.TrimEx();
|
||||||
subItem.enabled = chkEnabled.Checked;
|
subItem.enabled = chkEnabled.Checked;
|
||||||
|
subItem.userAgent = txtUserAgent.Text.TrimEx();
|
||||||
|
|
||||||
|
var index = groupItem.FindIndex(t => t.remarks == cmbGroup.Text);
|
||||||
|
if (index >= 0)
|
||||||
|
{
|
||||||
|
subItem.groupId = groupItem[index].id;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
subItem.groupId = string.Empty;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
private void txtRemarks_Leave(object sender, EventArgs e)
|
private void txtRemarks_Leave(object sender, EventArgs e)
|
||||||
|
|||||||
@@ -117,50 +117,185 @@
|
|||||||
<resheader name="writer">
|
<resheader name="writer">
|
||||||
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||||
</resheader>
|
</resheader>
|
||||||
|
<data name="label1.Text" xml:space="preserve">
|
||||||
|
<value>User Agent(optional)</value>
|
||||||
|
</data>
|
||||||
<assembly alias="System.Windows.Forms" name="System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
|
<assembly alias="System.Windows.Forms" name="System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
|
||||||
<data name="btnShare.ImeMode" type="System.Windows.Forms.ImeMode, System.Windows.Forms">
|
<data name="label2.ImeMode" type="System.Windows.Forms.ImeMode, System.Windows.Forms">
|
||||||
<value>NoControl</value>
|
<value>NoControl</value>
|
||||||
</data>
|
</data>
|
||||||
<assembly alias="System.Drawing" name="System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
|
<data name=">>txtUrl.Parent" xml:space="preserve">
|
||||||
<data name="btnShare.Location" type="System.Drawing.Point, System.Drawing">
|
|
||||||
<value>434, 21</value>
|
|
||||||
</data>
|
|
||||||
<data name="btnShare.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="btnShare.TabIndex" type="System.Int32, mscorlib">
|
|
||||||
<value>26</value>
|
|
||||||
</data>
|
|
||||||
<data name="btnShare.Text" xml:space="preserve">
|
|
||||||
<value>Share</value>
|
|
||||||
</data>
|
|
||||||
<data name=">>btnShare.Name" xml:space="preserve">
|
|
||||||
<value>btnShare</value>
|
|
||||||
</data>
|
|
||||||
<data name=">>btnShare.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=">>btnShare.Parent" xml:space="preserve">
|
|
||||||
<value>grbMain</value>
|
<value>grbMain</value>
|
||||||
</data>
|
</data>
|
||||||
<data name=">>btnShare.ZOrder" xml:space="preserve">
|
<assembly alias="System.Drawing" name="System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
|
||||||
<value>0</value>
|
<data name="picQRCode.Size" type="System.Drawing.Size, System.Drawing">
|
||||||
|
<value>619, 162</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="chkEnabled.AutoSize" type="System.Boolean, mscorlib">
|
<data name="cmbGroup.Location" type="System.Drawing.Point, System.Drawing">
|
||||||
<value>True</value>
|
<value>127, 147</value>
|
||||||
</data>
|
|
||||||
<data name="chkEnabled.ImeMode" type="System.Windows.Forms.ImeMode, System.Windows.Forms">
|
|
||||||
<value>NoControl</value>
|
|
||||||
</data>
|
|
||||||
<data name="chkEnabled.Location" type="System.Drawing.Point, System.Drawing">
|
|
||||||
<value>368, 23</value>
|
|
||||||
</data>
|
</data>
|
||||||
<data name="chkEnabled.Size" type="System.Drawing.Size, System.Drawing">
|
<data name="chkEnabled.Size" type="System.Drawing.Size, System.Drawing">
|
||||||
<value>60, 16</value>
|
<value>60, 16</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="chkEnabled.TabIndex" type="System.Int32, mscorlib">
|
<data name=">>cmbGroup.Type" xml:space="preserve">
|
||||||
<value>25</value>
|
<value>System.Windows.Forms.ComboBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||||
|
</data>
|
||||||
|
<data name=">>txtUrl.Name" xml:space="preserve">
|
||||||
|
<value>txtUrl</value>
|
||||||
|
</data>
|
||||||
|
<data name=">>cmbGroup.Parent" xml:space="preserve">
|
||||||
|
<value>grbMain</value>
|
||||||
|
</data>
|
||||||
|
<data name=">>picQRCode.Name" xml:space="preserve">
|
||||||
|
<value>picQRCode</value>
|
||||||
|
</data>
|
||||||
|
<data name=">>btnShare.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="btnRemove.Text" xml:space="preserve">
|
||||||
|
<value>Remove</value>
|
||||||
|
</data>
|
||||||
|
<data name="btnRemove.Location" type="System.Drawing.Point, System.Drawing">
|
||||||
|
<value>525, 21</value>
|
||||||
|
</data>
|
||||||
|
<assembly alias="mscorlib" name="mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
|
||||||
|
<data name="btnRemove.TabIndex" type="System.Int32, mscorlib">
|
||||||
|
<value>24</value>
|
||||||
|
</data>
|
||||||
|
<data name=">>txtUserAgent.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="txtUserAgent.Location" type="System.Drawing.Point, System.Drawing">
|
||||||
|
<value>127, 111</value>
|
||||||
|
</data>
|
||||||
|
<data name=">>$this.Name" xml:space="preserve">
|
||||||
|
<value>SubSettingControl</value>
|
||||||
|
</data>
|
||||||
|
<data name=">>label1.Name" xml:space="preserve">
|
||||||
|
<value>label1</value>
|
||||||
|
</data>
|
||||||
|
<data name="grbMain.Text" xml:space="preserve">
|
||||||
|
<value>Subscription details</value>
|
||||||
|
</data>
|
||||||
|
<data name="btnShare.TabIndex" type="System.Int32, mscorlib">
|
||||||
|
<value>26</value>
|
||||||
|
</data>
|
||||||
|
<data name=">>grbMain.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=">>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="txtUrl.Multiline" type="System.Boolean, mscorlib">
|
||||||
|
<value>True</value>
|
||||||
|
</data>
|
||||||
|
<data name=">>txtRemarks.Parent" xml:space="preserve">
|
||||||
|
<value>grbMain</value>
|
||||||
|
</data>
|
||||||
|
<data name="label4.TabIndex" type="System.Int32, mscorlib">
|
||||||
|
<value>36</value>
|
||||||
|
</data>
|
||||||
|
<data name="btnShare.Location" type="System.Drawing.Point, System.Drawing">
|
||||||
|
<value>434, 21</value>
|
||||||
|
</data>
|
||||||
|
<data name="label3.Size" type="System.Drawing.Size, System.Drawing">
|
||||||
|
<value>83, 12</value>
|
||||||
|
</data>
|
||||||
|
<data name=">>cmbGroup.Name" xml:space="preserve">
|
||||||
|
<value>cmbGroup</value>
|
||||||
|
</data>
|
||||||
|
<data name="txtRemarks.Size" type="System.Drawing.Size, System.Drawing">
|
||||||
|
<value>232, 21</value>
|
||||||
|
</data>
|
||||||
|
<data name="grbMain.Dock" type="System.Windows.Forms.DockStyle, System.Windows.Forms">
|
||||||
|
<value>Top</value>
|
||||||
|
</data>
|
||||||
|
<data name="$this.AutoScaleDimensions" type="System.Drawing.SizeF, System.Drawing">
|
||||||
|
<value>6, 12</value>
|
||||||
|
</data>
|
||||||
|
<data name=">>label3.Name" xml:space="preserve">
|
||||||
|
<value>label3</value>
|
||||||
|
</data>
|
||||||
|
<data name="txtRemarks.Location" type="System.Drawing.Point, System.Drawing">
|
||||||
|
<value>127, 21</value>
|
||||||
|
</data>
|
||||||
|
<data name="btnShare.ImeMode" type="System.Windows.Forms.ImeMode, System.Windows.Forms">
|
||||||
|
<value>NoControl</value>
|
||||||
|
</data>
|
||||||
|
<data name="btnShare.Text" xml:space="preserve">
|
||||||
|
<value>Share</value>
|
||||||
|
</data>
|
||||||
|
<data name=">>label3.ZOrder" xml:space="preserve">
|
||||||
|
<value>10</value>
|
||||||
|
</data>
|
||||||
|
<data name=">>label1.Parent" xml:space="preserve">
|
||||||
|
<value>grbMain</value>
|
||||||
|
</data>
|
||||||
|
<data name=">>chkEnabled.ZOrder" xml:space="preserve">
|
||||||
|
<value>5</value>
|
||||||
|
</data>
|
||||||
|
<data name="label3.Location" type="System.Drawing.Point, System.Drawing">
|
||||||
|
<value>12, 53</value>
|
||||||
|
</data>
|
||||||
|
<data name=">>label1.ZOrder" xml:space="preserve">
|
||||||
|
<value>3</value>
|
||||||
|
</data>
|
||||||
|
<data name="picQRCode.Dock" type="System.Windows.Forms.DockStyle, System.Windows.Forms">
|
||||||
|
<value>Fill</value>
|
||||||
|
</data>
|
||||||
|
<data name="label1.TabIndex" type="System.Int32, mscorlib">
|
||||||
|
<value>27</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="txtUserAgent.Size" type="System.Drawing.Size, System.Drawing">
|
||||||
|
<value>473, 21</value>
|
||||||
|
</data>
|
||||||
|
<data name="label1.Size" type="System.Drawing.Size, System.Drawing">
|
||||||
|
<value>125, 12</value>
|
||||||
|
</data>
|
||||||
|
<data name=">>label4.Name" xml:space="preserve">
|
||||||
|
<value>label4</value>
|
||||||
|
</data>
|
||||||
|
<data name="txtUrl.Location" type="System.Drawing.Point, System.Drawing">
|
||||||
|
<value>127, 53</value>
|
||||||
|
</data>
|
||||||
|
<data name="txtUserAgent.TabIndex" type="System.Int32, mscorlib">
|
||||||
|
<value>3</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=">>txtUrl.ZOrder" xml:space="preserve">
|
||||||
|
<value>7</value>
|
||||||
|
</data>
|
||||||
|
<data name=">>chkEnabled.Parent" xml:space="preserve">
|
||||||
|
<value>grbMain</value>
|
||||||
|
</data>
|
||||||
|
<data name="cmbGroup.Size" type="System.Drawing.Size, System.Drawing">
|
||||||
|
<value>232, 20</value>
|
||||||
|
</data>
|
||||||
|
<data name=">>txtUserAgent.ZOrder" xml:space="preserve">
|
||||||
|
<value>2</value>
|
||||||
|
</data>
|
||||||
|
<data name="txtRemarks.TabIndex" type="System.Int32, mscorlib">
|
||||||
|
<value>1</value>
|
||||||
|
</data>
|
||||||
|
<data name="label4.ImeMode" type="System.Windows.Forms.ImeMode, System.Windows.Forms">
|
||||||
|
<value>NoControl</value>
|
||||||
|
</data>
|
||||||
|
<data name="label2.Size" type="System.Drawing.Size, System.Drawing">
|
||||||
|
<value>47, 12</value>
|
||||||
|
</data>
|
||||||
|
<data name="txtUrl.ScrollBars" type="System.Windows.Forms.ScrollBars, System.Windows.Forms">
|
||||||
|
<value>Vertical</value>
|
||||||
|
</data>
|
||||||
|
<data name=">>btnRemove.Name" xml:space="preserve">
|
||||||
|
<value>btnRemove</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>
|
||||||
<data name="chkEnabled.Text" xml:space="preserve">
|
<data name="chkEnabled.Text" xml:space="preserve">
|
||||||
<value>Enable</value>
|
<value>Enable</value>
|
||||||
@@ -168,220 +303,187 @@
|
|||||||
<data name=">>chkEnabled.Name" xml:space="preserve">
|
<data name=">>chkEnabled.Name" xml:space="preserve">
|
||||||
<value>chkEnabled</value>
|
<value>chkEnabled</value>
|
||||||
</data>
|
</data>
|
||||||
<data name=">>chkEnabled.Type" xml:space="preserve">
|
|
||||||
<value>System.Windows.Forms.CheckBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
|
||||||
</data>
|
|
||||||
<data name=">>chkEnabled.Parent" xml:space="preserve">
|
|
||||||
<value>grbMain</value>
|
|
||||||
</data>
|
|
||||||
<data name=">>chkEnabled.ZOrder" xml:space="preserve">
|
|
||||||
<value>1</value>
|
|
||||||
</data>
|
|
||||||
<data name="btnRemove.ImeMode" type="System.Windows.Forms.ImeMode, System.Windows.Forms">
|
|
||||||
<value>NoControl</value>
|
|
||||||
</data>
|
|
||||||
<data name="btnRemove.Location" type="System.Drawing.Point, System.Drawing">
|
|
||||||
<value>525, 21</value>
|
|
||||||
</data>
|
|
||||||
<data name="btnRemove.Size" type="System.Drawing.Size, System.Drawing">
|
|
||||||
<value>75, 23</value>
|
|
||||||
</data>
|
|
||||||
<data name="btnRemove.TabIndex" type="System.Int32, mscorlib">
|
|
||||||
<value>24</value>
|
|
||||||
</data>
|
|
||||||
<data name="btnRemove.Text" xml:space="preserve">
|
|
||||||
<value>Remove</value>
|
|
||||||
</data>
|
|
||||||
<data name=">>btnRemove.Name" xml:space="preserve">
|
|
||||||
<value>btnRemove</value>
|
|
||||||
</data>
|
|
||||||
<data name=">>btnRemove.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=">>btnRemove.Parent" xml:space="preserve">
|
|
||||||
<value>grbMain</value>
|
|
||||||
</data>
|
|
||||||
<data name=">>btnRemove.ZOrder" xml:space="preserve">
|
|
||||||
<value>2</value>
|
|
||||||
</data>
|
|
||||||
<data name="txtUrl.Location" type="System.Drawing.Point, System.Drawing">
|
|
||||||
<value>127, 55</value>
|
|
||||||
</data>
|
|
||||||
<data name="txtUrl.Multiline" type="System.Boolean, mscorlib">
|
|
||||||
<value>True</value>
|
|
||||||
</data>
|
|
||||||
<data name="txtUrl.ScrollBars" type="System.Windows.Forms.ScrollBars, System.Windows.Forms">
|
|
||||||
<value>Vertical</value>
|
|
||||||
</data>
|
|
||||||
<data name="txtUrl.Size" type="System.Drawing.Size, System.Drawing">
|
|
||||||
<value>473, 46</value>
|
|
||||||
</data>
|
|
||||||
<data name="txtUrl.TabIndex" type="System.Int32, mscorlib">
|
|
||||||
<value>23</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>grbMain</value>
|
|
||||||
</data>
|
|
||||||
<data name=">>txtUrl.ZOrder" xml:space="preserve">
|
|
||||||
<value>3</value>
|
|
||||||
</data>
|
|
||||||
<data name="txtRemarks.Location" type="System.Drawing.Point, System.Drawing">
|
|
||||||
<value>127, 21</value>
|
|
||||||
</data>
|
|
||||||
<data name="txtRemarks.Size" type="System.Drawing.Size, System.Drawing">
|
|
||||||
<value>232, 21</value>
|
|
||||||
</data>
|
|
||||||
<data name="txtRemarks.TabIndex" type="System.Int32, mscorlib">
|
|
||||||
<value>11</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>grbMain</value>
|
|
||||||
</data>
|
|
||||||
<data name=">>txtRemarks.ZOrder" xml:space="preserve">
|
|
||||||
<value>4</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>12, 25</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>10</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>grbMain</value>
|
|
||||||
</data>
|
|
||||||
<data name=">>label2.ZOrder" xml:space="preserve">
|
|
||||||
<value>5</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, 55</value>
|
|
||||||
</data>
|
|
||||||
<data name="label3.Size" type="System.Drawing.Size, System.Drawing">
|
|
||||||
<value>83, 12</value>
|
|
||||||
</data>
|
|
||||||
<data name="label3.TabIndex" type="System.Int32, mscorlib">
|
|
||||||
<value>0</value>
|
|
||||||
</data>
|
|
||||||
<data name="label3.Text" xml:space="preserve">
|
|
||||||
<value>Address (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>grbMain</value>
|
|
||||||
</data>
|
|
||||||
<data name=">>label3.ZOrder" xml:space="preserve">
|
|
||||||
<value>6</value>
|
|
||||||
</data>
|
|
||||||
<data name="grbMain.Dock" type="System.Windows.Forms.DockStyle, System.Windows.Forms">
|
|
||||||
<value>Top</value>
|
|
||||||
</data>
|
|
||||||
<data name="grbMain.Location" type="System.Drawing.Point, System.Drawing">
|
|
||||||
<value>0, 0</value>
|
|
||||||
</data>
|
|
||||||
<data name="grbMain.Size" type="System.Drawing.Size, System.Drawing">
|
|
||||||
<value>619, 110</value>
|
|
||||||
</data>
|
|
||||||
<data name="grbMain.TabIndex" type="System.Int32, mscorlib">
|
|
||||||
<value>10</value>
|
|
||||||
</data>
|
|
||||||
<data name="grbMain.Text" xml:space="preserve">
|
|
||||||
<value>Subscription details</value>
|
|
||||||
</data>
|
|
||||||
<data name=">>grbMain.Name" xml:space="preserve">
|
|
||||||
<value>grbMain</value>
|
|
||||||
</data>
|
|
||||||
<data name=">>grbMain.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=">>grbMain.Parent" xml:space="preserve">
|
|
||||||
<value>$this</value>
|
|
||||||
</data>
|
|
||||||
<data name=">>grbMain.ZOrder" xml:space="preserve">
|
|
||||||
<value>1</value>
|
|
||||||
</data>
|
|
||||||
<data name="picQRCode.Dock" type="System.Windows.Forms.DockStyle, System.Windows.Forms">
|
|
||||||
<value>Fill</value>
|
|
||||||
</data>
|
|
||||||
<data name="picQRCode.ImeMode" type="System.Windows.Forms.ImeMode, System.Windows.Forms">
|
|
||||||
<value>NoControl</value>
|
|
||||||
</data>
|
|
||||||
<data name="picQRCode.Location" type="System.Drawing.Point, System.Drawing">
|
|
||||||
<value>0, 110</value>
|
|
||||||
</data>
|
|
||||||
<data name="picQRCode.Size" type="System.Drawing.Size, System.Drawing">
|
|
||||||
<value>619, 200</value>
|
|
||||||
</data>
|
|
||||||
<data name="picQRCode.SizeMode" type="System.Windows.Forms.PictureBoxSizeMode, System.Windows.Forms">
|
<data name="picQRCode.SizeMode" type="System.Windows.Forms.PictureBoxSizeMode, System.Windows.Forms">
|
||||||
<value>Zoom</value>
|
<value>Zoom</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name=">>txtRemarks.ZOrder" xml:space="preserve">
|
||||||
|
<value>8</value>
|
||||||
|
</data>
|
||||||
<data name="picQRCode.TabIndex" type="System.Int32, mscorlib">
|
<data name="picQRCode.TabIndex" type="System.Int32, mscorlib">
|
||||||
<value>25</value>
|
<value>25</value>
|
||||||
</data>
|
</data>
|
||||||
<data name=">>picQRCode.Name" xml:space="preserve">
|
<data name="label4.Text" xml:space="preserve">
|
||||||
<value>picQRCode</value>
|
<value>Belong to Group</value>
|
||||||
</data>
|
</data>
|
||||||
<data name=">>picQRCode.Type" xml:space="preserve">
|
<data name="cmbGroup.TabIndex" type="System.Int32, mscorlib">
|
||||||
<value>System.Windows.Forms.PictureBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
<value>35</value>
|
||||||
</data>
|
</data>
|
||||||
<data name=">>picQRCode.Parent" xml:space="preserve">
|
<data name=">>txtRemarks.Name" xml:space="preserve">
|
||||||
<value>$this</value>
|
<value>txtRemarks</value>
|
||||||
|
</data>
|
||||||
|
<data name="label1.ImeMode" type="System.Windows.Forms.ImeMode, System.Windows.Forms">
|
||||||
|
<value>NoControl</value>
|
||||||
|
</data>
|
||||||
|
<data name="btnShare.Size" type="System.Drawing.Size, System.Drawing">
|
||||||
|
<value>75, 23</value>
|
||||||
|
</data>
|
||||||
|
<data name=">>btnRemove.ZOrder" xml:space="preserve">
|
||||||
|
<value>6</value>
|
||||||
|
</data>
|
||||||
|
<data name=">>btnShare.Parent" xml:space="preserve">
|
||||||
|
<value>grbMain</value>
|
||||||
|
</data>
|
||||||
|
<data name="chkEnabled.TabIndex" type="System.Int32, mscorlib">
|
||||||
|
<value>25</value>
|
||||||
|
</data>
|
||||||
|
<data name=">>label4.ZOrder" xml:space="preserve">
|
||||||
|
<value>0</value>
|
||||||
|
</data>
|
||||||
|
<data name=">>txtUserAgent.Parent" xml:space="preserve">
|
||||||
|
<value>grbMain</value>
|
||||||
|
</data>
|
||||||
|
<data name=">>cmbGroup.ZOrder" xml:space="preserve">
|
||||||
|
<value>1</value>
|
||||||
|
</data>
|
||||||
|
<data name="txtUrl.TabIndex" type="System.Int32, mscorlib">
|
||||||
|
<value>2</value>
|
||||||
|
</data>
|
||||||
|
<data name="grbMain.TabIndex" type="System.Int32, mscorlib">
|
||||||
|
<value>10</value>
|
||||||
|
</data>
|
||||||
|
<data name=">>label2.Parent" xml:space="preserve">
|
||||||
|
<value>grbMain</value>
|
||||||
|
</data>
|
||||||
|
<data name=">>btnRemove.Parent" xml:space="preserve">
|
||||||
|
<value>grbMain</value>
|
||||||
|
</data>
|
||||||
|
<data name="chkEnabled.Location" type="System.Drawing.Point, System.Drawing">
|
||||||
|
<value>368, 23</value>
|
||||||
|
</data>
|
||||||
|
<data name="label2.AutoSize" type="System.Boolean, mscorlib">
|
||||||
|
<value>True</value>
|
||||||
|
</data>
|
||||||
|
<data name="chkEnabled.AutoSize" type="System.Boolean, mscorlib">
|
||||||
|
<value>True</value>
|
||||||
|
</data>
|
||||||
|
<data name="grbMain.Location" type="System.Drawing.Point, System.Drawing">
|
||||||
|
<value>0, 0</value>
|
||||||
|
</data>
|
||||||
|
<data name="label3.AutoSize" type="System.Boolean, mscorlib">
|
||||||
|
<value>True</value>
|
||||||
|
</data>
|
||||||
|
<data name="label1.AutoSize" type="System.Boolean, mscorlib">
|
||||||
|
<value>True</value>
|
||||||
</data>
|
</data>
|
||||||
<data name=">>picQRCode.ZOrder" xml:space="preserve">
|
<data name=">>picQRCode.ZOrder" xml:space="preserve">
|
||||||
<value>0</value>
|
<value>0</value>
|
||||||
</data>
|
</data>
|
||||||
<metadata name="$this.Localizable" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
<data name="label3.ImeMode" type="System.Windows.Forms.ImeMode, System.Windows.Forms">
|
||||||
|
<value>NoControl</value>
|
||||||
|
</data>
|
||||||
|
<data name=">>label2.Name" xml:space="preserve">
|
||||||
|
<value>label2</value>
|
||||||
|
</data>
|
||||||
|
<data name=">>grbMain.Parent" xml:space="preserve">
|
||||||
|
<value>$this</value>
|
||||||
|
</data>
|
||||||
|
<data name="label4.AutoSize" type="System.Boolean, mscorlib">
|
||||||
<value>True</value>
|
<value>True</value>
|
||||||
</metadata>
|
</data>
|
||||||
<data name="$this.AutoScaleDimensions" type="System.Drawing.SizeF, System.Drawing">
|
<data name="grbMain.Size" type="System.Drawing.Size, System.Drawing">
|
||||||
<value>6, 12</value>
|
<value>619, 188</value>
|
||||||
|
</data>
|
||||||
|
<data name=">>btnShare.Name" xml:space="preserve">
|
||||||
|
<value>btnShare</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="$this.Size" type="System.Drawing.Size, System.Drawing">
|
<data name="$this.Size" type="System.Drawing.Size, System.Drawing">
|
||||||
<value>619, 310</value>
|
<value>619, 350</value>
|
||||||
</data>
|
</data>
|
||||||
<data name=">>$this.Name" xml:space="preserve">
|
<data name=">>btnShare.ZOrder" xml:space="preserve">
|
||||||
<value>SubSettingControl</value>
|
<value>4</value>
|
||||||
|
</data>
|
||||||
|
<data name=">>label2.ZOrder" xml:space="preserve">
|
||||||
|
<value>9</value>
|
||||||
|
</data>
|
||||||
|
<data name="chkEnabled.ImeMode" type="System.Windows.Forms.ImeMode, System.Windows.Forms">
|
||||||
|
<value>NoControl</value>
|
||||||
|
</data>
|
||||||
|
<data name="label1.Location" type="System.Drawing.Point, System.Drawing">
|
||||||
|
<value>12, 115</value>
|
||||||
|
</data>
|
||||||
|
<data name="picQRCode.Location" type="System.Drawing.Point, System.Drawing">
|
||||||
|
<value>0, 188</value>
|
||||||
|
</data>
|
||||||
|
<data name=">>txtUserAgent.Name" xml:space="preserve">
|
||||||
|
<value>txtUserAgent</value>
|
||||||
|
</data>
|
||||||
|
<data name="label2.Text" xml:space="preserve">
|
||||||
|
<value>Remarks</value>
|
||||||
|
</data>
|
||||||
|
<data name=">>label4.Parent" xml:space="preserve">
|
||||||
|
<value>grbMain</value>
|
||||||
|
</data>
|
||||||
|
<data name="picQRCode.ImeMode" type="System.Windows.Forms.ImeMode, System.Windows.Forms">
|
||||||
|
<value>NoControl</value>
|
||||||
|
</data>
|
||||||
|
<data name="txtUrl.Size" type="System.Drawing.Size, System.Drawing">
|
||||||
|
<value>473, 46</value>
|
||||||
|
</data>
|
||||||
|
<data name="label2.Location" type="System.Drawing.Point, System.Drawing">
|
||||||
|
<value>12, 25</value>
|
||||||
|
</data>
|
||||||
|
<data name="btnRemove.Size" type="System.Drawing.Size, System.Drawing">
|
||||||
|
<value>75, 23</value>
|
||||||
|
</data>
|
||||||
|
<data name="label4.Location" type="System.Drawing.Point, System.Drawing">
|
||||||
|
<value>12, 151</value>
|
||||||
|
</data>
|
||||||
|
<data name="label4.Size" type="System.Drawing.Size, System.Drawing">
|
||||||
|
<value>95, 12</value>
|
||||||
|
</data>
|
||||||
|
<data name=">>label3.Parent" xml:space="preserve">
|
||||||
|
<value>grbMain</value>
|
||||||
|
</data>
|
||||||
|
<data name=">>grbMain.ZOrder" xml:space="preserve">
|
||||||
|
<value>1</value>
|
||||||
|
</data>
|
||||||
|
<data name="label3.Text" xml:space="preserve">
|
||||||
|
<value>Address (url)</value>
|
||||||
|
</data>
|
||||||
|
<data name=">>picQRCode.Parent" xml:space="preserve">
|
||||||
|
<value>$this</value>
|
||||||
|
</data>
|
||||||
|
<data name=">>btnRemove.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="label3.TabIndex" type="System.Int32, mscorlib">
|
||||||
|
<value>0</value>
|
||||||
</data>
|
</data>
|
||||||
<data name=">>$this.Type" xml:space="preserve">
|
<data name=">>$this.Type" xml:space="preserve">
|
||||||
<value>System.Windows.Forms.UserControl, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
<value>System.Windows.Forms.UserControl, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name=">>picQRCode.Type" xml:space="preserve">
|
||||||
|
<value>System.Windows.Forms.PictureBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||||
|
</data>
|
||||||
|
<data name=">>grbMain.Name" xml:space="preserve">
|
||||||
|
<value>grbMain</value>
|
||||||
|
</data>
|
||||||
|
<data name="btnRemove.ImeMode" type="System.Windows.Forms.ImeMode, System.Windows.Forms">
|
||||||
|
<value>NoControl</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=">>chkEnabled.Type" xml:space="preserve">
|
||||||
|
<value>System.Windows.Forms.CheckBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||||
|
</data>
|
||||||
|
<data name=">>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="label2.TabIndex" type="System.Int32, mscorlib">
|
||||||
|
<value>10</value>
|
||||||
|
</data>
|
||||||
|
<metadata name="$this.Localizable" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||||
|
<value>True</value>
|
||||||
|
</metadata>
|
||||||
</root>
|
</root>
|
||||||
@@ -117,10 +117,22 @@
|
|||||||
<resheader name="writer">
|
<resheader name="writer">
|
||||||
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||||
</resheader>
|
</resheader>
|
||||||
|
<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>53, 12</value>
|
||||||
|
</data>
|
||||||
|
<data name="label4.Text" xml:space="preserve">
|
||||||
|
<value>所属分组</value>
|
||||||
|
</data>
|
||||||
|
<data name="label1.Size" type="System.Drawing.Size, System.Drawing">
|
||||||
|
<value>101, 12</value>
|
||||||
|
</data>
|
||||||
|
<data name="label1.Text" xml:space="preserve">
|
||||||
|
<value>User Agent(可选)</value>
|
||||||
|
</data>
|
||||||
<data name="btnShare.Text" xml:space="preserve">
|
<data name="btnShare.Text" xml:space="preserve">
|
||||||
<value>分享</value>
|
<value>分享</value>
|
||||||
</data>
|
</data>
|
||||||
<assembly alias="System.Drawing" name="System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
|
|
||||||
<data name="chkEnabled.Size" type="System.Drawing.Size, System.Drawing">
|
<data name="chkEnabled.Size" type="System.Drawing.Size, System.Drawing">
|
||||||
<value>48, 16</value>
|
<value>48, 16</value>
|
||||||
</data>
|
</data>
|
||||||
|
|||||||
@@ -68,11 +68,6 @@ namespace v2rayN.Forms
|
|||||||
|
|
||||||
private void btnOK_Click(object sender, EventArgs e)
|
private void btnOK_Click(object sender, EventArgs e)
|
||||||
{
|
{
|
||||||
if (config.subItem.Count <= 0)
|
|
||||||
{
|
|
||||||
AddSub();
|
|
||||||
}
|
|
||||||
|
|
||||||
if (ConfigHandler.SaveSubItem(ref config) == 0)
|
if (ConfigHandler.SaveSubItem(ref config) == 0)
|
||||||
{
|
{
|
||||||
this.DialogResult = DialogResult.OK;
|
this.DialogResult = DialogResult.OK;
|
||||||
|
|||||||
@@ -157,7 +157,7 @@
|
|||||||
<value>0, 0</value>
|
<value>0, 0</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="panCon.Size" type="System.Drawing.Size, System.Drawing">
|
<data name="panCon.Size" type="System.Drawing.Size, System.Drawing">
|
||||||
<value>614, 351</value>
|
<value>634, 401</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="panCon.TabIndex" type="System.Int32, mscorlib">
|
<data name="panCon.TabIndex" type="System.Int32, mscorlib">
|
||||||
<value>10</value>
|
<value>10</value>
|
||||||
@@ -232,10 +232,10 @@
|
|||||||
<value>Bottom</value>
|
<value>Bottom</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="panel2.Location" type="System.Drawing.Point, System.Drawing">
|
<data name="panel2.Location" type="System.Drawing.Point, System.Drawing">
|
||||||
<value>0, 351</value>
|
<value>0, 401</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="panel2.Size" type="System.Drawing.Size, System.Drawing">
|
<data name="panel2.Size" type="System.Drawing.Size, System.Drawing">
|
||||||
<value>614, 60</value>
|
<value>634, 60</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="panel2.TabIndex" type="System.Int32, mscorlib">
|
<data name="panel2.TabIndex" type="System.Int32, mscorlib">
|
||||||
<value>7</value>
|
<value>7</value>
|
||||||
@@ -259,7 +259,7 @@
|
|||||||
<value>6, 12</value>
|
<value>6, 12</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="$this.ClientSize" type="System.Drawing.Size, System.Drawing">
|
<data name="$this.ClientSize" type="System.Drawing.Size, System.Drawing">
|
||||||
<value>614, 411</value>
|
<value>634, 461</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="$this.Text" xml:space="preserve">
|
<data name="$this.Text" xml:space="preserve">
|
||||||
<value>Subscription settings</value>
|
<value>Subscription settings</value>
|
||||||
|
|||||||
@@ -14,6 +14,9 @@ namespace v2rayN
|
|||||||
public const string v2flyCoreUrl = "https://github.com/v2fly/v2ray-core/releases";
|
public const string v2flyCoreUrl = "https://github.com/v2fly/v2ray-core/releases";
|
||||||
public const string xrayCoreUrl = "https://github.com/XTLS/Xray-core/releases";
|
public const string xrayCoreUrl = "https://github.com/XTLS/Xray-core/releases";
|
||||||
public const string NUrl = @"https://github.com/2dust/v2rayN/releases";
|
public const string NUrl = @"https://github.com/2dust/v2rayN/releases";
|
||||||
|
public const string clashCoreUrl = "https://github.com/Dreamacro/clash/releases";
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
@@ -21,7 +24,6 @@ namespace v2rayN
|
|||||||
/// </summary>
|
/// </summary>
|
||||||
public const string SpeedTestUrl = @"http://cachefly.cachefly.net/10mb.test";
|
public const string SpeedTestUrl = @"http://cachefly.cachefly.net/10mb.test";
|
||||||
public const string SpeedPingTestUrl = @"https://www.google.com/generate_204";
|
public const string SpeedPingTestUrl = @"https://www.google.com/generate_204";
|
||||||
public const string AvailabilityTestUrl = @"https://www.google.com/generate_204";
|
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// CustomRoutingListUrl
|
/// CustomRoutingListUrl
|
||||||
@@ -176,6 +178,7 @@ namespace v2rayN
|
|||||||
/// Language
|
/// Language
|
||||||
/// </summary>
|
/// </summary>
|
||||||
public const string MyRegKeyLanguage = "CurrentLanguage";
|
public const string MyRegKeyLanguage = "CurrentLanguage";
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Icon
|
/// Icon
|
||||||
/// </summary>
|
/// </summary>
|
||||||
@@ -193,11 +196,16 @@ namespace v2rayN
|
|||||||
|
|
||||||
public const string RoutingRuleComma = "<COMMA>";
|
public const string RoutingRuleComma = "<COMMA>";
|
||||||
|
|
||||||
public static readonly IEnumerable<string> ssSecuritys = new HashSet<string> { "aes-256-gcm", "aes-128-gcm", "chacha20-poly1305", "chacha20-ietf-poly1305", "none", "plain" };
|
public static readonly List<string> vmessSecuritys = new List<string> { "aes-128-gcm", "chacha20-poly1305", "auto", "none", "zero" };
|
||||||
|
public static readonly List<string> ssSecuritys = new List<string> { "aes-256-gcm", "aes-128-gcm", "chacha20-poly1305", "chacha20-ietf-poly1305", "none", "plain" };
|
||||||
|
public static readonly List<string> ssSecuritysInXray = new List<string> { "aes-256-gcm", "aes-128-gcm", "chacha20-poly1305", "chacha20-ietf-poly1305", "xchacha20-poly1305", "xchacha20-ietf-poly1305", "none", "plain" };
|
||||||
|
public static readonly List<string> xtlsFlows = new List<string> { "", "xtls-rprx-origin", "xtls-rprx-origin-udp443", "xtls-rprx-direct", "xtls-rprx-direct-udp443" };
|
||||||
|
public static readonly List<string> networks = new List<string> { "tcp", "kcp", "ws", "h2", "quic", "grpc" };
|
||||||
|
public static readonly List<string> kcpHeaderTypes = new List<string> { "srtp", "utp", "wechat-video", "dtls", "wireguard" };
|
||||||
|
public static readonly List<string> coreTypes = new List<string> { "v2fly", "Xray" };
|
||||||
public const string GrpcgunMode = "gun";
|
public const string GrpcgunMode = "gun";
|
||||||
public const string GrpcmultiMode = "multi";
|
public const string GrpcmultiMode = "multi";
|
||||||
|
|
||||||
#endregion
|
#endregion
|
||||||
|
|
||||||
#region 全局变量
|
#region 全局变量
|
||||||
|
|||||||
File diff suppressed because it is too large
Load Diff
@@ -1,6 +1,7 @@
|
|||||||
using System;
|
using System;
|
||||||
using System.IO;
|
using System.IO;
|
||||||
using System.Net;
|
using System.Net;
|
||||||
|
using System.Text;
|
||||||
using v2rayN.Base;
|
using v2rayN.Base;
|
||||||
|
|
||||||
namespace v2rayN.Handler
|
namespace v2rayN.Handler
|
||||||
@@ -13,7 +14,7 @@ namespace v2rayN.Handler
|
|||||||
public event EventHandler<ResultEventArgs> UpdateCompleted;
|
public event EventHandler<ResultEventArgs> UpdateCompleted;
|
||||||
|
|
||||||
public event ErrorEventHandler Error;
|
public event ErrorEventHandler Error;
|
||||||
|
|
||||||
|
|
||||||
public class ResultEventArgs : EventArgs
|
public class ResultEventArgs : EventArgs
|
||||||
{
|
{
|
||||||
@@ -31,13 +32,13 @@ namespace v2rayN.Handler
|
|||||||
private long totalBytesToReceive = 0;
|
private long totalBytesToReceive = 0;
|
||||||
private DateTime totalDatetime = new DateTime();
|
private DateTime totalDatetime = new DateTime();
|
||||||
private int DownloadTimeout = -1;
|
private int DownloadTimeout = -1;
|
||||||
|
|
||||||
public WebClientEx DownloadFileAsync(string url, WebProxy webProxy, int downloadTimeout)
|
public WebClientEx DownloadFileAsync(string url, WebProxy webProxy, int downloadTimeout)
|
||||||
{
|
{
|
||||||
WebClientEx ws = new WebClientEx();
|
WebClientEx ws = new WebClientEx();
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
Utils.SetSecurityProtocol();
|
Utils.SetSecurityProtocol(LazyConfig.Instance.GetConfig().enableSecurityProtocolTls13);
|
||||||
UpdateCompleted?.Invoke(this, new ResultEventArgs(false, UIRes.I18N("Downloading")));
|
UpdateCompleted?.Invoke(this, new ResultEventArgs(false, UIRes.I18N("Downloading")));
|
||||||
|
|
||||||
progressPercentage = -1;
|
progressPercentage = -1;
|
||||||
@@ -62,7 +63,7 @@ namespace v2rayN.Handler
|
|||||||
}
|
}
|
||||||
return ws;
|
return ws;
|
||||||
}
|
}
|
||||||
|
|
||||||
void ws_DownloadProgressChanged(object sender, DownloadProgressChangedEventArgs e)
|
void ws_DownloadProgressChanged(object sender, DownloadProgressChangedEventArgs e)
|
||||||
{
|
{
|
||||||
if (UpdateCompleted != null)
|
if (UpdateCompleted != null)
|
||||||
@@ -131,16 +132,35 @@ namespace v2rayN.Handler
|
|||||||
/// DownloadString
|
/// DownloadString
|
||||||
/// </summary>
|
/// </summary>
|
||||||
/// <param name="url"></param>
|
/// <param name="url"></param>
|
||||||
public void WebDownloadString(string url)
|
public void WebDownloadString(string url, WebProxy webProxy, string userAgent)
|
||||||
{
|
{
|
||||||
string source = string.Empty;
|
string source = string.Empty;
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
Utils.SetSecurityProtocol();
|
Utils.SetSecurityProtocol(LazyConfig.Instance.GetConfig().enableSecurityProtocolTls13);
|
||||||
|
|
||||||
WebClientEx ws = new WebClientEx();
|
WebClientEx ws = new WebClientEx();
|
||||||
|
ws.Encoding = Encoding.UTF8;
|
||||||
|
if (webProxy != null)
|
||||||
|
{
|
||||||
|
ws.Proxy = webProxy;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (Utils.IsNullOrEmpty(userAgent))
|
||||||
|
{
|
||||||
|
userAgent = $"{Utils.GetVersion(false)}";
|
||||||
|
}
|
||||||
|
ws.Headers.Add("user-agent", userAgent);
|
||||||
|
|
||||||
|
Uri uri = new Uri(url);
|
||||||
|
//Authorization Header
|
||||||
|
if (!Utils.IsNullOrEmpty(uri.UserInfo))
|
||||||
|
{
|
||||||
|
ws.Headers.Add(HttpRequestHeader.Authorization, "Basic " + Utils.Base64Encode(uri.UserInfo));
|
||||||
|
}
|
||||||
|
|
||||||
ws.DownloadStringCompleted += Ws_DownloadStringCompleted;
|
ws.DownloadStringCompleted += Ws_DownloadStringCompleted;
|
||||||
ws.DownloadStringAsync(new Uri(url));
|
ws.DownloadStringAsync(uri);
|
||||||
}
|
}
|
||||||
catch (Exception ex)
|
catch (Exception ex)
|
||||||
{
|
{
|
||||||
@@ -176,10 +196,10 @@ namespace v2rayN.Handler
|
|||||||
string source = string.Empty;
|
string source = string.Empty;
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
Utils.SetSecurityProtocol();
|
Utils.SetSecurityProtocol(LazyConfig.Instance.GetConfig().enableSecurityProtocolTls13);
|
||||||
|
|
||||||
WebClientEx ws = new WebClientEx();
|
WebClientEx ws = new WebClientEx();
|
||||||
|
ws.Encoding = Encoding.UTF8;
|
||||||
return ws.DownloadString(new Uri(url));
|
return ws.DownloadString(new Uri(url));
|
||||||
}
|
}
|
||||||
catch (Exception ex)
|
catch (Exception ex)
|
||||||
@@ -194,7 +214,7 @@ namespace v2rayN.Handler
|
|||||||
WebClientEx ws = new WebClientEx();
|
WebClientEx ws = new WebClientEx();
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
Utils.SetSecurityProtocol();
|
Utils.SetSecurityProtocol(LazyConfig.Instance.GetConfig().enableSecurityProtocolTls13);
|
||||||
UpdateCompleted?.Invoke(this, new ResultEventArgs(false, UIRes.I18N("Downloading")));
|
UpdateCompleted?.Invoke(this, new ResultEventArgs(false, UIRes.I18N("Downloading")));
|
||||||
|
|
||||||
progressPercentage = -1;
|
progressPercentage = -1;
|
||||||
|
|||||||
55
v2rayN/v2rayN/Handler/LazyConfig.cs
Normal file
55
v2rayN/v2rayN/Handler/LazyConfig.cs
Normal file
@@ -0,0 +1,55 @@
|
|||||||
|
using System;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
using v2rayN.Mode;
|
||||||
|
using System.Linq;
|
||||||
|
|
||||||
|
namespace v2rayN.Handler
|
||||||
|
{
|
||||||
|
public sealed class LazyConfig
|
||||||
|
{
|
||||||
|
private static readonly Lazy<LazyConfig> _instance = new Lazy<LazyConfig>(() => new LazyConfig());
|
||||||
|
private Config _config;
|
||||||
|
|
||||||
|
public static LazyConfig Instance
|
||||||
|
{
|
||||||
|
get { return _instance.Value; }
|
||||||
|
}
|
||||||
|
public void SetConfig(ref Config config)
|
||||||
|
{
|
||||||
|
_config = config;
|
||||||
|
}
|
||||||
|
public Config GetConfig()
|
||||||
|
{
|
||||||
|
return _config;
|
||||||
|
}
|
||||||
|
|
||||||
|
public List<string> GetShadowsocksSecuritys()
|
||||||
|
{
|
||||||
|
if (GetCoreType(null, EConfigType.Shadowsocks) == ECoreType.v2fly)
|
||||||
|
{
|
||||||
|
return Global.ssSecuritys;
|
||||||
|
}
|
||||||
|
|
||||||
|
return Global.ssSecuritysInXray;
|
||||||
|
}
|
||||||
|
|
||||||
|
public ECoreType GetCoreType(VmessItem vmessItem, EConfigType eConfigType)
|
||||||
|
{
|
||||||
|
if (vmessItem != null && vmessItem.coreType != null)
|
||||||
|
{
|
||||||
|
return (ECoreType)vmessItem.coreType;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (_config.coreTypeItem == null)
|
||||||
|
{
|
||||||
|
return ECoreType.Xray;
|
||||||
|
}
|
||||||
|
var item = _config.coreTypeItem.FirstOrDefault(it => it.configType == eConfigType);
|
||||||
|
if (item == null)
|
||||||
|
{
|
||||||
|
return ECoreType.Xray;
|
||||||
|
}
|
||||||
|
return item.coreType;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -1,17 +1,21 @@
|
|||||||
using System;
|
using NHotkey;
|
||||||
|
using NHotkey.WindowsForms;
|
||||||
|
using System;
|
||||||
|
using System.Collections.Generic;
|
||||||
using System.Drawing;
|
using System.Drawing;
|
||||||
|
using System.IO;
|
||||||
using System.Threading;
|
using System.Threading;
|
||||||
using System.Threading.Tasks;
|
using System.Threading.Tasks;
|
||||||
using System.Windows.Forms;
|
using System.Windows.Forms;
|
||||||
using v2rayN.Base;
|
|
||||||
using v2rayN.Mode;
|
using v2rayN.Mode;
|
||||||
|
using System.Linq;
|
||||||
|
|
||||||
namespace v2rayN.Handler
|
namespace v2rayN.Handler
|
||||||
{
|
{
|
||||||
class MainFormHandler
|
public sealed class MainFormHandler
|
||||||
{
|
{
|
||||||
private static MainFormHandler instance;
|
private static readonly Lazy<MainFormHandler> instance = new Lazy<MainFormHandler>(() => new MainFormHandler());
|
||||||
Action<bool, string> _updateUI;
|
//Action<bool, string> _updateUI;
|
||||||
|
|
||||||
//private DownloadHandle downloadHandle2;
|
//private DownloadHandle downloadHandle2;
|
||||||
//private Config _config;
|
//private Config _config;
|
||||||
@@ -21,16 +25,8 @@ namespace v2rayN.Handler
|
|||||||
//Action<int, string> _updateFunc;
|
//Action<int, string> _updateFunc;
|
||||||
public static MainFormHandler Instance
|
public static MainFormHandler Instance
|
||||||
{
|
{
|
||||||
get
|
get { return instance.Value; }
|
||||||
{
|
|
||||||
if (instance == null)
|
|
||||||
{
|
|
||||||
instance = new MainFormHandler();
|
|
||||||
}
|
|
||||||
return instance;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public Icon GetNotifyIcon(Config config, Icon def)
|
public Icon GetNotifyIcon(Config config, Icon def)
|
||||||
{
|
{
|
||||||
try
|
try
|
||||||
@@ -50,9 +46,23 @@ namespace v2rayN.Handler
|
|||||||
Graphics graphics = Graphics.FromImage(bitmap);
|
Graphics graphics = Graphics.FromImage(bitmap);
|
||||||
SolidBrush drawBrush = new SolidBrush(color);
|
SolidBrush drawBrush = new SolidBrush(color);
|
||||||
|
|
||||||
graphics.FillEllipse(drawBrush, new Rectangle(0, 0, width, height));
|
var customIcon = false;
|
||||||
int zoom = 16;
|
if (config.enableRoutingAdvanced)
|
||||||
graphics.DrawImage(new Bitmap(Properties.Resources.notify, width - zoom, width - zoom), zoom / 2, zoom / 2);
|
{
|
||||||
|
var item = config.routings[config.routingIndex];
|
||||||
|
if (!Utils.IsNullOrEmpty(item.customIcon) && File.Exists(item.customIcon))
|
||||||
|
{
|
||||||
|
graphics.FillRectangle(drawBrush, new Rectangle(0, 0, width, height));
|
||||||
|
graphics.DrawImage(new Bitmap(item.customIcon), 0, 0, width, height);
|
||||||
|
customIcon = true;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if (!customIcon)
|
||||||
|
{
|
||||||
|
graphics.FillEllipse(drawBrush, new Rectangle(0, 0, width, height));
|
||||||
|
int zoom = 16;
|
||||||
|
graphics.DrawImage(new Bitmap(Properties.Resources.notify, width - zoom, width - zoom), zoom / 2, zoom / 2);
|
||||||
|
}
|
||||||
|
|
||||||
Icon createdIcon = Icon.FromHandle(bitmap.GetHicon());
|
Icon createdIcon = Icon.FromHandle(bitmap.GetHicon());
|
||||||
|
|
||||||
@@ -69,15 +79,14 @@ namespace v2rayN.Handler
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public void Export2ClientConfig(int index, Config config)
|
public void Export2ClientConfig(VmessItem item, Config config)
|
||||||
{
|
{
|
||||||
//int index = GetLvSelectedIndex();
|
if (item == null)
|
||||||
if (index < 0)
|
|
||||||
{
|
{
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
if (config.vmess[index].configType != (int)EConfigType.Vmess
|
if (item.configType != EConfigType.Vmess
|
||||||
&& config.vmess[index].configType != (int)EConfigType.VLESS)
|
&& item.configType != EConfigType.VLESS)
|
||||||
{
|
{
|
||||||
UI.Show(UIRes.I18N("NonVmessService"));
|
UI.Show(UIRes.I18N("NonVmessService"));
|
||||||
return;
|
return;
|
||||||
@@ -98,9 +107,9 @@ namespace v2rayN.Handler
|
|||||||
{
|
{
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
Config configCopy = Utils.DeepCopy(config);
|
//Config configCopy = Utils.DeepCopy(config);
|
||||||
configCopy.index = index;
|
//configCopy.index = index;
|
||||||
if (V2rayConfigHandler.Export2ClientConfig(configCopy, fileName, out string msg) != 0)
|
if (V2rayConfigHandler.Export2ClientConfig(item, fileName, out string msg) != 0)
|
||||||
{
|
{
|
||||||
UI.Show(msg);
|
UI.Show(msg);
|
||||||
}
|
}
|
||||||
@@ -110,15 +119,14 @@ namespace v2rayN.Handler
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public void Export2ServerConfig(int index, Config config)
|
public void Export2ServerConfig(VmessItem item, Config config)
|
||||||
{
|
{
|
||||||
//int index = GetLvSelectedIndex();
|
if (item == null)
|
||||||
if (index < 0)
|
|
||||||
{
|
{
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
if (config.vmess[index].configType != (int)EConfigType.Vmess
|
if (item.configType != EConfigType.Vmess
|
||||||
&& config.vmess[index].configType != (int)EConfigType.VLESS)
|
&& item.configType != EConfigType.VLESS)
|
||||||
{
|
{
|
||||||
UI.Show(UIRes.I18N("NonVmessService"));
|
UI.Show(UIRes.I18N("NonVmessService"));
|
||||||
return;
|
return;
|
||||||
@@ -139,9 +147,9 @@ namespace v2rayN.Handler
|
|||||||
{
|
{
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
Config configCopy = Utils.DeepCopy(config);
|
//Config configCopy = Utils.DeepCopy(config);
|
||||||
configCopy.index = index;
|
//configCopy.index = index;
|
||||||
if (V2rayConfigHandler.Export2ServerConfig(configCopy, fileName, out string msg) != 0)
|
if (V2rayConfigHandler.Export2ServerConfig(item, fileName, out string msg) != 0)
|
||||||
{
|
{
|
||||||
UI.Show(msg);
|
UI.Show(msg);
|
||||||
}
|
}
|
||||||
@@ -151,34 +159,18 @@ namespace v2rayN.Handler
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public int AddBatchServers(Config config, string clipboardData, string subid = "")
|
|
||||||
{
|
|
||||||
int counter;
|
|
||||||
int _Add()
|
|
||||||
{
|
|
||||||
return ConfigHandler.AddBatchServers(ref config, clipboardData, subid);
|
|
||||||
}
|
|
||||||
counter = _Add();
|
|
||||||
if (counter < 1)
|
|
||||||
{
|
|
||||||
clipboardData = Utils.Base64Decode(clipboardData);
|
|
||||||
counter = _Add();
|
|
||||||
}
|
|
||||||
|
|
||||||
return counter;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void BackupGuiNConfig(Config config, bool auto = false)
|
public void BackupGuiNConfig(Config config, bool auto = false)
|
||||||
{
|
{
|
||||||
string fileName = string.Empty;
|
string fileName = $"guiNConfig_{DateTime.Now.ToString("yyyy_MM_dd_HH_mm_ss_fff")}.json";
|
||||||
if (auto)
|
if (auto)
|
||||||
{
|
{
|
||||||
fileName = Utils.GetTempPath($"guiNConfig{DateTime.Now.ToString("yyyyMMddHHmmssfff")}.json");
|
fileName = Utils.GetBackupPath(fileName);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
SaveFileDialog fileDialog = new SaveFileDialog
|
SaveFileDialog fileDialog = new SaveFileDialog
|
||||||
{
|
{
|
||||||
|
FileName = fileName,
|
||||||
Filter = "guiNConfig|*.json",
|
Filter = "guiNConfig|*.json",
|
||||||
FilterIndex = 2,
|
FilterIndex = 2,
|
||||||
RestoreDirectory = true
|
RestoreDirectory = true
|
||||||
@@ -210,25 +202,24 @@ namespace v2rayN.Handler
|
|||||||
|
|
||||||
public void UpdateTask(Config config, Action<bool, string> update)
|
public void UpdateTask(Config config, Action<bool, string> update)
|
||||||
{
|
{
|
||||||
_updateUI = update;
|
Task.Run(() => UpdateTaskRun(config, update));
|
||||||
Task.Run(() => UpdateTaskRun(config));
|
|
||||||
}
|
}
|
||||||
|
|
||||||
private void UpdateTaskRun(Config config)
|
private void UpdateTaskRun(Config config, Action<bool, string> update)
|
||||||
{
|
{
|
||||||
var updateHandle = new UpdateHandle();
|
var updateHandle = new UpdateHandle();
|
||||||
while (true)
|
while (true)
|
||||||
{
|
{
|
||||||
Utils.SaveLog("UpdateTaskRun");
|
|
||||||
Thread.Sleep(60000);
|
Thread.Sleep(60000);
|
||||||
if (config.autoUpdateInterval <= 0)
|
if (config.autoUpdateInterval <= 0)
|
||||||
{
|
{
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
Utils.SaveLog("UpdateTaskRun");
|
||||||
|
|
||||||
updateHandle.UpdateGeoFile("geosite", config, (bool success, string msg) =>
|
updateHandle.UpdateGeoFile("geosite", config, (bool success, string msg) =>
|
||||||
{
|
{
|
||||||
_updateUI(false, msg);
|
update(false, msg);
|
||||||
if (success)
|
if (success)
|
||||||
Utils.SaveLog("geosite" + msg);
|
Utils.SaveLog("geosite" + msg);
|
||||||
});
|
});
|
||||||
@@ -237,7 +228,7 @@ namespace v2rayN.Handler
|
|||||||
|
|
||||||
updateHandle.UpdateGeoFile("geoip", config, (bool success, string msg) =>
|
updateHandle.UpdateGeoFile("geoip", config, (bool success, string msg) =>
|
||||||
{
|
{
|
||||||
_updateUI(false, msg);
|
update(false, msg);
|
||||||
if (success)
|
if (success)
|
||||||
Utils.SaveLog("geoip" + msg);
|
Utils.SaveLog("geoip" + msg);
|
||||||
});
|
});
|
||||||
@@ -245,5 +236,49 @@ namespace v2rayN.Handler
|
|||||||
Thread.Sleep(1000 * 3600 * config.autoUpdateInterval);
|
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);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -2,7 +2,7 @@
|
|||||||
using System;
|
using System;
|
||||||
using System.Runtime.InteropServices;
|
using System.Runtime.InteropServices;
|
||||||
|
|
||||||
namespace v2rayN.HttpProxyHandler
|
namespace v2rayN.Handler
|
||||||
{
|
{
|
||||||
class ProxySetting
|
class ProxySetting
|
||||||
{
|
{
|
||||||
File diff suppressed because it is too large
Load Diff
@@ -13,21 +13,33 @@ namespace v2rayN.Handler
|
|||||||
{
|
{
|
||||||
private Config _config;
|
private Config _config;
|
||||||
private V2rayHandler _v2rayHandler;
|
private V2rayHandler _v2rayHandler;
|
||||||
private List<int> _selecteds;
|
private List<ServerTestItem> _selecteds;
|
||||||
Action<int, string> _updateFunc;
|
Action<string, string> _updateFunc;
|
||||||
|
|
||||||
public SpeedtestHandler(ref Config config)
|
public SpeedtestHandler(ref Config config)
|
||||||
{
|
{
|
||||||
_config = config;
|
_config = config;
|
||||||
}
|
}
|
||||||
|
|
||||||
public SpeedtestHandler(ref Config config, ref V2rayHandler v2rayHandler, List<int> selecteds, string actionType, Action<int, string> update)
|
public SpeedtestHandler(ref Config config, ref V2rayHandler v2rayHandler, List<VmessItem> selecteds, string actionType, Action<string, string> update)
|
||||||
{
|
{
|
||||||
_config = config;
|
_config = config;
|
||||||
_v2rayHandler = v2rayHandler;
|
_v2rayHandler = v2rayHandler;
|
||||||
_selecteds = Utils.DeepCopy(selecteds);
|
//_selecteds = Utils.DeepCopy(selecteds);
|
||||||
_updateFunc = update;
|
_updateFunc = update;
|
||||||
|
|
||||||
|
_selecteds = new List<ServerTestItem>();
|
||||||
|
foreach (var it in selecteds)
|
||||||
|
{
|
||||||
|
_selecteds.Add(new ServerTestItem()
|
||||||
|
{
|
||||||
|
indexId = it.indexId,
|
||||||
|
address = it.address,
|
||||||
|
port = it.port,
|
||||||
|
configType = it.configType
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
if (actionType == "ping")
|
if (actionType == "ping")
|
||||||
{
|
{
|
||||||
Task.Run(() => RunPing());
|
Task.Run(() => RunPing());
|
||||||
@@ -46,19 +58,19 @@ namespace v2rayN.Handler
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private void RunPingSub(Action<int> updateFun)
|
private void RunPingSub(Action<ServerTestItem> updateFun)
|
||||||
{
|
{
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
foreach (int index in _selecteds)
|
foreach (var it in _selecteds)
|
||||||
{
|
{
|
||||||
if (_config.vmess[index].configType == (int)EConfigType.Custom)
|
if (it.configType == EConfigType.Custom)
|
||||||
{
|
{
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
updateFun(index);
|
updateFun(it);
|
||||||
}
|
}
|
||||||
catch (Exception ex)
|
catch (Exception ex)
|
||||||
{
|
{
|
||||||
@@ -77,19 +89,21 @@ namespace v2rayN.Handler
|
|||||||
|
|
||||||
private void RunPing()
|
private void RunPing()
|
||||||
{
|
{
|
||||||
RunPingSub((int index) =>
|
RunPingSub((ServerTestItem it) =>
|
||||||
{
|
{
|
||||||
long time = Utils.Ping(_config.vmess[index].address);
|
long time = Utils.Ping(it.address);
|
||||||
_updateFunc(index, FormatOut(time, "ms"));
|
|
||||||
|
_updateFunc(it.indexId, FormatOut(time, "ms"));
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
private void RunTcping()
|
private void RunTcping()
|
||||||
{
|
{
|
||||||
RunPingSub((int index) =>
|
RunPingSub((ServerTestItem it) =>
|
||||||
{
|
{
|
||||||
int time = GetTcpingTime(_config.vmess[index].address, _config.vmess[index].port);
|
int time = GetTcpingTime(it.address, it.port);
|
||||||
_updateFunc(index, FormatOut(time, "ms"));
|
|
||||||
|
_updateFunc(it.indexId, FormatOut(time, "ms"));
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -103,16 +117,19 @@ namespace v2rayN.Handler
|
|||||||
pid = _v2rayHandler.LoadV2rayConfigString(_config, _selecteds);
|
pid = _v2rayHandler.LoadV2rayConfigString(_config, _selecteds);
|
||||||
if (pid < 0)
|
if (pid < 0)
|
||||||
{
|
{
|
||||||
_updateFunc(_selecteds[0], UIRes.I18N("OperationFailed"));
|
_updateFunc(_selecteds[0].indexId, UIRes.I18N("OperationFailed"));
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
//Thread.Sleep(5000);
|
//Thread.Sleep(5000);
|
||||||
int httpPort = _config.GetLocalPort("speedtest");
|
|
||||||
List<Task> tasks = new List<Task>();
|
List<Task> tasks = new List<Task>();
|
||||||
foreach (int itemIndex in _selecteds)
|
foreach (var it in _selecteds)
|
||||||
{
|
{
|
||||||
if (_config.vmess[itemIndex].configType == (int)EConfigType.Custom)
|
if (!it.allowTest)
|
||||||
|
{
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
if (it.configType == EConfigType.Custom)
|
||||||
{
|
{
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
@@ -120,11 +137,13 @@ namespace v2rayN.Handler
|
|||||||
{
|
{
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
WebProxy webProxy = new WebProxy(Global.Loopback, httpPort + itemIndex);
|
WebProxy webProxy = new WebProxy(Global.Loopback, it.port);
|
||||||
int responseTime = -1;
|
int responseTime = -1;
|
||||||
string status = GetRealPingTime(_config.speedPingTestUrl, webProxy, out responseTime);
|
string status = GetRealPingTime(_config.constItem.speedPingTestUrl, webProxy, out responseTime);
|
||||||
string output = Utils.IsNullOrEmpty(status) ? FormatOut(responseTime, "ms") : FormatOut(status, "");
|
string output = Utils.IsNullOrEmpty(status) ? FormatOut(responseTime, "ms") : status;
|
||||||
_updateFunc(itemIndex, output);
|
|
||||||
|
_config.GetVmessItem(it.indexId)?.SetTestResult(output);
|
||||||
|
_updateFunc(it.indexId, output);
|
||||||
}
|
}
|
||||||
catch (Exception ex)
|
catch (Exception ex)
|
||||||
{
|
{
|
||||||
@@ -157,7 +176,7 @@ namespace v2rayN.Handler
|
|||||||
{
|
{
|
||||||
WebProxy webProxy = new WebProxy(Global.Loopback, httpPort);
|
WebProxy webProxy = new WebProxy(Global.Loopback, httpPort);
|
||||||
int responseTime = -1;
|
int responseTime = -1;
|
||||||
string status = GetRealPingTime(Global.AvailabilityTestUrl, webProxy, out responseTime);
|
string status = GetRealPingTime(Global.SpeedPingTestUrl, webProxy, out responseTime);
|
||||||
bool noError = Utils.IsNullOrEmpty(status);
|
bool noError = Utils.IsNullOrEmpty(status);
|
||||||
return noError ? responseTime : -1;
|
return noError ? responseTime : -1;
|
||||||
}
|
}
|
||||||
@@ -178,48 +197,43 @@ namespace v2rayN.Handler
|
|||||||
|
|
||||||
private void RunSpeedTest()
|
private void RunSpeedTest()
|
||||||
{
|
{
|
||||||
int testCounter = 0;
|
string testIndexId = string.Empty;
|
||||||
int pid = -1;
|
int pid = -1;
|
||||||
|
|
||||||
if (_config.vmess.Count <= 0)
|
|
||||||
{
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
pid = _v2rayHandler.LoadV2rayConfigString(_config, _selecteds);
|
pid = _v2rayHandler.LoadV2rayConfigString(_config, _selecteds);
|
||||||
if (pid < 0)
|
if (pid < 0)
|
||||||
{
|
{
|
||||||
_updateFunc(_selecteds[0], UIRes.I18N("OperationFailed"));
|
_updateFunc(_selecteds[0].indexId, UIRes.I18N("OperationFailed"));
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
string url = _config.speedTestUrl;
|
string url = _config.constItem.speedTestUrl;
|
||||||
DownloadHandle downloadHandle2 = new DownloadHandle();
|
DownloadHandle downloadHandle2 = new DownloadHandle();
|
||||||
downloadHandle2.UpdateCompleted += (sender2, args) =>
|
downloadHandle2.UpdateCompleted += (sender2, args) =>
|
||||||
{
|
{
|
||||||
_updateFunc(testCounter, args.Msg);
|
_config.GetVmessItem(testIndexId)?.SetTestResult(args.Msg);
|
||||||
|
_updateFunc(testIndexId, args.Msg);
|
||||||
};
|
};
|
||||||
downloadHandle2.Error += (sender2, args) =>
|
downloadHandle2.Error += (sender2, args) =>
|
||||||
{
|
{
|
||||||
_updateFunc(testCounter, args.GetException().Message);
|
_updateFunc(testIndexId, args.GetException().Message);
|
||||||
};
|
};
|
||||||
|
|
||||||
var timeout = 10;
|
var timeout = 10;
|
||||||
foreach (int itemIndex in _selecteds)
|
foreach (var it in _selecteds)
|
||||||
{
|
{
|
||||||
if (itemIndex >= _config.vmess.Count)
|
if (!it.allowTest)
|
||||||
{
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (_config.vmess[itemIndex].configType == (int)EConfigType.Custom)
|
|
||||||
{
|
{
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
testCounter = itemIndex;
|
if (it.configType == EConfigType.Custom)
|
||||||
int httpPort = _config.GetLocalPort("speedtest");
|
{
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
testIndexId = it.indexId;
|
||||||
|
if (_config.FindIndexId(it.indexId) < 0) continue;
|
||||||
|
|
||||||
WebProxy webProxy = new WebProxy(Global.Loopback, httpPort + itemIndex);
|
WebProxy webProxy = new WebProxy(Global.Loopback, it.port);
|
||||||
var ws = downloadHandle2.DownloadDataAsync(url, webProxy, timeout - 2);
|
var ws = downloadHandle2.DownloadDataAsync(url, webProxy, timeout - 2);
|
||||||
|
|
||||||
Thread.Sleep(1000 * timeout);
|
Thread.Sleep(1000 * timeout);
|
||||||
|
|||||||
@@ -116,7 +116,7 @@ namespace v2rayN.Handler
|
|||||||
|
|
||||||
if (res != null)
|
if (res != null)
|
||||||
{
|
{
|
||||||
string itemId = config_.getItemId();
|
string itemId = config_.indexId;
|
||||||
ServerStatItem serverStatItem = GetServerStatItem(itemId);
|
ServerStatItem serverStatItem = GetServerStatItem(itemId);
|
||||||
|
|
||||||
//TODO: parse output
|
//TODO: parse output
|
||||||
|
|||||||
@@ -8,7 +8,7 @@ using v2rayN.Mode;
|
|||||||
using v2rayN.Properties;
|
using v2rayN.Properties;
|
||||||
using v2rayN.Tool;
|
using v2rayN.Tool;
|
||||||
|
|
||||||
namespace v2rayN.HttpProxyHandler
|
namespace v2rayN.Handler
|
||||||
{
|
{
|
||||||
public static class SysProxyHandle
|
public static class SysProxyHandle
|
||||||
{
|
{
|
||||||
@@ -47,6 +47,56 @@ namespace v2rayN.HttpProxyHandler
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
public static bool UpdateSysProxy(Config config, bool forceDisable)
|
||||||
|
{
|
||||||
|
var type = config.sysProxyType;
|
||||||
|
|
||||||
|
if (forceDisable && type == ESysProxyType.ForcedChange)
|
||||||
|
{
|
||||||
|
type = ESysProxyType.ForcedClear;
|
||||||
|
}
|
||||||
|
|
||||||
|
try
|
||||||
|
{
|
||||||
|
Global.httpPort = config.GetLocalPort(Global.InboundHttp);
|
||||||
|
int port = Global.httpPort;
|
||||||
|
if (port <= 0)
|
||||||
|
{
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
if (type == ESysProxyType.ForcedChange)
|
||||||
|
{
|
||||||
|
var strExceptions = $"{config.constItem.defIEProxyExceptions};{config.systemProxyExceptions}";
|
||||||
|
SetIEProxy(true, $"{Global.Loopback}:{port}", strExceptions);
|
||||||
|
}
|
||||||
|
else if (type == ESysProxyType.ForcedClear)
|
||||||
|
{
|
||||||
|
ResetIEProxy();
|
||||||
|
}
|
||||||
|
else if (type == ESysProxyType.Unchanged)
|
||||||
|
{
|
||||||
|
}
|
||||||
|
}
|
||||||
|
catch (Exception ex)
|
||||||
|
{
|
||||||
|
Utils.SaveLog(ex.Message, ex);
|
||||||
|
}
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
public static void ResetIEProxy4WindowsShutDown()
|
||||||
|
{
|
||||||
|
try
|
||||||
|
{
|
||||||
|
//TODO To be verified
|
||||||
|
Utils.RegWriteValue(@"Software\Microsoft\Windows\CurrentVersion\Internet Settings", "ProxyEnable", 0);
|
||||||
|
}
|
||||||
|
catch
|
||||||
|
{
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
public static void SetIEProxy(bool enable, bool global, string strProxy)
|
public static void SetIEProxy(bool enable, bool global, string strProxy)
|
||||||
{
|
{
|
||||||
//Read();
|
//Read();
|
||||||
@@ -85,15 +135,6 @@ namespace v2rayN.HttpProxyHandler
|
|||||||
|
|
||||||
public static void SetIEProxy(bool global, string strProxy, string strExceptions)
|
public static void SetIEProxy(bool global, string strProxy, string strExceptions)
|
||||||
{
|
{
|
||||||
if (Utils.IsNullOrEmpty(strExceptions))
|
|
||||||
{
|
|
||||||
strExceptions = Global.IEProxyExceptions;
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
strExceptions = $"{Global.IEProxyExceptions};{strExceptions}";
|
|
||||||
}
|
|
||||||
|
|
||||||
string arguments = global
|
string arguments = global
|
||||||
? $"global {strProxy} {strExceptions}"
|
? $"global {strProxy} {strExceptions}"
|
||||||
: $"pac {strProxy}";
|
: $"pac {strProxy}";
|
||||||
@@ -6,6 +6,7 @@ using System.Net.Http;
|
|||||||
using System.Text;
|
using System.Text;
|
||||||
using System.Text.RegularExpressions;
|
using System.Text.RegularExpressions;
|
||||||
using System.Windows.Forms;
|
using System.Windows.Forms;
|
||||||
|
using v2rayN.Base;
|
||||||
using v2rayN.Mode;
|
using v2rayN.Mode;
|
||||||
|
|
||||||
namespace v2rayN.Handler
|
namespace v2rayN.Handler
|
||||||
@@ -43,7 +44,7 @@ namespace v2rayN.Handler
|
|||||||
_updateFunc = update;
|
_updateFunc = update;
|
||||||
var url = string.Empty;
|
var url = string.Empty;
|
||||||
|
|
||||||
DownloadHandle downloadHandle = null;
|
DownloadHandle downloadHandle = null;
|
||||||
if (downloadHandle == null)
|
if (downloadHandle == null)
|
||||||
{
|
{
|
||||||
downloadHandle = new DownloadHandle();
|
downloadHandle = new DownloadHandle();
|
||||||
@@ -162,7 +163,7 @@ namespace v2rayN.Handler
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
public void UpdateSubscriptionProcess(Config config, Action<bool, string> update)
|
public void UpdateSubscriptionProcess(Config config, bool blProxy, Action<bool, string> update)
|
||||||
{
|
{
|
||||||
_config = config;
|
_config = config;
|
||||||
_updateFunc = update;
|
_updateFunc = update;
|
||||||
@@ -177,8 +178,10 @@ namespace v2rayN.Handler
|
|||||||
|
|
||||||
for (int k = 1; k <= config.subItem.Count; k++)
|
for (int k = 1; k <= config.subItem.Count; k++)
|
||||||
{
|
{
|
||||||
string id = config.subItem[k - 1].id.Trim();
|
string id = config.subItem[k - 1].id.TrimEx();
|
||||||
string url = config.subItem[k - 1].url.Trim();
|
string url = config.subItem[k - 1].url.TrimEx();
|
||||||
|
string userAgent = config.subItem[k - 1].userAgent.TrimEx();
|
||||||
|
string groupId = config.subItem[k - 1].groupId.TrimEx();
|
||||||
string hashCode = $"{k}->";
|
string hashCode = $"{k}->";
|
||||||
if (config.subItem[k - 1].enabled == false)
|
if (config.subItem[k - 1].enabled == false)
|
||||||
{
|
{
|
||||||
@@ -196,17 +199,18 @@ namespace v2rayN.Handler
|
|||||||
if (args.Success)
|
if (args.Success)
|
||||||
{
|
{
|
||||||
_updateFunc(false, $"{hashCode}{UIRes.I18N("MsgGetSubscriptionSuccessfully")}");
|
_updateFunc(false, $"{hashCode}{UIRes.I18N("MsgGetSubscriptionSuccessfully")}");
|
||||||
string result = Utils.Base64Decode(args.Msg);
|
//string result = Utils.Base64Decode(args.Msg);
|
||||||
|
string result = args.Msg;
|
||||||
if (Utils.IsNullOrEmpty(result))
|
if (Utils.IsNullOrEmpty(result))
|
||||||
{
|
{
|
||||||
_updateFunc(false, $"{hashCode}{UIRes.I18N("MsgSubscriptionDecodingFailed")}");
|
_updateFunc(false, $"{hashCode}{UIRes.I18N("MsgSubscriptionDecodingFailed")}");
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
ConfigHandler.RemoveServerViaSubid(ref config, id);
|
//ConfigHandler.RemoveServerViaSubid(ref config, id);
|
||||||
_updateFunc(false, $"{hashCode}{UIRes.I18N("MsgClearSubscription")}");
|
//_updateFunc(false, $"{hashCode}{UIRes.I18N("MsgClearSubscription")}");
|
||||||
// RefreshServers();
|
// RefreshServers();
|
||||||
int ret = MainFormHandler.Instance.AddBatchServers(config, result, id);
|
int ret = ConfigHandler.AddBatchServers(ref config, result, id, groupId);
|
||||||
if (ret > 0)
|
if (ret > 0)
|
||||||
{
|
{
|
||||||
// RefreshServers();
|
// RefreshServers();
|
||||||
@@ -227,7 +231,9 @@ namespace v2rayN.Handler
|
|||||||
_updateFunc(false, args.GetException().Message);
|
_updateFunc(false, args.GetException().Message);
|
||||||
};
|
};
|
||||||
|
|
||||||
downloadHandle3.WebDownloadString(url);
|
WebProxy webProxy = blProxy ? new WebProxy(Global.Loopback, _config.GetLocalPort(Global.InboundHttp)) : null;
|
||||||
|
downloadHandle3.WebDownloadString(url, webProxy, userAgent);
|
||||||
|
|
||||||
_updateFunc(false, $"{hashCode}{UIRes.I18N("MsgStartGettingSubscriptions")}");
|
_updateFunc(false, $"{hashCode}{UIRes.I18N("MsgStartGettingSubscriptions")}");
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -290,7 +296,7 @@ namespace v2rayN.Handler
|
|||||||
{
|
{
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
Utils.SetSecurityProtocol();
|
Utils.SetSecurityProtocol(LazyConfig.Instance.GetConfig().enableSecurityProtocolTls13);
|
||||||
WebRequestHandler webRequestHandler = new WebRequestHandler
|
WebRequestHandler webRequestHandler = new WebRequestHandler
|
||||||
{
|
{
|
||||||
AllowAutoRedirect = false
|
AllowAutoRedirect = false
|
||||||
|
|||||||
@@ -2,6 +2,9 @@
|
|||||||
using System.Collections.Generic;
|
using System.Collections.Generic;
|
||||||
using System.IO;
|
using System.IO;
|
||||||
using System.Linq;
|
using System.Linq;
|
||||||
|
using System.Net;
|
||||||
|
using System.Net.NetworkInformation;
|
||||||
|
using v2rayN.Base;
|
||||||
using v2rayN.Mode;
|
using v2rayN.Mode;
|
||||||
|
|
||||||
namespace v2rayN.Handler
|
namespace v2rayN.Handler
|
||||||
@@ -19,29 +22,24 @@ namespace v2rayN.Handler
|
|||||||
/// <summary>
|
/// <summary>
|
||||||
/// 生成v2ray的客户端配置文件
|
/// 生成v2ray的客户端配置文件
|
||||||
/// </summary>
|
/// </summary>
|
||||||
/// <param name="config"></param>
|
/// <param name="node"></param>
|
||||||
/// <param name="fileName"></param>
|
/// <param name="fileName"></param>
|
||||||
/// <param name="msg"></param>
|
/// <param name="msg"></param>
|
||||||
/// <returns></returns>
|
/// <returns></returns>
|
||||||
public static int GenerateClientConfig(Config config, string fileName, bool blExport, out string msg)
|
public static int GenerateClientConfig(VmessItem node, string fileName, bool blExport, out string msg)
|
||||||
{
|
{
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
//检查GUI设置
|
if (node == null)
|
||||||
if (config == null
|
|
||||||
|| config.index < 0
|
|
||||||
|| config.vmess.Count <= 0
|
|
||||||
|| config.index > config.vmess.Count - 1
|
|
||||||
)
|
|
||||||
{
|
{
|
||||||
msg = UIRes.I18N("CheckServerSettings");
|
msg = UIRes.I18N("CheckServerSettings");
|
||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
|
|
||||||
msg = UIRes.I18N("InitialConfiguration");
|
msg = UIRes.I18N("InitialConfiguration");
|
||||||
if (config.configType() == (int)EConfigType.Custom)
|
if (node.configType == EConfigType.Custom)
|
||||||
{
|
{
|
||||||
return GenerateClientCustomConfig(config, fileName, out msg);
|
return GenerateClientCustomConfig(node, fileName, out msg);
|
||||||
}
|
}
|
||||||
|
|
||||||
//取得默认配置
|
//取得默认配置
|
||||||
@@ -60,6 +58,8 @@ namespace v2rayN.Handler
|
|||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
var config = LazyConfig.Instance.GetConfig();
|
||||||
|
|
||||||
//开始修改配置
|
//开始修改配置
|
||||||
log(config, ref v2rayConfig, blExport);
|
log(config, ref v2rayConfig, blExport);
|
||||||
|
|
||||||
@@ -70,7 +70,7 @@ namespace v2rayN.Handler
|
|||||||
routing(config, ref v2rayConfig);
|
routing(config, ref v2rayConfig);
|
||||||
|
|
||||||
//outbound
|
//outbound
|
||||||
outbound(config, ref v2rayConfig);
|
outbound(node, ref v2rayConfig);
|
||||||
|
|
||||||
//dns
|
//dns
|
||||||
dns(config, ref v2rayConfig);
|
dns(config, ref v2rayConfig);
|
||||||
@@ -80,7 +80,7 @@ namespace v2rayN.Handler
|
|||||||
|
|
||||||
Utils.ToJsonFile(v2rayConfig, fileName, false);
|
Utils.ToJsonFile(v2rayConfig, fileName, false);
|
||||||
|
|
||||||
msg = string.Format(UIRes.I18N("SuccessfulConfiguration"), config.getSummary());
|
msg = string.Format(UIRes.I18N("SuccessfulConfiguration"), $"[{config.GetGroupRemarks(node.groupId)}] {node.GetSummary()}");
|
||||||
}
|
}
|
||||||
catch
|
catch
|
||||||
{
|
{
|
||||||
@@ -325,15 +325,16 @@ namespace v2rayN.Handler
|
|||||||
/// <summary>
|
/// <summary>
|
||||||
/// vmess协议服务器配置
|
/// vmess协议服务器配置
|
||||||
/// </summary>
|
/// </summary>
|
||||||
/// <param name="config"></param>
|
/// <param name="node"></param>
|
||||||
/// <param name="v2rayConfig"></param>
|
/// <param name="v2rayConfig"></param>
|
||||||
/// <returns></returns>
|
/// <returns></returns>
|
||||||
private static int outbound(Config config, ref V2rayConfig v2rayConfig)
|
private static int outbound(VmessItem node, ref V2rayConfig v2rayConfig)
|
||||||
{
|
{
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
|
var config = LazyConfig.Instance.GetConfig();
|
||||||
Outbounds outbound = v2rayConfig.outbounds[0];
|
Outbounds outbound = v2rayConfig.outbounds[0];
|
||||||
if (config.configType() == (int)EConfigType.Vmess)
|
if (node.configType == EConfigType.Vmess)
|
||||||
{
|
{
|
||||||
VnextItem vnextItem;
|
VnextItem vnextItem;
|
||||||
if (outbound.settings.vnext.Count <= 0)
|
if (outbound.settings.vnext.Count <= 0)
|
||||||
@@ -346,8 +347,8 @@ namespace v2rayN.Handler
|
|||||||
vnextItem = outbound.settings.vnext[0];
|
vnextItem = outbound.settings.vnext[0];
|
||||||
}
|
}
|
||||||
//远程服务器地址和端口
|
//远程服务器地址和端口
|
||||||
vnextItem.address = config.address();
|
vnextItem.address = node.address;
|
||||||
vnextItem.port = config.port();
|
vnextItem.port = node.port;
|
||||||
|
|
||||||
UsersItem usersItem;
|
UsersItem usersItem;
|
||||||
if (vnextItem.users.Count <= 0)
|
if (vnextItem.users.Count <= 0)
|
||||||
@@ -360,10 +361,17 @@ namespace v2rayN.Handler
|
|||||||
usersItem = vnextItem.users[0];
|
usersItem = vnextItem.users[0];
|
||||||
}
|
}
|
||||||
//远程服务器用户ID
|
//远程服务器用户ID
|
||||||
usersItem.id = config.id();
|
usersItem.id = node.id;
|
||||||
usersItem.alterId = config.alterId();
|
usersItem.alterId = node.alterId;
|
||||||
usersItem.email = Global.userEMail;
|
usersItem.email = Global.userEMail;
|
||||||
usersItem.security = config.security();
|
if (Global.vmessSecuritys.Contains(node.security))
|
||||||
|
{
|
||||||
|
usersItem.security = node.security;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
usersItem.security = Global.DefaultSecurity;
|
||||||
|
}
|
||||||
|
|
||||||
//Mux
|
//Mux
|
||||||
outbound.mux.enabled = config.muxEnabled;
|
outbound.mux.enabled = config.muxEnabled;
|
||||||
@@ -371,12 +379,12 @@ namespace v2rayN.Handler
|
|||||||
|
|
||||||
//远程服务器底层传输配置
|
//远程服务器底层传输配置
|
||||||
StreamSettings streamSettings = outbound.streamSettings;
|
StreamSettings streamSettings = outbound.streamSettings;
|
||||||
boundStreamSettings(config, "out", ref streamSettings);
|
boundStreamSettings(node, "out", ref streamSettings);
|
||||||
|
|
||||||
outbound.protocol = Global.vmessProtocolLite;
|
outbound.protocol = Global.vmessProtocolLite;
|
||||||
outbound.settings.servers = null;
|
outbound.settings.servers = null;
|
||||||
}
|
}
|
||||||
else if (config.configType() == (int)EConfigType.Shadowsocks)
|
else if (node.configType == EConfigType.Shadowsocks)
|
||||||
{
|
{
|
||||||
ServersItem serversItem;
|
ServersItem serversItem;
|
||||||
if (outbound.settings.servers.Count <= 0)
|
if (outbound.settings.servers.Count <= 0)
|
||||||
@@ -389,12 +397,12 @@ namespace v2rayN.Handler
|
|||||||
serversItem = outbound.settings.servers[0];
|
serversItem = outbound.settings.servers[0];
|
||||||
}
|
}
|
||||||
//远程服务器地址和端口
|
//远程服务器地址和端口
|
||||||
serversItem.address = config.address();
|
serversItem.address = node.address;
|
||||||
serversItem.port = config.port();
|
serversItem.port = node.port;
|
||||||
serversItem.password = config.id();
|
serversItem.password = node.id;
|
||||||
if (Global.ssSecuritys.Contains(config.security()))
|
if (LazyConfig.Instance.GetShadowsocksSecuritys().Contains(node.security))
|
||||||
{
|
{
|
||||||
serversItem.method = config.security();
|
serversItem.method = node.security;
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
@@ -412,7 +420,7 @@ namespace v2rayN.Handler
|
|||||||
outbound.protocol = Global.ssProtocolLite;
|
outbound.protocol = Global.ssProtocolLite;
|
||||||
outbound.settings.vnext = null;
|
outbound.settings.vnext = null;
|
||||||
}
|
}
|
||||||
else if (config.configType() == (int)EConfigType.Socks)
|
else if (node.configType == EConfigType.Socks)
|
||||||
{
|
{
|
||||||
ServersItem serversItem;
|
ServersItem serversItem;
|
||||||
if (outbound.settings.servers.Count <= 0)
|
if (outbound.settings.servers.Count <= 0)
|
||||||
@@ -425,18 +433,18 @@ namespace v2rayN.Handler
|
|||||||
serversItem = outbound.settings.servers[0];
|
serversItem = outbound.settings.servers[0];
|
||||||
}
|
}
|
||||||
//远程服务器地址和端口
|
//远程服务器地址和端口
|
||||||
serversItem.address = config.address();
|
serversItem.address = node.address;
|
||||||
serversItem.port = config.port();
|
serversItem.port = node.port;
|
||||||
serversItem.method = null;
|
serversItem.method = null;
|
||||||
serversItem.password = null;
|
serversItem.password = null;
|
||||||
|
|
||||||
if (!Utils.IsNullOrEmpty(config.security())
|
if (!Utils.IsNullOrEmpty(node.security)
|
||||||
&& !Utils.IsNullOrEmpty(config.id()))
|
&& !Utils.IsNullOrEmpty(node.id))
|
||||||
{
|
{
|
||||||
SocksUsersItem socksUsersItem = new SocksUsersItem
|
SocksUsersItem socksUsersItem = new SocksUsersItem
|
||||||
{
|
{
|
||||||
user = config.security(),
|
user = node.security,
|
||||||
pass = config.id(),
|
pass = node.id,
|
||||||
level = 1
|
level = 1
|
||||||
};
|
};
|
||||||
|
|
||||||
@@ -449,7 +457,7 @@ namespace v2rayN.Handler
|
|||||||
outbound.protocol = Global.socksProtocolLite;
|
outbound.protocol = Global.socksProtocolLite;
|
||||||
outbound.settings.vnext = null;
|
outbound.settings.vnext = null;
|
||||||
}
|
}
|
||||||
else if (config.configType() == (int)EConfigType.VLESS)
|
else if (node.configType == EConfigType.VLESS)
|
||||||
{
|
{
|
||||||
VnextItem vnextItem;
|
VnextItem vnextItem;
|
||||||
if (outbound.settings.vnext.Count <= 0)
|
if (outbound.settings.vnext.Count <= 0)
|
||||||
@@ -462,8 +470,8 @@ namespace v2rayN.Handler
|
|||||||
vnextItem = outbound.settings.vnext[0];
|
vnextItem = outbound.settings.vnext[0];
|
||||||
}
|
}
|
||||||
//远程服务器地址和端口
|
//远程服务器地址和端口
|
||||||
vnextItem.address = config.address();
|
vnextItem.address = node.address;
|
||||||
vnextItem.port = config.port();
|
vnextItem.port = node.port;
|
||||||
|
|
||||||
UsersItem usersItem;
|
UsersItem usersItem;
|
||||||
if (vnextItem.users.Count <= 0)
|
if (vnextItem.users.Count <= 0)
|
||||||
@@ -476,11 +484,10 @@ namespace v2rayN.Handler
|
|||||||
usersItem = vnextItem.users[0];
|
usersItem = vnextItem.users[0];
|
||||||
}
|
}
|
||||||
//远程服务器用户ID
|
//远程服务器用户ID
|
||||||
usersItem.id = config.id();
|
usersItem.id = node.id;
|
||||||
usersItem.alterId = 0;
|
|
||||||
usersItem.flow = string.Empty;
|
usersItem.flow = string.Empty;
|
||||||
usersItem.email = Global.userEMail;
|
usersItem.email = Global.userEMail;
|
||||||
usersItem.encryption = config.security();
|
usersItem.encryption = node.security;
|
||||||
|
|
||||||
//Mux
|
//Mux
|
||||||
outbound.mux.enabled = config.muxEnabled;
|
outbound.mux.enabled = config.muxEnabled;
|
||||||
@@ -488,18 +495,18 @@ namespace v2rayN.Handler
|
|||||||
|
|
||||||
//远程服务器底层传输配置
|
//远程服务器底层传输配置
|
||||||
StreamSettings streamSettings = outbound.streamSettings;
|
StreamSettings streamSettings = outbound.streamSettings;
|
||||||
boundStreamSettings(config, "out", ref streamSettings);
|
boundStreamSettings(node, "out", ref streamSettings);
|
||||||
|
|
||||||
//if xtls
|
//if xtls
|
||||||
if (config.streamSecurity() == Global.StreamSecurityX)
|
if (node.streamSecurity == Global.StreamSecurityX)
|
||||||
{
|
{
|
||||||
if (Utils.IsNullOrEmpty(config.flow()))
|
if (Utils.IsNullOrEmpty(node.flow))
|
||||||
{
|
{
|
||||||
usersItem.flow = "xtls-rprx-origin";
|
usersItem.flow = Global.xtlsFlows[1];
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
usersItem.flow = config.flow().Replace("splice", "direct");
|
usersItem.flow = node.flow.Replace("splice", "direct");
|
||||||
}
|
}
|
||||||
|
|
||||||
outbound.mux.enabled = false;
|
outbound.mux.enabled = false;
|
||||||
@@ -509,7 +516,7 @@ namespace v2rayN.Handler
|
|||||||
outbound.protocol = Global.vlessProtocolLite;
|
outbound.protocol = Global.vlessProtocolLite;
|
||||||
outbound.settings.servers = null;
|
outbound.settings.servers = null;
|
||||||
}
|
}
|
||||||
else if (config.configType() == (int)EConfigType.Trojan)
|
else if (node.configType == EConfigType.Trojan)
|
||||||
{
|
{
|
||||||
ServersItem serversItem;
|
ServersItem serversItem;
|
||||||
if (outbound.settings.servers.Count <= 0)
|
if (outbound.settings.servers.Count <= 0)
|
||||||
@@ -522,20 +529,37 @@ namespace v2rayN.Handler
|
|||||||
serversItem = outbound.settings.servers[0];
|
serversItem = outbound.settings.servers[0];
|
||||||
}
|
}
|
||||||
//远程服务器地址和端口
|
//远程服务器地址和端口
|
||||||
serversItem.address = config.address();
|
serversItem.address = node.address;
|
||||||
serversItem.port = config.port();
|
serversItem.port = node.port;
|
||||||
serversItem.password = config.id();
|
serversItem.password = node.id;
|
||||||
|
serversItem.flow = string.Empty;
|
||||||
|
|
||||||
serversItem.ota = false;
|
serversItem.ota = false;
|
||||||
serversItem.level = 1;
|
serversItem.level = 1;
|
||||||
|
|
||||||
|
//if xtls
|
||||||
|
if (node.streamSecurity == Global.StreamSecurityX)
|
||||||
|
{
|
||||||
|
if (Utils.IsNullOrEmpty(node.flow))
|
||||||
|
{
|
||||||
|
serversItem.flow = Global.xtlsFlows[1];
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
serversItem.flow = node.flow.Replace("splice", "direct");
|
||||||
|
}
|
||||||
|
|
||||||
|
outbound.mux.enabled = false;
|
||||||
|
outbound.mux.concurrency = -1;
|
||||||
|
}
|
||||||
|
|
||||||
outbound.mux.enabled = false;
|
outbound.mux.enabled = false;
|
||||||
outbound.mux.concurrency = -1;
|
outbound.mux.concurrency = -1;
|
||||||
|
|
||||||
|
|
||||||
//远程服务器底层传输配置
|
//远程服务器底层传输配置
|
||||||
StreamSettings streamSettings = outbound.streamSettings;
|
StreamSettings streamSettings = outbound.streamSettings;
|
||||||
boundStreamSettings(config, "out", ref streamSettings);
|
boundStreamSettings(node, "out", ref streamSettings);
|
||||||
|
|
||||||
outbound.protocol = Global.trojanProtocolLite;
|
outbound.protocol = Global.trojanProtocolLite;
|
||||||
outbound.settings.vnext = null;
|
outbound.settings.vnext = null;
|
||||||
@@ -550,27 +574,29 @@ namespace v2rayN.Handler
|
|||||||
/// <summary>
|
/// <summary>
|
||||||
/// vmess协议远程服务器底层传输配置
|
/// vmess协议远程服务器底层传输配置
|
||||||
/// </summary>
|
/// </summary>
|
||||||
/// <param name="config"></param>
|
/// <param name="node"></param>
|
||||||
/// <param name="iobound"></param>
|
/// <param name="iobound"></param>
|
||||||
/// <param name="streamSettings"></param>
|
/// <param name="streamSettings"></param>
|
||||||
/// <returns></returns>
|
/// <returns></returns>
|
||||||
private static int boundStreamSettings(Config config, string iobound, ref StreamSettings streamSettings)
|
private static int boundStreamSettings(VmessItem node, string iobound, ref StreamSettings streamSettings)
|
||||||
{
|
{
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
|
var config = LazyConfig.Instance.GetConfig();
|
||||||
//远程服务器底层传输配置
|
//远程服务器底层传输配置
|
||||||
streamSettings.network = config.network();
|
streamSettings.network = node.GetNetwork();
|
||||||
string host = config.requestHost();
|
string host = node.requestHost.TrimEx();
|
||||||
string sni = config.sni();
|
string sni = node.sni;
|
||||||
|
|
||||||
//if tls
|
//if tls
|
||||||
if (config.streamSecurity() == Global.StreamSecurity)
|
if (node.streamSecurity == Global.StreamSecurity)
|
||||||
{
|
{
|
||||||
streamSettings.security = config.streamSecurity();
|
streamSettings.security = node.streamSecurity;
|
||||||
|
|
||||||
TlsSettings tlsSettings = new TlsSettings
|
TlsSettings tlsSettings = new TlsSettings
|
||||||
{
|
{
|
||||||
allowInsecure = config.allowInsecure()
|
allowInsecure = Utils.ToBool(node.allowInsecure),
|
||||||
|
alpn = node.GetAlpn()
|
||||||
};
|
};
|
||||||
if (!string.IsNullOrWhiteSpace(sni))
|
if (!string.IsNullOrWhiteSpace(sni))
|
||||||
{
|
{
|
||||||
@@ -584,13 +610,14 @@ namespace v2rayN.Handler
|
|||||||
}
|
}
|
||||||
|
|
||||||
//if xtls
|
//if xtls
|
||||||
if (config.streamSecurity() == Global.StreamSecurityX)
|
if (node.streamSecurity == Global.StreamSecurityX)
|
||||||
{
|
{
|
||||||
streamSettings.security = config.streamSecurity();
|
streamSettings.security = node.streamSecurity;
|
||||||
|
|
||||||
TlsSettings xtlsSettings = new TlsSettings
|
TlsSettings xtlsSettings = new TlsSettings
|
||||||
{
|
{
|
||||||
allowInsecure = config.allowInsecure()
|
allowInsecure = Utils.ToBool(node.allowInsecure),
|
||||||
|
alpn = node.GetAlpn()
|
||||||
};
|
};
|
||||||
if (!string.IsNullOrWhiteSpace(sni))
|
if (!string.IsNullOrWhiteSpace(sni))
|
||||||
{
|
{
|
||||||
@@ -604,7 +631,7 @@ namespace v2rayN.Handler
|
|||||||
}
|
}
|
||||||
|
|
||||||
//streamSettings
|
//streamSettings
|
||||||
switch (config.network())
|
switch (node.GetNetwork())
|
||||||
{
|
{
|
||||||
//kcp基本配置暂时是默认值,用户能自己设置伪装类型
|
//kcp基本配置暂时是默认值,用户能自己设置伪装类型
|
||||||
case "kcp":
|
case "kcp":
|
||||||
@@ -634,11 +661,11 @@ namespace v2rayN.Handler
|
|||||||
kcpSettings.writeBufferSize = config.kcpItem.writeBufferSize;
|
kcpSettings.writeBufferSize = config.kcpItem.writeBufferSize;
|
||||||
kcpSettings.header = new Header
|
kcpSettings.header = new Header
|
||||||
{
|
{
|
||||||
type = config.headerType()
|
type = node.headerType
|
||||||
};
|
};
|
||||||
if (!Utils.IsNullOrEmpty(config.path()))
|
if (!Utils.IsNullOrEmpty(node.path))
|
||||||
{
|
{
|
||||||
kcpSettings.seed = config.path();
|
kcpSettings.seed = node.path;
|
||||||
}
|
}
|
||||||
streamSettings.kcpSettings = kcpSettings;
|
streamSettings.kcpSettings = kcpSettings;
|
||||||
break;
|
break;
|
||||||
@@ -648,7 +675,7 @@ namespace v2rayN.Handler
|
|||||||
{
|
{
|
||||||
};
|
};
|
||||||
|
|
||||||
string path = config.path();
|
string path = node.path;
|
||||||
if (!string.IsNullOrWhiteSpace(host))
|
if (!string.IsNullOrWhiteSpace(host))
|
||||||
{
|
{
|
||||||
wsSettings.headers = new Headers
|
wsSettings.headers = new Headers
|
||||||
@@ -678,7 +705,7 @@ namespace v2rayN.Handler
|
|||||||
{
|
{
|
||||||
httpSettings.host = Utils.String2List(host);
|
httpSettings.host = Utils.String2List(host);
|
||||||
}
|
}
|
||||||
httpSettings.path = config.path();
|
httpSettings.path = node.path;
|
||||||
|
|
||||||
streamSettings.httpSettings = httpSettings;
|
streamSettings.httpSettings = httpSettings;
|
||||||
|
|
||||||
@@ -691,14 +718,14 @@ namespace v2rayN.Handler
|
|||||||
QuicSettings quicsettings = new QuicSettings
|
QuicSettings quicsettings = new QuicSettings
|
||||||
{
|
{
|
||||||
security = host,
|
security = host,
|
||||||
key = config.path(),
|
key = node.path,
|
||||||
header = new Header
|
header = new Header
|
||||||
{
|
{
|
||||||
type = config.headerType()
|
type = node.headerType
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
streamSettings.quicSettings = quicsettings;
|
streamSettings.quicSettings = quicsettings;
|
||||||
if (config.streamSecurity() == Global.StreamSecurity)
|
if (node.streamSecurity == Global.StreamSecurity)
|
||||||
{
|
{
|
||||||
if (!string.IsNullOrWhiteSpace(sni))
|
if (!string.IsNullOrWhiteSpace(sni))
|
||||||
{
|
{
|
||||||
@@ -706,26 +733,26 @@ namespace v2rayN.Handler
|
|||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
streamSettings.tlsSettings.serverName = config.address();
|
streamSettings.tlsSettings.serverName = node.address;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case "grpc":
|
case "grpc":
|
||||||
var grpcSettings = new GrpcSettings();
|
var grpcSettings = new GrpcSettings();
|
||||||
|
|
||||||
grpcSettings.serviceName = config.path();
|
grpcSettings.serviceName = node.path;
|
||||||
grpcSettings.multiMode = (config.headerType() == Global.GrpcmultiMode ? true : false);
|
grpcSettings.multiMode = (node.headerType == Global.GrpcmultiMode ? true : false);
|
||||||
streamSettings.grpcSettings = grpcSettings;
|
streamSettings.grpcSettings = grpcSettings;
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
//tcp带http伪装
|
//tcp带http伪装
|
||||||
if (config.headerType().Equals(Global.TcpHeaderHttp))
|
if (node.headerType.Equals(Global.TcpHeaderHttp))
|
||||||
{
|
{
|
||||||
TcpSettings tcpSettings = new TcpSettings
|
TcpSettings tcpSettings = new TcpSettings
|
||||||
{
|
{
|
||||||
header = new Header
|
header = new Header
|
||||||
{
|
{
|
||||||
type = config.headerType()
|
type = node.headerType
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
@@ -740,9 +767,9 @@ namespace v2rayN.Handler
|
|||||||
|
|
||||||
//填入自定义Path
|
//填入自定义Path
|
||||||
string pathHttp = @"/";
|
string pathHttp = @"/";
|
||||||
if (!Utils.IsNullOrEmpty(config.path()))
|
if (!Utils.IsNullOrEmpty(node.path))
|
||||||
{
|
{
|
||||||
string[] arrPath = config.path().Split(',');
|
string[] arrPath = node.path.Split(',');
|
||||||
pathHttp = string.Join("\",\"", arrPath);
|
pathHttp = string.Join("\",\"", arrPath);
|
||||||
}
|
}
|
||||||
request = request.Replace("$requestPath$", string.Format("\"{0}\"", pathHttp));
|
request = request.Replace("$requestPath$", string.Format("\"{0}\"", pathHttp));
|
||||||
@@ -810,7 +837,7 @@ namespace v2rayN.Handler
|
|||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
public static int statistic(Config config, ref V2rayConfig v2rayConfig)
|
private static int statistic(Config config, ref V2rayConfig v2rayConfig)
|
||||||
{
|
{
|
||||||
if (config.enableStatistics)
|
if (config.enableStatistics)
|
||||||
{
|
{
|
||||||
@@ -862,20 +889,16 @@ namespace v2rayN.Handler
|
|||||||
/// <summary>
|
/// <summary>
|
||||||
/// 生成v2ray的客户端配置文件(自定义配置)
|
/// 生成v2ray的客户端配置文件(自定义配置)
|
||||||
/// </summary>
|
/// </summary>
|
||||||
/// <param name="config"></param>
|
/// <param name="node"></param>
|
||||||
/// <param name="fileName"></param>
|
/// <param name="fileName"></param>
|
||||||
/// <param name="msg"></param>
|
/// <param name="msg"></param>
|
||||||
/// <returns></returns>
|
/// <returns></returns>
|
||||||
public static int GenerateClientCustomConfig(Config config, string fileName, out string msg)
|
private static int GenerateClientCustomConfig(VmessItem node, string fileName, out string msg)
|
||||||
{
|
{
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
//检查GUI设置
|
//检查GUI设置
|
||||||
if (config == null
|
if (node == null)
|
||||||
|| config.index < 0
|
|
||||||
|| config.vmess.Count <= 0
|
|
||||||
|| config.index > config.vmess.Count - 1
|
|
||||||
)
|
|
||||||
{
|
{
|
||||||
msg = UIRes.I18N("CheckServerSettings");
|
msg = UIRes.I18N("CheckServerSettings");
|
||||||
return -1;
|
return -1;
|
||||||
@@ -886,10 +909,10 @@ namespace v2rayN.Handler
|
|||||||
File.Delete(fileName);
|
File.Delete(fileName);
|
||||||
}
|
}
|
||||||
|
|
||||||
string addressFileName = config.address();
|
string addressFileName = node.address;
|
||||||
if (!File.Exists(addressFileName))
|
if (!File.Exists(addressFileName))
|
||||||
{
|
{
|
||||||
addressFileName = Path.Combine(Utils.GetTempPath(), addressFileName);
|
addressFileName = Path.Combine(Utils.GetConfigPath(), addressFileName);
|
||||||
}
|
}
|
||||||
if (!File.Exists(addressFileName))
|
if (!File.Exists(addressFileName))
|
||||||
{
|
{
|
||||||
@@ -898,7 +921,7 @@ namespace v2rayN.Handler
|
|||||||
}
|
}
|
||||||
File.Copy(addressFileName, fileName);
|
File.Copy(addressFileName, fileName);
|
||||||
|
|
||||||
msg = string.Format(UIRes.I18N("SuccessfulConfiguration"), config.getSummary());
|
msg = string.Format(UIRes.I18N("SuccessfulConfiguration"), $"[{LazyConfig.Instance.GetConfig().GetGroupRemarks(node.groupId)}] {node.GetSummary()}");
|
||||||
}
|
}
|
||||||
catch
|
catch
|
||||||
{
|
{
|
||||||
@@ -915,20 +938,16 @@ namespace v2rayN.Handler
|
|||||||
/// <summary>
|
/// <summary>
|
||||||
/// 生成v2ray的客户端配置文件
|
/// 生成v2ray的客户端配置文件
|
||||||
/// </summary>
|
/// </summary>
|
||||||
/// <param name="config"></param>
|
/// <param name="node"></param>
|
||||||
/// <param name="fileName"></param>
|
/// <param name="fileName"></param>
|
||||||
/// <param name="msg"></param>
|
/// <param name="msg"></param>
|
||||||
/// <returns></returns>
|
/// <returns></returns>
|
||||||
public static int GenerateServerConfig(Config config, string fileName, out string msg)
|
public static int GenerateServerConfig(VmessItem node, string fileName, out string msg)
|
||||||
{
|
{
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
//检查GUI设置
|
//检查GUI设置
|
||||||
if (config == null
|
if (node == null)
|
||||||
|| config.index < 0
|
|
||||||
|| config.vmess.Count <= 0
|
|
||||||
|| config.index > config.vmess.Count - 1
|
|
||||||
)
|
|
||||||
{
|
{
|
||||||
msg = UIRes.I18N("CheckServerSettings");
|
msg = UIRes.I18N("CheckServerSettings");
|
||||||
return -1;
|
return -1;
|
||||||
@@ -952,18 +971,20 @@ namespace v2rayN.Handler
|
|||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
var config = LazyConfig.Instance.GetConfig();
|
||||||
|
|
||||||
////开始修改配置
|
////开始修改配置
|
||||||
log(config, ref v2rayConfig, true);
|
log(config, ref v2rayConfig, true);
|
||||||
|
|
||||||
//vmess协议服务器配置
|
//vmess协议服务器配置
|
||||||
ServerInbound(config, ref v2rayConfig);
|
ServerInbound(node, ref v2rayConfig);
|
||||||
|
|
||||||
//传出设置
|
//传出设置
|
||||||
ServerOutbound(config, ref v2rayConfig);
|
ServerOutbound(config, ref v2rayConfig);
|
||||||
|
|
||||||
Utils.ToJsonFile(v2rayConfig, fileName, false);
|
Utils.ToJsonFile(v2rayConfig, fileName, false);
|
||||||
|
|
||||||
msg = string.Format(UIRes.I18N("SuccessfulConfiguration"), config.getSummary());
|
msg = string.Format(UIRes.I18N("SuccessfulConfiguration"), node.GetSummary());
|
||||||
}
|
}
|
||||||
catch
|
catch
|
||||||
{
|
{
|
||||||
@@ -976,10 +997,10 @@ namespace v2rayN.Handler
|
|||||||
/// <summary>
|
/// <summary>
|
||||||
/// vmess协议服务器配置
|
/// vmess协议服务器配置
|
||||||
/// </summary>
|
/// </summary>
|
||||||
/// <param name="config"></param>
|
/// <param name="node"></param>
|
||||||
/// <param name="v2rayConfig"></param>
|
/// <param name="v2rayConfig"></param>
|
||||||
/// <returns></returns>
|
/// <returns></returns>
|
||||||
private static int ServerInbound(Config config, ref V2rayConfig v2rayConfig)
|
private static int ServerInbound(VmessItem node, ref V2rayConfig v2rayConfig)
|
||||||
{
|
{
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
@@ -995,29 +1016,28 @@ namespace v2rayN.Handler
|
|||||||
usersItem = inbound.settings.clients[0];
|
usersItem = inbound.settings.clients[0];
|
||||||
}
|
}
|
||||||
//远程服务器端口
|
//远程服务器端口
|
||||||
inbound.port = config.port();
|
inbound.port = node.port;
|
||||||
|
|
||||||
//远程服务器用户ID
|
//远程服务器用户ID
|
||||||
usersItem.id = config.id();
|
usersItem.id = node.id;
|
||||||
usersItem.email = Global.userEMail;
|
usersItem.email = Global.userEMail;
|
||||||
|
|
||||||
if (config.configType() == (int)EConfigType.Vmess)
|
if (node.configType == EConfigType.Vmess)
|
||||||
{
|
{
|
||||||
inbound.protocol = Global.vmessProtocolLite;
|
inbound.protocol = Global.vmessProtocolLite;
|
||||||
usersItem.alterId = config.alterId();
|
usersItem.alterId = node.alterId;
|
||||||
|
|
||||||
}
|
}
|
||||||
else if (config.configType() == (int)EConfigType.VLESS)
|
else if (node.configType == EConfigType.VLESS)
|
||||||
{
|
{
|
||||||
inbound.protocol = Global.vlessProtocolLite;
|
inbound.protocol = Global.vlessProtocolLite;
|
||||||
usersItem.alterId = 0;
|
usersItem.flow = node.flow;
|
||||||
usersItem.flow = config.flow();
|
inbound.settings.decryption = node.security;
|
||||||
inbound.settings.decryption = config.security();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
//远程服务器底层传输配置
|
//远程服务器底层传输配置
|
||||||
StreamSettings streamSettings = inbound.streamSettings;
|
StreamSettings streamSettings = inbound.streamSettings;
|
||||||
boundStreamSettings(config, "in", ref streamSettings);
|
boundStreamSettings(node, "in", ref streamSettings);
|
||||||
}
|
}
|
||||||
catch
|
catch
|
||||||
{
|
{
|
||||||
@@ -1028,7 +1048,7 @@ namespace v2rayN.Handler
|
|||||||
/// <summary>
|
/// <summary>
|
||||||
/// 传出设置
|
/// 传出设置
|
||||||
/// </summary>
|
/// </summary>
|
||||||
/// <param name="config"></param>
|
/// <param name="node"></param>
|
||||||
/// <param name="v2rayConfig"></param>
|
/// <param name="v2rayConfig"></param>
|
||||||
/// <returns></returns>
|
/// <returns></returns>
|
||||||
private static int ServerOutbound(Config config, ref V2rayConfig v2rayConfig)
|
private static int ServerOutbound(Config config, ref V2rayConfig v2rayConfig)
|
||||||
@@ -1342,25 +1362,25 @@ namespace v2rayN.Handler
|
|||||||
/// <summary>
|
/// <summary>
|
||||||
/// 导出为客户端配置
|
/// 导出为客户端配置
|
||||||
/// </summary>
|
/// </summary>
|
||||||
/// <param name="config"></param>
|
/// <param name="node"></param>
|
||||||
/// <param name="fileName"></param>
|
/// <param name="fileName"></param>
|
||||||
/// <param name="msg"></param>
|
/// <param name="msg"></param>
|
||||||
/// <returns></returns>
|
/// <returns></returns>
|
||||||
public static int Export2ClientConfig(Config config, string fileName, out string msg)
|
public static int Export2ClientConfig(VmessItem node, string fileName, out string msg)
|
||||||
{
|
{
|
||||||
return GenerateClientConfig(config, fileName, true, out msg);
|
return GenerateClientConfig(node, fileName, true, out msg);
|
||||||
}
|
}
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 导出为服务端配置
|
/// 导出为服务端配置
|
||||||
/// </summary>
|
/// </summary>
|
||||||
/// <param name="config"></param>
|
/// <param name="node"></param>
|
||||||
/// <param name="fileName"></param>
|
/// <param name="fileName"></param>
|
||||||
/// <param name="msg"></param>
|
/// <param name="msg"></param>
|
||||||
/// <returns></returns>
|
/// <returns></returns>
|
||||||
public static int Export2ServerConfig(Config config, string fileName, out string msg)
|
public static int Export2ServerConfig(VmessItem node, string fileName, out string msg)
|
||||||
{
|
{
|
||||||
return GenerateServerConfig(config, fileName, out msg);
|
return GenerateServerConfig(node, fileName, out msg);
|
||||||
}
|
}
|
||||||
|
|
||||||
#endregion
|
#endregion
|
||||||
@@ -1368,15 +1388,11 @@ namespace v2rayN.Handler
|
|||||||
#region Gen speedtest config
|
#region Gen speedtest config
|
||||||
|
|
||||||
|
|
||||||
public static string GenerateClientSpeedtestConfigString(Config config, List<int> selecteds, out string msg)
|
public static string GenerateClientSpeedtestConfigString(Config config, List<ServerTestItem> selecteds, out string msg)
|
||||||
{
|
{
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
if (config == null
|
if (config == null)
|
||||||
|| config.index < 0
|
|
||||||
|| config.vmess.Count <= 0
|
|
||||||
|| config.index > config.vmess.Count - 1
|
|
||||||
)
|
|
||||||
{
|
{
|
||||||
msg = UIRes.I18N("CheckServerSettings");
|
msg = UIRes.I18N("CheckServerSettings");
|
||||||
return "";
|
return "";
|
||||||
@@ -1399,6 +1415,12 @@ namespace v2rayN.Handler
|
|||||||
msg = UIRes.I18N("FailedGenDefaultConfiguration");
|
msg = UIRes.I18N("FailedGenDefaultConfiguration");
|
||||||
return "";
|
return "";
|
||||||
}
|
}
|
||||||
|
List<IPEndPoint> lstIpEndPoints = null;
|
||||||
|
try
|
||||||
|
{
|
||||||
|
lstIpEndPoints = new List<IPEndPoint>(IPGlobalProperties.GetIPGlobalProperties().GetActiveTcpListeners());
|
||||||
|
}
|
||||||
|
catch { }
|
||||||
|
|
||||||
log(configCopy, ref v2rayConfig, false);
|
log(configCopy, ref v2rayConfig, false);
|
||||||
//routing(config, ref v2rayConfig);
|
//routing(config, ref v2rayConfig);
|
||||||
@@ -1407,27 +1429,58 @@ namespace v2rayN.Handler
|
|||||||
v2rayConfig.inbounds.Clear(); // Remove "proxy" service for speedtest, avoiding port conflicts.
|
v2rayConfig.inbounds.Clear(); // Remove "proxy" service for speedtest, avoiding port conflicts.
|
||||||
|
|
||||||
int httpPort = configCopy.GetLocalPort("speedtest");
|
int httpPort = configCopy.GetLocalPort("speedtest");
|
||||||
foreach (int index in selecteds)
|
|
||||||
|
foreach (var it in selecteds)
|
||||||
{
|
{
|
||||||
if (configCopy.vmess[index].configType == (int)EConfigType.Custom)
|
if (it.configType == EConfigType.Custom)
|
||||||
{
|
{
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
if (it.port <= 0)
|
||||||
|
{
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
if (it.configType == EConfigType.Vmess || it.configType == EConfigType.VLESS)
|
||||||
|
{
|
||||||
|
if (!Utils.IsGuidByParse(configCopy.GetVmessItem(it.indexId).id))
|
||||||
|
{
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
configCopy.index = index;
|
//find unuse port
|
||||||
|
var port = httpPort;
|
||||||
|
for (int k = httpPort; k < 65536; k++)
|
||||||
|
{
|
||||||
|
if (lstIpEndPoints != null && lstIpEndPoints.FindIndex(_it => _it.Port == k) >= 0)
|
||||||
|
{
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
//found
|
||||||
|
port = k;
|
||||||
|
httpPort = port + 1;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
|
//Port In Used
|
||||||
|
if (lstIpEndPoints != null && lstIpEndPoints.FindIndex(_it => _it.Port == port) >= 0)
|
||||||
|
{
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
it.port = port;
|
||||||
|
it.allowTest = true;
|
||||||
|
|
||||||
Inbounds inbound = new Inbounds
|
Inbounds inbound = new Inbounds
|
||||||
{
|
{
|
||||||
listen = Global.Loopback,
|
listen = Global.Loopback,
|
||||||
port = httpPort + index,
|
port = port,
|
||||||
protocol = Global.InboundHttp
|
protocol = Global.InboundHttp
|
||||||
};
|
};
|
||||||
inbound.tag = Global.InboundHttp + inbound.port.ToString();
|
inbound.tag = Global.InboundHttp + inbound.port.ToString();
|
||||||
v2rayConfig.inbounds.Add(inbound);
|
v2rayConfig.inbounds.Add(inbound);
|
||||||
|
|
||||||
|
|
||||||
V2rayConfig v2rayConfigCopy = Utils.FromJson<V2rayConfig>(result);
|
V2rayConfig v2rayConfigCopy = Utils.FromJson<V2rayConfig>(result);
|
||||||
outbound(configCopy, ref v2rayConfigCopy);
|
outbound(configCopy.GetVmessItem(it.indexId), ref v2rayConfigCopy);
|
||||||
v2rayConfigCopy.outbounds[0].tag = Global.agentTag + inbound.port.ToString();
|
v2rayConfigCopy.outbounds[0].tag = Global.agentTag + inbound.port.ToString();
|
||||||
v2rayConfig.outbounds.Add(v2rayConfigCopy.outbounds[0]);
|
v2rayConfig.outbounds.Add(v2rayConfigCopy.outbounds[0]);
|
||||||
|
|
||||||
@@ -1440,7 +1493,7 @@ namespace v2rayN.Handler
|
|||||||
v2rayConfig.routing.rules.Add(rule);
|
v2rayConfig.routing.rules.Add(rule);
|
||||||
}
|
}
|
||||||
|
|
||||||
msg = string.Format(UIRes.I18N("SuccessfulConfiguration"), configCopy.getSummary());
|
//msg = string.Format(UIRes.I18N("SuccessfulConfiguration"), node.getSummary());
|
||||||
return Utils.ToJson(v2rayConfig);
|
return Utils.ToJson(v2rayConfig);
|
||||||
}
|
}
|
||||||
catch
|
catch
|
||||||
|
|||||||
@@ -23,6 +23,7 @@ namespace v2rayN.Handler
|
|||||||
private static string v2rayConfigRes = Global.v2rayConfigFileName;
|
private static string v2rayConfigRes = Global.v2rayConfigFileName;
|
||||||
private List<string> lstV2ray;
|
private List<string> lstV2ray;
|
||||||
private string coreUrl;
|
private string coreUrl;
|
||||||
|
private string coreArguments;
|
||||||
public event ProcessDelegate ProcessEvent;
|
public event ProcessDelegate ProcessEvent;
|
||||||
//private int processId = 0;
|
//private int processId = 0;
|
||||||
private Process _process;
|
private Process _process;
|
||||||
@@ -36,28 +37,18 @@ namespace v2rayN.Handler
|
|||||||
/// </summary>
|
/// </summary>
|
||||||
public void LoadV2ray(Config config)
|
public void LoadV2ray(Config config)
|
||||||
{
|
{
|
||||||
if (config.coreType == ECoreType.v2fly_core)
|
|
||||||
{
|
|
||||||
lstV2ray = new List<string>
|
|
||||||
{
|
|
||||||
"wv2ray",
|
|
||||||
"v2ray"
|
|
||||||
};
|
|
||||||
coreUrl = Global.v2flyCoreUrl;
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
lstV2ray = new List<string>
|
|
||||||
{
|
|
||||||
"xray"
|
|
||||||
};
|
|
||||||
coreUrl = Global.xrayCoreUrl;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (Global.reloadV2ray)
|
if (Global.reloadV2ray)
|
||||||
{
|
{
|
||||||
|
var item = ConfigHandler.GetDefaultServer(ref config);
|
||||||
|
if (item == null)
|
||||||
|
{
|
||||||
|
ShowMsg(false, UIRes.I18N("CheckServerSettings"));
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
SetCore(config, item);
|
||||||
string fileName = Utils.GetPath(v2rayConfigRes);
|
string fileName = Utils.GetPath(v2rayConfigRes);
|
||||||
if (V2rayConfigHandler.GenerateClientConfig(config, fileName, false, out string msg) != 0)
|
if (V2rayConfigHandler.GenerateClientConfig(item, fileName, false, out string msg) != 0)
|
||||||
{
|
{
|
||||||
ShowMsg(false, msg);
|
ShowMsg(false, msg);
|
||||||
}
|
}
|
||||||
@@ -73,7 +64,7 @@ namespace v2rayN.Handler
|
|||||||
/// 新建进程,载入V2ray配置文件字符串
|
/// 新建进程,载入V2ray配置文件字符串
|
||||||
/// 返回新进程pid。
|
/// 返回新进程pid。
|
||||||
/// </summary>
|
/// </summary>
|
||||||
public int LoadV2rayConfigString(Config config, List<int> _selecteds)
|
public int LoadV2rayConfigString(Config config, List<ServerTestItem> _selecteds)
|
||||||
{
|
{
|
||||||
int pid = -1;
|
int pid = -1;
|
||||||
string configStr = V2rayConfigHandler.GenerateClientSpeedtestConfigString(config, _selecteds, out string msg);
|
string configStr = V2rayConfigHandler.GenerateClientSpeedtestConfigString(config, _selecteds, out string msg);
|
||||||
@@ -212,6 +203,7 @@ namespace v2rayN.Handler
|
|||||||
StartInfo = new ProcessStartInfo
|
StartInfo = new ProcessStartInfo
|
||||||
{
|
{
|
||||||
FileName = fileName,
|
FileName = fileName,
|
||||||
|
Arguments = coreArguments,
|
||||||
WorkingDirectory = Utils.StartupPath(),
|
WorkingDirectory = Utils.StartupPath(),
|
||||||
UseShellExecute = false,
|
UseShellExecute = false,
|
||||||
RedirectStandardOutput = true,
|
RedirectStandardOutput = true,
|
||||||
@@ -333,5 +325,45 @@ namespace v2rayN.Handler
|
|||||||
Utils.SaveLog(ex.Message, ex);
|
Utils.SaveLog(ex.Message, ex);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private void SetCore(Config config, VmessItem item)
|
||||||
|
{
|
||||||
|
if (item == null)
|
||||||
|
{
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
var coreType = LazyConfig.Instance.GetCoreType(item, item.configType);
|
||||||
|
|
||||||
|
if (coreType == ECoreType.v2fly)
|
||||||
|
{
|
||||||
|
lstV2ray = new List<string>
|
||||||
|
{
|
||||||
|
"wv2ray",
|
||||||
|
"v2ray"
|
||||||
|
};
|
||||||
|
coreUrl = Global.v2flyCoreUrl;
|
||||||
|
coreArguments = string.Empty;
|
||||||
|
}
|
||||||
|
else if (coreType == ECoreType.Xray)
|
||||||
|
{
|
||||||
|
lstV2ray = new List<string>
|
||||||
|
{
|
||||||
|
"xray"
|
||||||
|
};
|
||||||
|
coreUrl = Global.xrayCoreUrl;
|
||||||
|
coreArguments = string.Empty;
|
||||||
|
}
|
||||||
|
else if (coreType == ECoreType.clash)
|
||||||
|
{
|
||||||
|
lstV2ray = new List<string>
|
||||||
|
{
|
||||||
|
"clash-windows-amd64",
|
||||||
|
"clash-windows-386",
|
||||||
|
"clash"
|
||||||
|
};
|
||||||
|
coreUrl = Global.clashCoreUrl;
|
||||||
|
coreArguments = "-f config.json";
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,198 +0,0 @@
|
|||||||
using System;
|
|
||||||
using v2rayN.Mode;
|
|
||||||
|
|
||||||
namespace v2rayN.HttpProxyHandler
|
|
||||||
{
|
|
||||||
/// <summary>
|
|
||||||
/// 系统代理(http)模式
|
|
||||||
/// </summary>
|
|
||||||
public enum ListenerType
|
|
||||||
{
|
|
||||||
noHttpProxy = 0,
|
|
||||||
GlobalHttp = 1,
|
|
||||||
HttpOpenAndClear = 2,
|
|
||||||
HttpOpenOnly = 3,
|
|
||||||
}
|
|
||||||
/// <summary>
|
|
||||||
/// 系统代理(http)总处理
|
|
||||||
/// 启动privoxy提供http协议
|
|
||||||
/// 设置IE系统代理
|
|
||||||
/// </summary>
|
|
||||||
class HttpProxyHandle
|
|
||||||
{
|
|
||||||
private static bool Update(Config config, bool forceDisable)
|
|
||||||
{
|
|
||||||
// ListenerType type = config.listenerType;
|
|
||||||
var type = ListenerType.noHttpProxy;
|
|
||||||
if (forceDisable)
|
|
||||||
{
|
|
||||||
type = ListenerType.noHttpProxy;
|
|
||||||
}
|
|
||||||
|
|
||||||
try
|
|
||||||
{
|
|
||||||
if (type != ListenerType.noHttpProxy)
|
|
||||||
{
|
|
||||||
int port = Global.httpPort;
|
|
||||||
if (port <= 0)
|
|
||||||
{
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
if (type == ListenerType.GlobalHttp)
|
|
||||||
{
|
|
||||||
//ProxySetting.SetProxy($"{Global.Loopback}:{port}", Global.IEProxyExceptions, 2);
|
|
||||||
SysProxyHandle.SetIEProxy(true, true, $"{Global.Loopback}:{port}");
|
|
||||||
}
|
|
||||||
else if (type == ListenerType.HttpOpenAndClear)
|
|
||||||
{
|
|
||||||
SysProxyHandle.ResetIEProxy();
|
|
||||||
}
|
|
||||||
else if (type == ListenerType.HttpOpenOnly)
|
|
||||||
{
|
|
||||||
//SysProxyHandle.ResetIEProxy();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
SysProxyHandle.ResetIEProxy();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
catch (Exception ex)
|
|
||||||
{
|
|
||||||
Utils.SaveLog(ex.Message, ex);
|
|
||||||
}
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
|
|
||||||
/// <summary>
|
|
||||||
/// 启用系统代理(http)
|
|
||||||
/// </summary>
|
|
||||||
/// <param name="config"></param>
|
|
||||||
private static void StartHttpAgent(Config config)
|
|
||||||
{
|
|
||||||
try
|
|
||||||
{
|
|
||||||
int localPort = config.GetLocalPort(Global.InboundSocks);
|
|
||||||
if (localPort > 0)
|
|
||||||
{
|
|
||||||
PrivoxyHandler.Instance.Restart(localPort, config);
|
|
||||||
if (PrivoxyHandler.Instance.RunningPort > 0)
|
|
||||||
{
|
|
||||||
Global.sysAgent = true;
|
|
||||||
Global.socksPort = localPort;
|
|
||||||
Global.httpPort = PrivoxyHandler.Instance.RunningPort;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
catch
|
|
||||||
{
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
/// <summary>
|
|
||||||
/// 关闭系统代理
|
|
||||||
/// </summary>
|
|
||||||
/// <param name="config"></param>
|
|
||||||
public static void CloseHttpAgent(Config config)
|
|
||||||
{
|
|
||||||
try
|
|
||||||
{
|
|
||||||
//if (config.listenerType != ListenerType.HttpOpenOnly)
|
|
||||||
//{
|
|
||||||
// Update(config, true);
|
|
||||||
//}
|
|
||||||
|
|
||||||
PrivoxyHandler.Instance.Stop();
|
|
||||||
|
|
||||||
Global.sysAgent = false;
|
|
||||||
Global.socksPort = 0;
|
|
||||||
Global.httpPort = 0;
|
|
||||||
}
|
|
||||||
catch
|
|
||||||
{
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
/// <summary>
|
|
||||||
/// 重启系统代理(http)
|
|
||||||
/// </summary>
|
|
||||||
/// <param name="config"></param>
|
|
||||||
/// <param name="forced"></param>
|
|
||||||
public static void RestartHttpAgent(Config config, bool forced)
|
|
||||||
{
|
|
||||||
bool isRestart = false;
|
|
||||||
//if (config.listenerType == ListenerType.noHttpProxy)
|
|
||||||
//{
|
|
||||||
// // 关闭http proxy时,直接返回
|
|
||||||
// return;
|
|
||||||
//}
|
|
||||||
//强制重启或者socks端口变化
|
|
||||||
if (forced)
|
|
||||||
{
|
|
||||||
isRestart = true;
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
int localPort = config.GetLocalPort(Global.InboundSocks);
|
|
||||||
if (localPort != Global.socksPort)
|
|
||||||
{
|
|
||||||
isRestart = true;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
if (isRestart)
|
|
||||||
{
|
|
||||||
CloseHttpAgent(config);
|
|
||||||
StartHttpAgent(config);
|
|
||||||
}
|
|
||||||
Update(config, false);
|
|
||||||
}
|
|
||||||
|
|
||||||
public static bool UpdateSysProxy(Config config, bool forceDisable)
|
|
||||||
{
|
|
||||||
var type = config.sysProxyType;
|
|
||||||
|
|
||||||
if (forceDisable && type == ESysProxyType.ForcedChange)
|
|
||||||
{
|
|
||||||
type = ESysProxyType.ForcedClear;
|
|
||||||
}
|
|
||||||
|
|
||||||
try
|
|
||||||
{
|
|
||||||
Global.httpPort = config.GetLocalPort(Global.InboundHttp);
|
|
||||||
int port = Global.httpPort;
|
|
||||||
if (port <= 0)
|
|
||||||
{
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
if (type == ESysProxyType.ForcedChange)
|
|
||||||
{
|
|
||||||
SysProxyHandle.SetIEProxy(true, $"{Global.Loopback}:{port}", config.systemProxyExceptions);
|
|
||||||
}
|
|
||||||
else if (type == ESysProxyType.ForcedClear)
|
|
||||||
{
|
|
||||||
SysProxyHandle.ResetIEProxy();
|
|
||||||
}
|
|
||||||
else if (type == ESysProxyType.Unchanged)
|
|
||||||
{
|
|
||||||
}
|
|
||||||
}
|
|
||||||
catch (Exception ex)
|
|
||||||
{
|
|
||||||
Utils.SaveLog(ex.Message, ex);
|
|
||||||
}
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
|
|
||||||
public static void ResetIEProxy4WindowsShutDown()
|
|
||||||
{
|
|
||||||
try
|
|
||||||
{
|
|
||||||
//TODO To be verified
|
|
||||||
Utils.RegWriteValue(@"Software\Microsoft\Windows\CurrentVersion\Internet Settings", "ProxyEnable", 0);
|
|
||||||
}
|
|
||||||
catch
|
|
||||||
{
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@@ -1,194 +0,0 @@
|
|||||||
using System;
|
|
||||||
using System.Diagnostics;
|
|
||||||
using System.IO;
|
|
||||||
using System.Linq;
|
|
||||||
using System.Text;
|
|
||||||
using System.Windows.Forms;
|
|
||||||
using v2rayN.Mode;
|
|
||||||
using v2rayN.Properties;
|
|
||||||
using v2rayN.Tool;
|
|
||||||
|
|
||||||
namespace v2rayN.HttpProxyHandler
|
|
||||||
{
|
|
||||||
/// <summary>
|
|
||||||
/// Privoxy处理类,提供http协议代理
|
|
||||||
/// </summary>
|
|
||||||
class PrivoxyHandler
|
|
||||||
{
|
|
||||||
/// <summary>
|
|
||||||
/// 单例
|
|
||||||
/// </summary>
|
|
||||||
private static PrivoxyHandler instance;
|
|
||||||
|
|
||||||
private static int _uid;
|
|
||||||
private static string _uniqueConfigFile;
|
|
||||||
private Process _process;
|
|
||||||
private static string _privoxyName = "v2ray_privoxy";
|
|
||||||
|
|
||||||
static PrivoxyHandler()
|
|
||||||
{
|
|
||||||
try
|
|
||||||
{
|
|
||||||
_uid = Application.StartupPath.GetHashCode();
|
|
||||||
_uniqueConfigFile = string.Format("privoxy_{0}.conf", _uid);
|
|
||||||
|
|
||||||
FileManager.UncompressFile(Utils.GetTempPath($"{_privoxyName}.exe"), Resources.privoxy_exe);
|
|
||||||
}
|
|
||||||
catch (IOException ex)
|
|
||||||
{
|
|
||||||
Utils.SaveLog(ex.Message, ex);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
/// <summary>
|
|
||||||
/// 单例
|
|
||||||
/// </summary>
|
|
||||||
public static PrivoxyHandler Instance
|
|
||||||
{
|
|
||||||
get
|
|
||||||
{
|
|
||||||
if (instance == null)
|
|
||||||
{
|
|
||||||
instance = new PrivoxyHandler();
|
|
||||||
}
|
|
||||||
return instance;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
public int RunningPort
|
|
||||||
{
|
|
||||||
get; set;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void Restart(int localPort, Config config)
|
|
||||||
{
|
|
||||||
Stop();
|
|
||||||
Start(localPort, config);
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
public void Start(int localPort, Config config)
|
|
||||||
{
|
|
||||||
try
|
|
||||||
{
|
|
||||||
if (_process == null)
|
|
||||||
{
|
|
||||||
|
|
||||||
string privoxyConfig = "";//Resources.privoxy_conf;
|
|
||||||
RunningPort = config.GetLocalPort(Global.InboundHttp);
|
|
||||||
privoxyConfig = privoxyConfig.Replace("__SOCKS_PORT__", localPort.ToString());
|
|
||||||
privoxyConfig = privoxyConfig.Replace("__PRIVOXY_BIND_PORT__", RunningPort.ToString());
|
|
||||||
if (config.allowLANConn)
|
|
||||||
{
|
|
||||||
privoxyConfig = privoxyConfig.Replace("__PRIVOXY_BIND_IP__", "0.0.0.0");
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
privoxyConfig = privoxyConfig.Replace("__PRIVOXY_BIND_IP__", Global.Loopback);
|
|
||||||
}
|
|
||||||
FileManager.ByteArrayToFile(Utils.GetTempPath(_uniqueConfigFile), Encoding.UTF8.GetBytes(privoxyConfig));
|
|
||||||
|
|
||||||
_process = new Process
|
|
||||||
{
|
|
||||||
// Configure the process using the StartInfo properties.
|
|
||||||
StartInfo =
|
|
||||||
{
|
|
||||||
FileName = $"{_privoxyName}.exe",
|
|
||||||
Arguments = _uniqueConfigFile,
|
|
||||||
WorkingDirectory = Utils.GetTempPath(),
|
|
||||||
WindowStyle = ProcessWindowStyle.Hidden,
|
|
||||||
UseShellExecute = true,
|
|
||||||
CreateNoWindow = true
|
|
||||||
}
|
|
||||||
};
|
|
||||||
_process.Start();
|
|
||||||
|
|
||||||
/*
|
|
||||||
* Add this process to job obj associated with this ss process, so that
|
|
||||||
* when ss exit unexpectedly, this process will be forced killed by system.
|
|
||||||
*/
|
|
||||||
|
|
||||||
Global.processJob.AddProcess(_process.Handle);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
catch (Exception ex)
|
|
||||||
{
|
|
||||||
RunningPort = 0;
|
|
||||||
Utils.SaveLog(ex.Message, ex);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
public void Stop()
|
|
||||||
{
|
|
||||||
if (_process != null)
|
|
||||||
{
|
|
||||||
KillProcess(_process);
|
|
||||||
_process.Dispose();
|
|
||||||
_process = null;
|
|
||||||
RunningPort = 0;
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
Process[] existingPrivoxy = Process.GetProcessesByName(_privoxyName);
|
|
||||||
foreach (Process p in existingPrivoxy.Where(IsChildProcess))
|
|
||||||
{
|
|
||||||
KillProcess(p);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
private static void KillProcess(Process p)
|
|
||||||
{
|
|
||||||
try
|
|
||||||
{
|
|
||||||
p.CloseMainWindow();
|
|
||||||
p.WaitForExit(100);
|
|
||||||
if (!p.HasExited)
|
|
||||||
{
|
|
||||||
p.Kill();
|
|
||||||
p.WaitForExit(100);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
catch (Exception ex)
|
|
||||||
{
|
|
||||||
Utils.SaveLog(ex.Message, ex);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
/*
|
|
||||||
* We won't like to kill other ss instances' v2ray_privoxy.exe.
|
|
||||||
* This function will check whether the given process is created
|
|
||||||
* by this process by checking the module path or command line.
|
|
||||||
*
|
|
||||||
* Since it's required to put ss in different dirs to run muti instances,
|
|
||||||
* different instance will create their unique "privoxy_UID.conf" where
|
|
||||||
* UID is hash of ss's location.
|
|
||||||
*/
|
|
||||||
|
|
||||||
private static bool IsChildProcess(Process process)
|
|
||||||
{
|
|
||||||
try
|
|
||||||
{
|
|
||||||
/*
|
|
||||||
* Under PortableMode, we could identify it by the path of v2ray_privoxy.exe.
|
|
||||||
*/
|
|
||||||
string path = process.MainModule.FileName;
|
|
||||||
|
|
||||||
return Utils.GetTempPath($"{_privoxyName}.exe").Equals(path);
|
|
||||||
|
|
||||||
}
|
|
||||||
catch (Exception ex)
|
|
||||||
{
|
|
||||||
Utils.SaveLog(ex.Message, ex);
|
|
||||||
/*
|
|
||||||
* Sometimes Process.GetProcessesByName will return some processes that
|
|
||||||
* are already dead, and that will cause exceptions here.
|
|
||||||
* We could simply ignore those exceptions.
|
|
||||||
*/
|
|
||||||
//Logging.LogUsefulException(ex);
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@@ -1,7 +1,8 @@
|
|||||||
using System;
|
using System;
|
||||||
using System.Collections.Generic;
|
using System.Collections.Generic;
|
||||||
|
using System.Windows.Forms;
|
||||||
using v2rayN.Base;
|
using v2rayN.Base;
|
||||||
using v2rayN.HttpProxyHandler;
|
using System.Linq;
|
||||||
|
|
||||||
|
|
||||||
namespace v2rayN.Mode
|
namespace v2rayN.Mode
|
||||||
@@ -12,13 +13,7 @@ namespace v2rayN.Mode
|
|||||||
[Serializable]
|
[Serializable]
|
||||||
public class Config
|
public class Config
|
||||||
{
|
{
|
||||||
/// <summary>
|
#region property
|
||||||
/// 本地监听
|
|
||||||
/// </summary>
|
|
||||||
public List<InItem> inbound
|
|
||||||
{
|
|
||||||
get; set;
|
|
||||||
}
|
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 允许日志
|
/// 允许日志
|
||||||
@@ -36,18 +31,7 @@ namespace v2rayN.Mode
|
|||||||
get; set;
|
get; set;
|
||||||
}
|
}
|
||||||
|
|
||||||
/// <summary>
|
public string indexId
|
||||||
/// 活动配置序号
|
|
||||||
/// </summary>
|
|
||||||
public int index
|
|
||||||
{
|
|
||||||
get; set;
|
|
||||||
}
|
|
||||||
|
|
||||||
/// <summary>
|
|
||||||
/// vmess服务器信息
|
|
||||||
/// </summary>
|
|
||||||
public List<VmessItem> vmess
|
|
||||||
{
|
{
|
||||||
get; set;
|
get; set;
|
||||||
}
|
}
|
||||||
@@ -60,14 +44,6 @@ namespace v2rayN.Mode
|
|||||||
get; set;
|
get; set;
|
||||||
}
|
}
|
||||||
|
|
||||||
/// <summary>
|
|
||||||
/// KcpItem
|
|
||||||
/// </summary>
|
|
||||||
public KcpItem kcpItem
|
|
||||||
{
|
|
||||||
get; set;
|
|
||||||
}
|
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
///
|
///
|
||||||
/// </summary>
|
/// </summary>
|
||||||
@@ -76,21 +52,6 @@ namespace v2rayN.Mode
|
|||||||
get; set;
|
get; set;
|
||||||
}
|
}
|
||||||
|
|
||||||
/// <summary>
|
|
||||||
/// 自定义服务器下载测速url
|
|
||||||
/// </summary>
|
|
||||||
public string speedTestUrl
|
|
||||||
{
|
|
||||||
get; set;
|
|
||||||
}
|
|
||||||
/// <summary>
|
|
||||||
/// 自定义“服务器真连接延迟”测试url
|
|
||||||
/// </summary>
|
|
||||||
public string speedPingTestUrl
|
|
||||||
{
|
|
||||||
get; set;
|
|
||||||
}
|
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 允许来自局域网的连接
|
/// 允许来自局域网的连接
|
||||||
/// </summary>
|
/// </summary>
|
||||||
@@ -123,7 +84,6 @@ namespace v2rayN.Mode
|
|||||||
get; set;
|
get; set;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 自定义远程DNS
|
/// 自定义远程DNS
|
||||||
/// </summary>
|
/// </summary>
|
||||||
@@ -140,20 +100,6 @@ namespace v2rayN.Mode
|
|||||||
get; set;
|
get; set;
|
||||||
}
|
}
|
||||||
|
|
||||||
/// <summary>
|
|
||||||
/// 订阅
|
|
||||||
/// </summary>
|
|
||||||
public List<SubItem> subItem
|
|
||||||
{
|
|
||||||
get; set;
|
|
||||||
}
|
|
||||||
/// <summary>
|
|
||||||
/// UI
|
|
||||||
/// </summary>
|
|
||||||
public UIItem uiItem
|
|
||||||
{
|
|
||||||
get; set;
|
|
||||||
}
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 域名解析策略
|
/// 域名解析策略
|
||||||
/// </summary>
|
/// </summary>
|
||||||
@@ -169,19 +115,11 @@ namespace v2rayN.Mode
|
|||||||
{
|
{
|
||||||
get; set;
|
get; set;
|
||||||
}
|
}
|
||||||
public List<RoutingItem> routings
|
|
||||||
{
|
|
||||||
get; set;
|
|
||||||
}
|
|
||||||
public bool enableRoutingAdvanced
|
public bool enableRoutingAdvanced
|
||||||
{
|
{
|
||||||
get; set;
|
get; set;
|
||||||
}
|
}
|
||||||
|
|
||||||
public ECoreType coreType
|
|
||||||
{
|
|
||||||
get; set;
|
|
||||||
}
|
|
||||||
public bool ignoreGeoUpdateCore
|
public bool ignoreGeoUpdateCore
|
||||||
{
|
{
|
||||||
get; set;
|
get; set;
|
||||||
@@ -200,110 +138,82 @@ namespace v2rayN.Mode
|
|||||||
get; set;
|
get; set;
|
||||||
} = 0;
|
} = 0;
|
||||||
|
|
||||||
#region 函数
|
public bool enableSecurityProtocolTls13
|
||||||
|
|
||||||
public string address()
|
|
||||||
{
|
{
|
||||||
if (index < 0)
|
get; set;
|
||||||
{
|
|
||||||
return string.Empty;
|
|
||||||
}
|
|
||||||
return vmess[index].address.TrimEx();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public int port()
|
#endregion
|
||||||
|
|
||||||
|
#region other entities
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 本地监听
|
||||||
|
/// </summary>
|
||||||
|
public List<InItem> inbound
|
||||||
{
|
{
|
||||||
if (index < 0)
|
get; set;
|
||||||
{
|
|
||||||
return 10808;
|
|
||||||
}
|
|
||||||
return vmess[index].port;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public string id()
|
/// <summary>
|
||||||
|
/// vmess服务器信息
|
||||||
|
/// </summary>
|
||||||
|
public List<VmessItem> vmess
|
||||||
{
|
{
|
||||||
if (index < 0)
|
get; set;
|
||||||
{
|
|
||||||
return string.Empty;
|
|
||||||
}
|
|
||||||
return vmess[index].id.TrimEx();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public int alterId()
|
/// <summary>
|
||||||
|
/// KcpItem
|
||||||
|
/// </summary>
|
||||||
|
public KcpItem kcpItem
|
||||||
{
|
{
|
||||||
if (index < 0)
|
get; set;
|
||||||
{
|
|
||||||
return 0;
|
|
||||||
}
|
|
||||||
return vmess[index].alterId;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public string security()
|
/// <summary>
|
||||||
|
/// 订阅
|
||||||
|
/// </summary>
|
||||||
|
public List<SubItem> subItem
|
||||||
{
|
{
|
||||||
if (index < 0)
|
get; set;
|
||||||
{
|
}
|
||||||
return string.Empty;
|
/// <summary>
|
||||||
}
|
/// UI
|
||||||
return vmess[index].security.TrimEx();
|
/// </summary>
|
||||||
|
public UIItem uiItem
|
||||||
|
{
|
||||||
|
get; set;
|
||||||
|
}
|
||||||
|
public List<RoutingItem> routings
|
||||||
|
{
|
||||||
|
get; set;
|
||||||
}
|
}
|
||||||
|
|
||||||
public string remarks()
|
public ConstItem constItem
|
||||||
{
|
{
|
||||||
if (index < 0)
|
get; set;
|
||||||
{
|
|
||||||
return string.Empty;
|
|
||||||
}
|
|
||||||
return vmess[index].remarks.TrimEx();
|
|
||||||
}
|
}
|
||||||
public string network()
|
|
||||||
|
public List<KeyEventItem> globalHotkeys
|
||||||
{
|
{
|
||||||
if (index < 0 || Utils.IsNullOrEmpty(vmess[index].network))
|
get; set;
|
||||||
{
|
|
||||||
return Global.DefaultNetwork;
|
|
||||||
}
|
|
||||||
return vmess[index].network.TrimEx();
|
|
||||||
}
|
}
|
||||||
public string headerType()
|
|
||||||
|
public List<GroupItem> groupItem
|
||||||
{
|
{
|
||||||
if (index < 0 || Utils.IsNullOrEmpty(vmess[index].headerType))
|
get; set;
|
||||||
{
|
|
||||||
return Global.None;
|
|
||||||
}
|
|
||||||
return vmess[index].headerType.Replace(" ", "").TrimEx();
|
|
||||||
}
|
}
|
||||||
public string requestHost()
|
|
||||||
|
public List<CoreTypeItem> coreTypeItem
|
||||||
{
|
{
|
||||||
if (index < 0 || Utils.IsNullOrEmpty(vmess[index].requestHost))
|
get; set;
|
||||||
{
|
|
||||||
return string.Empty;
|
|
||||||
}
|
|
||||||
return vmess[index].requestHost.Replace(" ", "").TrimEx();
|
|
||||||
}
|
|
||||||
public string path()
|
|
||||||
{
|
|
||||||
if (index < 0 || Utils.IsNullOrEmpty(vmess[index].path))
|
|
||||||
{
|
|
||||||
return string.Empty;
|
|
||||||
}
|
|
||||||
return vmess[index].path.Replace(" ", "").TrimEx();
|
|
||||||
}
|
|
||||||
public string streamSecurity()
|
|
||||||
{
|
|
||||||
if (index < 0 || Utils.IsNullOrEmpty(vmess[index].streamSecurity))
|
|
||||||
{
|
|
||||||
return string.Empty;
|
|
||||||
}
|
|
||||||
return vmess[index].streamSecurity;
|
|
||||||
}
|
|
||||||
public bool allowInsecure()
|
|
||||||
{
|
|
||||||
if (index < 0 || Utils.IsNullOrEmpty(vmess[index].allowInsecure))
|
|
||||||
{
|
|
||||||
return defAllowInsecure;
|
|
||||||
}
|
|
||||||
return Convert.ToBoolean(vmess[index].allowInsecure);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#endregion
|
||||||
|
|
||||||
|
#region function
|
||||||
|
|
||||||
public int GetLocalPort(string protocol)
|
public int GetLocalPort(string protocol)
|
||||||
{
|
{
|
||||||
if (protocol == Global.InboundHttp)
|
if (protocol == Global.InboundHttp)
|
||||||
@@ -328,49 +238,43 @@ namespace v2rayN.Mode
|
|||||||
return localPort;
|
return localPort;
|
||||||
}
|
}
|
||||||
|
|
||||||
public int configType()
|
public int FindIndexId(string id)
|
||||||
{
|
{
|
||||||
if (index < 0)
|
if (string.IsNullOrEmpty(id))
|
||||||
{
|
{
|
||||||
return 0;
|
return -1;
|
||||||
}
|
}
|
||||||
return vmess[index].configType;
|
return vmess.FindIndex(it => it.indexId == id);
|
||||||
}
|
}
|
||||||
|
|
||||||
public string getSummary()
|
public VmessItem GetVmessItem(string id)
|
||||||
{
|
{
|
||||||
if (index < 0)
|
if (string.IsNullOrEmpty(id))
|
||||||
{
|
{
|
||||||
return string.Empty;
|
return null;
|
||||||
}
|
}
|
||||||
return vmess[index].getSummary();
|
return vmess.FirstOrDefault(it => it.indexId == id);
|
||||||
}
|
}
|
||||||
|
|
||||||
public string getItemId()
|
public bool IsActiveNode(VmessItem item)
|
||||||
{
|
{
|
||||||
if (index < 0)
|
if (!Utils.IsNullOrEmpty(item.indexId) && item.indexId == indexId)
|
||||||
{
|
{
|
||||||
return string.Empty;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
return vmess[index].getItemId();
|
return false;
|
||||||
}
|
}
|
||||||
public string flow()
|
|
||||||
|
public string GetGroupRemarks(string groupId)
|
||||||
{
|
{
|
||||||
if (index < 0)
|
if (string.IsNullOrEmpty(groupId))
|
||||||
{
|
{
|
||||||
return string.Empty;
|
return string.Empty;
|
||||||
}
|
}
|
||||||
return vmess[index].flow.TrimEx();
|
return groupItem.Where(it => it.id == groupId).FirstOrDefault()?.remarks;
|
||||||
}
|
|
||||||
public string sni()
|
|
||||||
{
|
|
||||||
if (index < 0)
|
|
||||||
{
|
|
||||||
return string.Empty;
|
|
||||||
}
|
|
||||||
return vmess[index].sni.TrimEx();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
#endregion
|
#endregion
|
||||||
|
|
||||||
}
|
}
|
||||||
@@ -380,7 +284,10 @@ namespace v2rayN.Mode
|
|||||||
{
|
{
|
||||||
public VmessItem()
|
public VmessItem()
|
||||||
{
|
{
|
||||||
configVersion = 1;
|
indexId = string.Empty;
|
||||||
|
configType = EConfigType.Vmess;
|
||||||
|
configVersion = 2;
|
||||||
|
sort = 0;
|
||||||
address = string.Empty;
|
address = string.Empty;
|
||||||
port = 0;
|
port = 0;
|
||||||
id = string.Empty;
|
id = string.Empty;
|
||||||
@@ -393,15 +300,16 @@ namespace v2rayN.Mode
|
|||||||
path = string.Empty;
|
path = string.Empty;
|
||||||
streamSecurity = string.Empty;
|
streamSecurity = string.Empty;
|
||||||
allowInsecure = string.Empty;
|
allowInsecure = string.Empty;
|
||||||
configType = (int)EConfigType.Vmess;
|
|
||||||
testResult = string.Empty;
|
testResult = string.Empty;
|
||||||
subid = string.Empty;
|
subid = string.Empty;
|
||||||
flow = string.Empty;
|
flow = string.Empty;
|
||||||
|
groupId = string.Empty;
|
||||||
}
|
}
|
||||||
|
|
||||||
public string getSummary()
|
#region function
|
||||||
|
public string GetSummary()
|
||||||
{
|
{
|
||||||
string summary = string.Format("[{0}] ", ((EConfigType)configType).ToString());
|
string summary = string.Format("[{0}] ", (configType).ToString());
|
||||||
string[] arrAddr = address.Split('.');
|
string[] arrAddr = address.Split('.');
|
||||||
string addr;
|
string addr;
|
||||||
if (arrAddr.Length > 2)
|
if (arrAddr.Length > 2)
|
||||||
@@ -418,19 +326,11 @@ namespace v2rayN.Mode
|
|||||||
}
|
}
|
||||||
switch (configType)
|
switch (configType)
|
||||||
{
|
{
|
||||||
case (int)EConfigType.Vmess:
|
case EConfigType.Vmess:
|
||||||
summary += string.Format("{0}({1}:{2})", remarks, addr, port);
|
case EConfigType.Shadowsocks:
|
||||||
break;
|
case EConfigType.Socks:
|
||||||
case (int)EConfigType.Shadowsocks:
|
case EConfigType.VLESS:
|
||||||
summary += string.Format("{0}({1}:{2})", remarks, addr, port);
|
case EConfigType.Trojan:
|
||||||
break;
|
|
||||||
case (int)EConfigType.Socks:
|
|
||||||
summary += string.Format("{0}({1}:{2})", remarks, addr, port);
|
|
||||||
break;
|
|
||||||
case (int)EConfigType.VLESS:
|
|
||||||
summary += string.Format("{0}({1}:{2})", remarks, addr, port);
|
|
||||||
break;
|
|
||||||
case (int)EConfigType.Trojan:
|
|
||||||
summary += string.Format("{0}({1}:{2})", remarks, addr, port);
|
summary += string.Format("{0}({1}:{2})", remarks, addr, port);
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
@@ -439,7 +339,7 @@ namespace v2rayN.Mode
|
|||||||
}
|
}
|
||||||
return summary;
|
return summary;
|
||||||
}
|
}
|
||||||
public string getSubRemarks(Config config)
|
public string GetSubRemarks(Config config)
|
||||||
{
|
{
|
||||||
string subRemarks = string.Empty;
|
string subRemarks = string.Empty;
|
||||||
if (Utils.IsNullOrEmpty(subid))
|
if (Utils.IsNullOrEmpty(subid))
|
||||||
@@ -460,11 +360,43 @@ namespace v2rayN.Mode
|
|||||||
return subid.Substring(0, 4);
|
return subid.Substring(0, 4);
|
||||||
}
|
}
|
||||||
|
|
||||||
public string getItemId()
|
public List<string> GetAlpn()
|
||||||
{
|
{
|
||||||
string itemId = $"{address}{port}{requestHost}{path}";
|
if (alpn != null && alpn.Count > 0)
|
||||||
itemId = Utils.Base64Encode(itemId);
|
{
|
||||||
return itemId;
|
return alpn;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
public string GetNetwork()
|
||||||
|
{
|
||||||
|
if (Utils.IsNullOrEmpty(network) || !Global.networks.Contains(network))
|
||||||
|
{
|
||||||
|
return Global.DefaultNetwork;
|
||||||
|
}
|
||||||
|
return network.TrimEx();
|
||||||
|
}
|
||||||
|
|
||||||
|
public void SetTestResult(string value)
|
||||||
|
{
|
||||||
|
testResult = value;
|
||||||
|
}
|
||||||
|
#endregion
|
||||||
|
|
||||||
|
public string indexId
|
||||||
|
{
|
||||||
|
get; set;
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// config type(1=normal,2=custom)
|
||||||
|
/// </summary>
|
||||||
|
public EConfigType configType
|
||||||
|
{
|
||||||
|
get; set;
|
||||||
}
|
}
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
@@ -475,6 +407,11 @@ namespace v2rayN.Mode
|
|||||||
get; set;
|
get; set;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public int sort
|
||||||
|
{
|
||||||
|
get; set;
|
||||||
|
}
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 远程服务器地址
|
/// 远程服务器地址
|
||||||
/// </summary>
|
/// </summary>
|
||||||
@@ -550,7 +487,7 @@ namespace v2rayN.Mode
|
|||||||
}
|
}
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 底层传输安全
|
/// 传输层安全
|
||||||
/// </summary>
|
/// </summary>
|
||||||
public string streamSecurity
|
public string streamSecurity
|
||||||
{
|
{
|
||||||
@@ -565,15 +502,6 @@ namespace v2rayN.Mode
|
|||||||
get; set;
|
get; set;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
/// <summary>
|
|
||||||
/// config type(1=normal,2=custom)
|
|
||||||
/// </summary>
|
|
||||||
public int configType
|
|
||||||
{
|
|
||||||
get; set;
|
|
||||||
}
|
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
///
|
///
|
||||||
/// </summary>
|
/// </summary>
|
||||||
@@ -604,6 +532,22 @@ namespace v2rayN.Mode
|
|||||||
{
|
{
|
||||||
get; set;
|
get; set;
|
||||||
}
|
}
|
||||||
|
/// <summary>
|
||||||
|
/// tls alpn
|
||||||
|
/// </summary>
|
||||||
|
public List<string> alpn
|
||||||
|
{
|
||||||
|
get; set;
|
||||||
|
}
|
||||||
|
|
||||||
|
public string groupId
|
||||||
|
{
|
||||||
|
get; set;
|
||||||
|
} = string.Empty;
|
||||||
|
public ECoreType? coreType
|
||||||
|
{
|
||||||
|
get; set;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
[Serializable]
|
[Serializable]
|
||||||
@@ -725,12 +669,28 @@ namespace v2rayN.Mode
|
|||||||
/// enable
|
/// enable
|
||||||
/// </summary>
|
/// </summary>
|
||||||
public bool enabled { get; set; } = true;
|
public bool enabled { get; set; } = true;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
///
|
||||||
|
/// </summary>
|
||||||
|
public string userAgent
|
||||||
|
{
|
||||||
|
get; set;
|
||||||
|
} = string.Empty;
|
||||||
|
|
||||||
|
public string groupId
|
||||||
|
{
|
||||||
|
get; set;
|
||||||
|
} = string.Empty;
|
||||||
}
|
}
|
||||||
|
|
||||||
[Serializable]
|
[Serializable]
|
||||||
public class UIItem
|
public class UIItem
|
||||||
{
|
{
|
||||||
|
public bool enableAutoAdjustMainLvColWidth
|
||||||
|
{
|
||||||
|
get; set;
|
||||||
|
}
|
||||||
|
|
||||||
public System.Drawing.Size mainSize
|
public System.Drawing.Size mainSize
|
||||||
{
|
{
|
||||||
@@ -742,4 +702,77 @@ namespace v2rayN.Mode
|
|||||||
get; set;
|
get; set;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
[Serializable]
|
||||||
|
public class ConstItem
|
||||||
|
{
|
||||||
|
/// <summary>
|
||||||
|
/// 自定义服务器下载测速url
|
||||||
|
/// </summary>
|
||||||
|
public string speedTestUrl
|
||||||
|
{
|
||||||
|
get; set;
|
||||||
|
}
|
||||||
|
/// <summary>
|
||||||
|
/// 自定义“服务器真连接延迟”测试url
|
||||||
|
/// </summary>
|
||||||
|
public string speedPingTestUrl
|
||||||
|
{
|
||||||
|
get; set;
|
||||||
|
}
|
||||||
|
public string defIEProxyExceptions
|
||||||
|
{
|
||||||
|
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; }
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
[Serializable]
|
||||||
|
public class GroupItem
|
||||||
|
{
|
||||||
|
/// <summary>
|
||||||
|
///
|
||||||
|
/// </summary>
|
||||||
|
public string id
|
||||||
|
{
|
||||||
|
get; set;
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
///
|
||||||
|
/// </summary>
|
||||||
|
public string remarks
|
||||||
|
{
|
||||||
|
get; set;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
[Serializable]
|
||||||
|
public class CoreTypeItem
|
||||||
|
{
|
||||||
|
public EConfigType configType
|
||||||
|
{
|
||||||
|
get; set;
|
||||||
|
}
|
||||||
|
|
||||||
|
public ECoreType coreType
|
||||||
|
{
|
||||||
|
get; set;
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -3,7 +3,8 @@ namespace v2rayN.Mode
|
|||||||
{
|
{
|
||||||
public enum ECoreType
|
public enum ECoreType
|
||||||
{
|
{
|
||||||
v2fly_core = 0,
|
v2fly = 1,
|
||||||
Xray_core = 1
|
Xray = 2,
|
||||||
|
clash = 3
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
11
v2rayN/v2rayN/Mode/EGlobalHotkey.cs
Normal file
11
v2rayN/v2rayN/Mode/EGlobalHotkey.cs
Normal file
@@ -0,0 +1,11 @@
|
|||||||
|
|
||||||
|
namespace v2rayN.Mode
|
||||||
|
{
|
||||||
|
public enum EGlobalHotkey
|
||||||
|
{
|
||||||
|
ShowForm = 0,
|
||||||
|
SystemProxyClear = 1,
|
||||||
|
SystemProxySet = 2,
|
||||||
|
SystemProxyUnchanged = 3,
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -10,6 +10,7 @@ namespace v2rayN.Mode
|
|||||||
port,
|
port,
|
||||||
security,
|
security,
|
||||||
network,
|
network,
|
||||||
|
streamSecurity,
|
||||||
subRemarks,
|
subRemarks,
|
||||||
testResult,
|
testResult,
|
||||||
|
|
||||||
|
|||||||
@@ -27,6 +27,9 @@ namespace v2rayN.Mode
|
|||||||
{
|
{
|
||||||
get; set;
|
get; set;
|
||||||
}
|
}
|
||||||
|
public string customIcon
|
||||||
|
{
|
||||||
|
get; set;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
29
v2rayN/v2rayN/Mode/ServerTestItem.cs
Normal file
29
v2rayN/v2rayN/Mode/ServerTestItem.cs
Normal file
@@ -0,0 +1,29 @@
|
|||||||
|
using System;
|
||||||
|
|
||||||
|
namespace v2rayN.Mode
|
||||||
|
{
|
||||||
|
[Serializable]
|
||||||
|
class ServerTestItem
|
||||||
|
{
|
||||||
|
public string indexId
|
||||||
|
{
|
||||||
|
get; set;
|
||||||
|
}
|
||||||
|
public string address
|
||||||
|
{
|
||||||
|
get; set;
|
||||||
|
}
|
||||||
|
public int port
|
||||||
|
{
|
||||||
|
get; set;
|
||||||
|
}
|
||||||
|
public EConfigType configType
|
||||||
|
{
|
||||||
|
get; set;
|
||||||
|
}
|
||||||
|
public bool allowTest
|
||||||
|
{
|
||||||
|
get; set;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -25,7 +25,7 @@ namespace v2rayN.Mode
|
|||||||
/// 统计需要, 空对象
|
/// 统计需要, 空对象
|
||||||
/// </summary>
|
/// </summary>
|
||||||
public Stats stats { get; set; }
|
public Stats stats { get; set; }
|
||||||
|
|
||||||
/// </summary>
|
/// </summary>
|
||||||
public API api { get; set; }
|
public API api { get; set; }
|
||||||
|
|
||||||
@@ -133,14 +133,14 @@ namespace v2rayN.Mode
|
|||||||
/// </summary>
|
/// </summary>
|
||||||
public List<UsersItem> clients { get; set; }
|
public List<UsersItem> clients { get; set; }
|
||||||
|
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// VLESS
|
/// VLESS
|
||||||
/// </summary>
|
/// </summary>
|
||||||
public string decryption { get; set; }
|
public string decryption { get; set; }
|
||||||
|
|
||||||
public bool allowTransparent { get; set; }
|
public bool allowTransparent { get; set; }
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public class UsersItem
|
public class UsersItem
|
||||||
@@ -170,7 +170,7 @@ namespace v2rayN.Mode
|
|||||||
/// <summary>
|
/// <summary>
|
||||||
/// VLESS
|
/// VLESS
|
||||||
/// </summary>
|
/// </summary>
|
||||||
public string flow { get; set; }
|
public string flow { get; set; }
|
||||||
}
|
}
|
||||||
public class Sniffing
|
public class Sniffing
|
||||||
{
|
{
|
||||||
@@ -271,6 +271,11 @@ namespace v2rayN.Mode
|
|||||||
/// </summary>
|
/// </summary>
|
||||||
public int level { get; set; }
|
public int level { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// trojan
|
||||||
|
/// </summary>
|
||||||
|
public string flow { get; set; }
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
///
|
///
|
||||||
/// </summary>
|
/// </summary>
|
||||||
@@ -399,10 +404,17 @@ namespace v2rayN.Mode
|
|||||||
///
|
///
|
||||||
/// </summary>
|
/// </summary>
|
||||||
public string serverName { get; set; }
|
public string serverName { get; set; }
|
||||||
|
/// <summary>
|
||||||
|
///
|
||||||
|
/// </summary>
|
||||||
|
public List<string> alpn
|
||||||
|
{
|
||||||
|
get; set;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public class TcpSettings
|
public class TcpSettings
|
||||||
{
|
{
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 数据包头部伪装设置
|
/// 数据包头部伪装设置
|
||||||
/// </summary>
|
/// </summary>
|
||||||
@@ -466,7 +478,7 @@ namespace v2rayN.Mode
|
|||||||
}
|
}
|
||||||
|
|
||||||
public class WsSettings
|
public class WsSettings
|
||||||
{
|
{
|
||||||
/// <summary>
|
/// <summary>
|
||||||
///
|
///
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
|||||||
@@ -2,61 +2,68 @@
|
|||||||
|
|
||||||
namespace v2rayN.Mode
|
namespace v2rayN.Mode
|
||||||
{
|
{
|
||||||
|
/// <summary>
|
||||||
|
/// https://github.com/2dust/v2rayN/wiki/
|
||||||
|
/// </summary>
|
||||||
[Serializable]
|
[Serializable]
|
||||||
class VmessQRCode
|
class VmessQRCode
|
||||||
{
|
{
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 版本
|
///
|
||||||
/// </summary>
|
/// </summary>
|
||||||
public string v { get; set; } = string.Empty;
|
public string v { get; set; } = string.Empty;
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 备注
|
///
|
||||||
/// </summary>
|
/// </summary>
|
||||||
public string ps { get; set; } = string.Empty;
|
public string ps { get; set; } = string.Empty;
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// VMess 远程服务器地址
|
///
|
||||||
/// </summary>
|
/// </summary>
|
||||||
public string add { get; set; } = string.Empty;
|
public string add { get; set; } = string.Empty;
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// VMess 远程服务器端口
|
///
|
||||||
/// </summary>
|
/// </summary>
|
||||||
public string port { get; set; } = string.Empty;
|
public string port { get; set; } = string.Empty;
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// VMess 远程服务器ID
|
///
|
||||||
/// </summary>
|
/// </summary>
|
||||||
public string id { get; set; } = string.Empty;
|
public string id { get; set; } = string.Empty;
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// VMess 远程服务器额外ID
|
///
|
||||||
/// </summary>
|
/// </summary>
|
||||||
public string aid { get; set; } = string.Empty;
|
public string aid { get; set; } = string.Empty;
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// VMess Security
|
///
|
||||||
/// </summary>
|
/// </summary>
|
||||||
public string scy { get; set; } = string.Empty;
|
public string scy { get; set; } = string.Empty;
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 传输协议tcp,kcp,ws
|
///
|
||||||
/// </summary>
|
/// </summary>
|
||||||
public string net { get; set; } = string.Empty;
|
public string net { get; set; } = string.Empty;
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 伪装类型
|
///
|
||||||
/// </summary>
|
/// </summary>
|
||||||
public string type { get; set; } = string.Empty;
|
public string type { get; set; } = string.Empty;
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 伪装的域名
|
///
|
||||||
/// </summary>
|
/// </summary>
|
||||||
public string host { get; set; } = string.Empty;
|
public string host { get; set; } = string.Empty;
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// path
|
///
|
||||||
/// </summary>
|
/// </summary>
|
||||||
public string path { get; set; } = string.Empty;
|
public string path { get; set; } = string.Empty;
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 底层传输安全
|
/// TLS
|
||||||
/// </summary>
|
/// </summary>
|
||||||
public string tls { get; set; } = string.Empty;
|
public string tls { get; set; } = string.Empty;
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// SNI
|
/// TLS SNI
|
||||||
/// </summary>
|
/// </summary>
|
||||||
public string sni { get; set; } = string.Empty;
|
public string sni { get; set; } = string.Empty;
|
||||||
|
/// <summary>
|
||||||
|
/// TLS alpn
|
||||||
|
/// </summary>
|
||||||
|
public string alpn { get; set; } = string.Empty;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -33,7 +33,7 @@ namespace v2rayN
|
|||||||
|
|
||||||
if (!IsDuplicateInstance())
|
if (!IsDuplicateInstance())
|
||||||
{
|
{
|
||||||
|
Logging.Setup();
|
||||||
Utils.SaveLog($"v2rayN start up | {Utils.GetVersion()} | {Utils.GetExePath()}");
|
Utils.SaveLog($"v2rayN start up | {Utils.GetVersion()} | {Utils.GetExePath()}");
|
||||||
|
|
||||||
//设置语言环境
|
//设置语言环境
|
||||||
|
|||||||
@@ -32,4 +32,4 @@ using System.Runtime.InteropServices;
|
|||||||
// 方法是按如下所示使用“*”:
|
// 方法是按如下所示使用“*”:
|
||||||
//[assembly: AssemblyVersion("1.0.*")]
|
//[assembly: AssemblyVersion("1.0.*")]
|
||||||
//[assembly: AssemblyVersion("1.0.0")]
|
//[assembly: AssemblyVersion("1.0.0")]
|
||||||
[assembly: AssemblyFileVersion("4.24")]
|
[assembly: AssemblyFileVersion("5.5")]
|
||||||
|
|||||||
14
v2rayN/v2rayN/Properties/Resources.Designer.cs
generated
14
v2rayN/v2rayN/Properties/Resources.Designer.cs
generated
@@ -47,8 +47,8 @@ namespace v2rayN.Properties {
|
|||||||
}
|
}
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 重写当前线程的 CurrentUICulture 属性
|
/// 重写当前线程的 CurrentUICulture 属性,对
|
||||||
/// 重写当前线程的 CurrentUICulture 属性。
|
/// 使用此强类型资源类的所有资源查找执行重写。
|
||||||
/// </summary>
|
/// </summary>
|
||||||
[global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)]
|
[global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)]
|
||||||
internal static global::System.Globalization.CultureInfo Culture {
|
internal static global::System.Globalization.CultureInfo Culture {
|
||||||
@@ -120,16 +120,6 @@ namespace v2rayN.Properties {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/// <summary>
|
|
||||||
/// 查找 System.Byte[] 类型的本地化资源。
|
|
||||||
/// </summary>
|
|
||||||
internal static byte[] privoxy_exe {
|
|
||||||
get {
|
|
||||||
object obj = ResourceManager.GetObject("privoxy_exe", resourceCulture);
|
|
||||||
return ((byte[])(obj));
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 查找 System.Drawing.Bitmap 类型的本地化资源。
|
/// 查找 System.Drawing.Bitmap 类型的本地化资源。
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
|||||||
@@ -118,9 +118,6 @@
|
|||||||
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||||
</resheader>
|
</resheader>
|
||||||
<assembly alias="System.Windows.Forms" name="System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
|
<assembly alias="System.Windows.Forms" name="System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
|
||||||
<data name="privoxy_exe" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
|
||||||
<value>..\resources\privoxy.exe.gz;System.Byte[], mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
|
||||||
</data>
|
|
||||||
<data name="about" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
<data name="about" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||||
<value>..\Resources\about.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
<value>..\Resources\about.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||||
</data>
|
</data>
|
||||||
|
|||||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user