mirror of https://github.com/2dust/v2rayN
add Trojan
parent
e2de9b4703
commit
a370f7bfbb
|
@ -5,10 +5,8 @@ using v2rayN.Mode;
|
|||
|
||||
namespace v2rayN.Forms
|
||||
{
|
||||
public partial class AddServer2Form : BaseForm
|
||||
{
|
||||
public int EditIndex { get; set; }
|
||||
VmessItem vmessItem;
|
||||
public partial class AddServer2Form : BaseServerForm
|
||||
{
|
||||
|
||||
public AddServer2Form()
|
||||
{
|
||||
|
|
|
@ -5,10 +5,8 @@ using v2rayN.Mode;
|
|||
|
||||
namespace v2rayN.Forms
|
||||
{
|
||||
public partial class AddServer3Form : BaseForm
|
||||
{
|
||||
public int EditIndex { get; set; }
|
||||
VmessItem vmessItem = null;
|
||||
public partial class AddServer3Form : BaseServerForm
|
||||
{
|
||||
|
||||
public AddServer3Form()
|
||||
{
|
||||
|
|
|
@ -5,10 +5,8 @@ using v2rayN.Mode;
|
|||
|
||||
namespace v2rayN.Forms
|
||||
{
|
||||
public partial class AddServer4Form : BaseForm
|
||||
{
|
||||
public int EditIndex { get; set; }
|
||||
VmessItem vmessItem = null;
|
||||
public partial class AddServer4Form : BaseServerForm
|
||||
{
|
||||
|
||||
public AddServer4Form()
|
||||
{
|
||||
|
|
|
@ -5,10 +5,8 @@ using v2rayN.Mode;
|
|||
|
||||
namespace v2rayN.Forms
|
||||
{
|
||||
public partial class AddServer5Form : BaseForm
|
||||
{
|
||||
public int EditIndex { get; set; }
|
||||
VmessItem vmessItem = null;
|
||||
public partial class AddServer5Form : BaseServerForm
|
||||
{
|
||||
|
||||
public AddServer5Form()
|
||||
{
|
||||
|
|
|
@ -0,0 +1,173 @@
|
|||
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.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
|
||||
//
|
||||
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);
|
||||
//
|
||||
// groupBox1
|
||||
//
|
||||
resources.ApplyResources(this.groupBox1, "groupBox1");
|
||||
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);
|
||||
this.groupBox1.Name = "groupBox1";
|
||||
this.groupBox1.TabStop = false;
|
||||
//
|
||||
// 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
|
||||
//
|
||||
resources.ApplyResources(this.panel2, "panel2");
|
||||
this.panel2.Controls.Add(this.btnClose);
|
||||
this.panel2.Controls.Add(this.btnOK);
|
||||
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;
|
||||
}
|
||||
}
|
|
@ -0,0 +1,96 @@
|
|||
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;
|
||||
txtRemarks.Text = vmessItem.remarks;
|
||||
}
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// 清除设置
|
||||
/// </summary>
|
||||
private void ClearServer()
|
||||
{
|
||||
txtAddress.Text = "";
|
||||
txtPort.Text = "";
|
||||
txtId.Text = "";
|
||||
txtRemarks.Text = "";
|
||||
}
|
||||
|
||||
private void btnOK_Click(object sender, EventArgs e)
|
||||
{
|
||||
string address = txtAddress.Text;
|
||||
string port = txtPort.Text;
|
||||
string id = txtId.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;
|
||||
}
|
||||
|
||||
vmessItem.address = address;
|
||||
vmessItem.port = Utils.ToInt(port);
|
||||
vmessItem.id = id;
|
||||
vmessItem.remarks = remarks;
|
||||
|
||||
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;
|
||||
}
|
||||
|
||||
}
|
||||
}
|
|
@ -0,0 +1,486 @@
|
|||
<?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=">>txtPort.Parent" xml:space="preserve">
|
||||
<value>groupBox1</value>
|
||||
</data>
|
||||
<data name="label1.Text" xml:space="preserve">
|
||||
<value>Server address</value>
|
||||
</data>
|
||||
<assembly alias="mscorlib" name="mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
|
||||
<data name="txtPort.TabIndex" type="System.Int32, mscorlib">
|
||||
<value>3</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>
|
||||
<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>Bottom</value>
|
||||
</data>
|
||||
<data name=">>txtPort.Name" xml:space="preserve">
|
||||
<value>txtPort</value>
|
||||
</data>
|
||||
<data name="label13.AutoSize" type="System.Boolean, mscorlib">
|
||||
<value>True</value>
|
||||
</data>
|
||||
<data name=">>label3.Parent" xml:space="preserve">
|
||||
<value>groupBox1</value>
|
||||
</data>
|
||||
<data name=">>label3.ZOrder" xml:space="preserve">
|
||||
<value>4</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=">>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.Name" xml:space="preserve">
|
||||
<value>btnOK</value>
|
||||
</data>
|
||||
<data name=">>txtRemarks.Name" xml:space="preserve">
|
||||
<value>txtRemarks</value>
|
||||
</data>
|
||||
<assembly alias="System.Drawing" name="System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
|
||||
<data name="txtPort.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>194, 21</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>AddServer6Form</value>
|
||||
</data>
|
||||
<data name=">>label1.Name" xml:space="preserve">
|
||||
<value>label1</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=">>btnClose.Parent" xml:space="preserve">
|
||||
<value>panel2</value>
|
||||
</data>
|
||||
<data name="label6.Location" type="System.Drawing.Point, System.Drawing">
|
||||
<value>12, 155</value>
|
||||
</data>
|
||||
<data name="label2.AutoSize" type="System.Boolean, mscorlib">
|
||||
<value>True</value>
|
||||
</data>
|
||||
<data name="label3.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>53, 12</value>
|
||||
</data>
|
||||
<data name="groupBox1.Dock" type="System.Windows.Forms.DockStyle, System.Windows.Forms">
|
||||
<value>Fill</value>
|
||||
</data>
|
||||
<data name="txtRemarks.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>194, 21</value>
|
||||
</data>
|
||||
<data name=">>label13.Parent" xml:space="preserve">
|
||||
<value>groupBox1</value>
|
||||
</data>
|
||||
<data name="$this.AutoScaleDimensions" type="System.Drawing.SizeF, System.Drawing">
|
||||
<value>6, 12</value>
|
||||
</data>
|
||||
<data name="label6.AutoSize" type="System.Boolean, mscorlib">
|
||||
<value>True</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, 154</value>
|
||||
</data>
|
||||
<data name="label3.AutoSize" type="System.Boolean, mscorlib">
|
||||
<value>True</value>
|
||||
</data>
|
||||
<data name="panel1.TabIndex" type="System.Int32, mscorlib">
|
||||
<value>6</value>
|
||||
</data>
|
||||
<data name="panel2.TabIndex" type="System.Int32, mscorlib">
|
||||
<value>7</value>
|
||||
</data>
|
||||
<data name=">>label1.Parent" xml:space="preserve">
|
||||
<value>groupBox1</value>
|
||||
</data>
|
||||
<data name="label13.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>113, 12</value>
|
||||
</data>
|
||||
<data name="label3.Location" type="System.Drawing.Point, System.Drawing">
|
||||
<value>12, 93</value>
|
||||
</data>
|
||||
<data name=">>label1.ZOrder" xml:space="preserve">
|
||||
<value>8</value>
|
||||
</data>
|
||||
<data name="groupBox1.Text" xml:space="preserve">
|
||||
<value>Server</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="label1.TabIndex" type="System.Int32, mscorlib">
|
||||
<value>0</value>
|
||||
</data>
|
||||
<data name="label2.TabIndex" type="System.Int32, mscorlib">
|
||||
<value>2</value>
|
||||
</data>
|
||||
<data name="panel2.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>547, 60</value>
|
||||
</data>
|
||||
<data name="label1.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>89, 12</value>
|
||||
</data>
|
||||
<data name="txtId.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>278, 21</value>
|
||||
</data>
|
||||
<data name="txtAddress.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>359, 21</value>
|
||||
</data>
|
||||
<data name=">>label6.Name" xml:space="preserve">
|
||||
<value>label6</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="txtId.PasswordChar" type="System.Char, mscorlib" xml:space="preserve">
|
||||
<value>*</value>
|
||||
</data>
|
||||
<data name=">>groupBox1.Name" xml:space="preserve">
|
||||
<value>groupBox1</value>
|
||||
</data>
|
||||
<data name="label13.Text" xml:space="preserve">
|
||||
<value>* Fill in manually</value>
|
||||
</data>
|
||||
<data name="txtRemarks.TabIndex" type="System.Int32, mscorlib">
|
||||
<value>11</value>
|
||||
</data>
|
||||
<data name="label6.TabIndex" type="System.Int32, mscorlib">
|
||||
<value>10</value>
|
||||
</data>
|
||||
<data name="label2.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>71, 12</value>
|
||||
</data>
|
||||
<data name="btnClose.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>75, 23</value>
|
||||
</data>
|
||||
<data name=">>panel1.Name" xml:space="preserve">
|
||||
<value>panel1</value>
|
||||
</data>
|
||||
<data name=">>txtId.Name" xml:space="preserve">
|
||||
<value>txtId</value>
|
||||
</data>
|
||||
<data name="label2.Location" type="System.Drawing.Point, System.Drawing">
|
||||
<value>12, 62</value>
|
||||
</data>
|
||||
<data name=">>txtRemarks.ZOrder" xml:space="preserve">
|
||||
<value>1</value>
|
||||
</data>
|
||||
<data name=">>btnClose.Name" xml:space="preserve">
|
||||
<value>btnClose</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="btnOK.Text" xml:space="preserve">
|
||||
<value>&OK</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="label3.Text" xml:space="preserve">
|
||||
<value>Password</value>
|
||||
</data>
|
||||
<data name="btnOK.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>75, 23</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=">>txtAddress.Name" xml:space="preserve">
|
||||
<value>txtAddress</value>
|
||||
</data>
|
||||
<data name="panel1.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>547, 10</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, 10</value>
|
||||
</data>
|
||||
<data name=">>label6.ZOrder" xml:space="preserve">
|
||||
<value>2</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="groupBox1.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>547, 221</value>
|
||||
</data>
|
||||
<data name=">>panel1.ZOrder" xml:space="preserve">
|
||||
<value>2</value>
|
||||
</data>
|
||||
<data name=">>label2.Parent" xml:space="preserve">
|
||||
<value>groupBox1</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="txtAddress.Location" type="System.Drawing.Point, System.Drawing">
|
||||
<value>127, 27</value>
|
||||
</data>
|
||||
<data name="btnOK.TabIndex" type="System.Int32, mscorlib">
|
||||
<value>5</value>
|
||||
</data>
|
||||
<data name=">>txtAddress.Parent" xml:space="preserve">
|
||||
<value>groupBox1</value>
|
||||
</data>
|
||||
<data name="label1.AutoSize" type="System.Boolean, mscorlib">
|
||||
<value>True</value>
|
||||
</data>
|
||||
<data name="txtPort.Location" type="System.Drawing.Point, System.Drawing">
|
||||
<value>127, 59</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="label6.Text" xml:space="preserve">
|
||||
<value>Alias (remarks)</value>
|
||||
</data>
|
||||
<data name="txtId.TabIndex" type="System.Int32, mscorlib">
|
||||
<value>5</value>
|
||||
</data>
|
||||
<data name=">>txtId.Parent" xml:space="preserve">
|
||||
<value>groupBox1</value>
|
||||
</data>
|
||||
<data name="btnOK.Location" type="System.Drawing.Point, System.Drawing">
|
||||
<value>303, 17</value>
|
||||
</data>
|
||||
<data name=">>groupBox1.Parent" xml:space="preserve">
|
||||
<value>$this</value>
|
||||
</data>
|
||||
<data name=">>label2.ZOrder" xml:space="preserve">
|
||||
<value>6</value>
|
||||
</data>
|
||||
<data name="btnClose.Text" xml:space="preserve">
|
||||
<value>&Cancel</value>
|
||||
</data>
|
||||
<data name="label1.Location" type="System.Drawing.Point, System.Drawing">
|
||||
<value>12, 31</value>
|
||||
</data>
|
||||
<data name="$this.Text" xml:space="preserve">
|
||||
<value>Edit or add a [Trojan] server</value>
|
||||
</data>
|
||||
<data name=">>btnClose.ZOrder" xml:space="preserve">
|
||||
<value>0</value>
|
||||
</data>
|
||||
<data name="label2.Text" xml:space="preserve">
|
||||
<value>Server port</value>
|
||||
</data>
|
||||
<data name="label3.TabIndex" type="System.Int32, mscorlib">
|
||||
<value>4</value>
|
||||
</data>
|
||||
<data name="label13.Location" type="System.Drawing.Point, System.Drawing">
|
||||
<value>337, 158</value>
|
||||
</data>
|
||||
<data name=">>label6.Parent" xml:space="preserve">
|
||||
<value>groupBox1</value>
|
||||
</data>
|
||||
<data name="txtId.Location" type="System.Drawing.Point, System.Drawing">
|
||||
<value>127, 91</value>
|
||||
</data>
|
||||
<data name=">>txtPort.ZOrder" xml:space="preserve">
|
||||
<value>5</value>
|
||||
</data>
|
||||
<data name=">>panel1.Parent" xml:space="preserve">
|
||||
<value>$this</value>
|
||||
</data>
|
||||
<data name=">>btnOK.ZOrder" xml:space="preserve">
|
||||
<value>1</value>
|
||||
</data>
|
||||
<data name="panel1.Location" type="System.Drawing.Point, System.Drawing">
|
||||
<value>0, 0</value>
|
||||
</data>
|
||||
<data name="txtAddress.TabIndex" type="System.Int32, mscorlib">
|
||||
<value>1</value>
|
||||
</data>
|
||||
<data name=">>label13.Name" xml:space="preserve">
|
||||
<value>label13</value>
|
||||
</data>
|
||||
<data name=">>txtId.ZOrder" xml:space="preserve">
|
||||
<value>3</value>
|
||||
</data>
|
||||
<data name="label6.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>95, 12</value>
|
||||
</data>
|
||||
<data name=">>label2.Name" xml:space="preserve">
|
||||
<value>label2</value>
|
||||
</data>
|
||||
<data name=">>label13.ZOrder" xml:space="preserve">
|
||||
<value>0</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, 231</value>
|
||||
</data>
|
||||
<data name="label13.TabIndex" type="System.Int32, mscorlib">
|
||||
<value>22</value>
|
||||
</data>
|
||||
<data name=">>txtAddress.ZOrder" xml:space="preserve">
|
||||
<value>7</value>
|
||||
</data>
|
||||
<data name="$this.ClientSize" type="System.Drawing.Size, System.Drawing">
|
||||
<value>547, 291</value>
|
||||
</data>
|
||||
<data name=">>groupBox1.ZOrder" xml:space="preserve">
|
||||
<value>0</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>
|
||||
<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=">>panel2.ZOrder" xml:space="preserve">
|
||||
<value>1</value>
|
||||
</data>
|
||||
<data name=">>btnOK.Parent" xml:space="preserve">
|
||||
<value>panel2</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>
|
||||
<metadata name="$this.Localizable" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>True</value>
|
||||
</metadata>
|
||||
</root>
|
|
@ -0,0 +1,160 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<root>
|
||||
<!--
|
||||
Microsoft ResX Schema
|
||||
|
||||
Version 2.0
|
||||
|
||||
The primary goals of this format is to allow a simple XML format
|
||||
that is mostly human readable. The generation and parsing of the
|
||||
various data types are done through the TypeConverter classes
|
||||
associated with the data types.
|
||||
|
||||
Example:
|
||||
|
||||
... ado.net/XML headers & schema ...
|
||||
<resheader name="resmimetype">text/microsoft-resx</resheader>
|
||||
<resheader name="version">2.0</resheader>
|
||||
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
|
||||
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
|
||||
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
|
||||
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
|
||||
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
|
||||
<value>[base64 mime encoded serialized .NET Framework object]</value>
|
||||
</data>
|
||||
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
|
||||
<comment>This is a comment</comment>
|
||||
</data>
|
||||
|
||||
There are any number of "resheader" rows that contain simple
|
||||
name/value pairs.
|
||||
|
||||
Each data row contains a name, and value. The row also contains a
|
||||
type or mimetype. Type corresponds to a .NET class that support
|
||||
text/value conversion through the TypeConverter architecture.
|
||||
Classes that don't support this are serialized and stored with the
|
||||
mimetype set.
|
||||
|
||||
The mimetype is used for serialized objects, and tells the
|
||||
ResXResourceReader how to depersist the object. This is currently not
|
||||
extensible. For a given mimetype the value must be set accordingly:
|
||||
|
||||
Note - application/x-microsoft.net.object.binary.base64 is the format
|
||||
that the ResXResourceWriter will generate, however the reader can
|
||||
read any of the formats listed below.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.binary.base64
|
||||
value : The object must be serialized with
|
||||
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
|
||||
: and then encoded with base64 encoding.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.soap.base64
|
||||
value : The object must be serialized with
|
||||
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
|
||||
: and then encoded with base64 encoding.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.bytearray.base64
|
||||
value : The object must be serialized into a byte array
|
||||
: using a System.ComponentModel.TypeConverter
|
||||
: and then encoded with base64 encoding.
|
||||
-->
|
||||
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
|
||||
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
|
||||
<xsd:element name="root" msdata:IsDataSet="true">
|
||||
<xsd:complexType>
|
||||
<xsd:choice maxOccurs="unbounded">
|
||||
<xsd:element name="metadata">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" use="required" type="xsd:string" />
|
||||
<xsd:attribute name="type" type="xsd:string" />
|
||||
<xsd:attribute name="mimetype" type="xsd:string" />
|
||||
<xsd:attribute ref="xml:space" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="assembly">
|
||||
<xsd:complexType>
|
||||
<xsd:attribute name="alias" type="xsd:string" />
|
||||
<xsd:attribute name="name" type="xsd:string" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="data">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
|
||||
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
|
||||
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
|
||||
<xsd:attribute ref="xml:space" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="resheader">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" type="xsd:string" use="required" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
</xsd:choice>
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
</xsd:schema>
|
||||
<resheader name="resmimetype">
|
||||
<value>text/microsoft-resx</value>
|
||||
</resheader>
|
||||
<resheader name="version">
|
||||
<value>2.0</value>
|
||||
</resheader>
|
||||
<resheader name="reader">
|
||||
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
<resheader name="writer">
|
||||
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
<data name="btnClose.Text" xml:space="preserve">
|
||||
<value>取消(&C)</value>
|
||||
</data>
|
||||
<data name="groupBox1.Text" xml:space="preserve">
|
||||
<value>服务器</value>
|
||||
</data>
|
||||
<data name="label13.Text" xml:space="preserve">
|
||||
<value>*手填,方便识别管理</value>
|
||||
</data>
|
||||
<assembly alias="System.Drawing" name="System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
|
||||
<data name="label6.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>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="btnOK.Text" xml:space="preserve">
|
||||
<value>确定(&O)</value>
|
||||
</data>
|
||||
<data name="$this.Text" xml:space="preserve">
|
||||
<value>编辑或添加[Trojan]服务器</value>
|
||||
</data>
|
||||
</root>
|
|
@ -5,10 +5,8 @@ using v2rayN.Mode;
|
|||
|
||||
namespace v2rayN.Forms
|
||||
{
|
||||
public partial class AddServerForm : BaseForm
|
||||
{
|
||||
public int EditIndex { get; set; }
|
||||
VmessItem vmessItem = null;
|
||||
public partial class AddServerForm : BaseServerForm
|
||||
{
|
||||
|
||||
public AddServerForm()
|
||||
{
|
||||
|
|
File diff suppressed because it is too large
Load Diff
|
@ -0,0 +1,51 @@
|
|||
namespace v2rayN.Forms
|
||||
{
|
||||
partial class BaseServerForm
|
||||
{
|
||||
/// <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(BaseServerForm));
|
||||
this.SuspendLayout();
|
||||
//
|
||||
// BaseServerForm
|
||||
//
|
||||
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 12F);
|
||||
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
|
||||
this.ClientSize = new System.Drawing.Size(292, 273);
|
||||
this.Icon = ((System.Drawing.Icon)(resources.GetObject("$this.Icon")));
|
||||
this.MaximizeBox = false;
|
||||
this.MinimizeBox = false;
|
||||
this.Name = "BaseServerForm";
|
||||
this.StartPosition = System.Windows.Forms.FormStartPosition.CenterScreen;
|
||||
this.Text = "BaseServerForm";
|
||||
this.ResumeLayout(false);
|
||||
|
||||
}
|
||||
|
||||
#endregion
|
||||
}
|
||||
}
|
|
@ -0,0 +1,18 @@
|
|||
using System;
|
||||
using System.Windows.Forms;
|
||||
using v2rayN.Mode;
|
||||
|
||||
namespace v2rayN.Forms
|
||||
{
|
||||
public partial class BaseServerForm : BaseForm
|
||||
{
|
||||
public int EditIndex { get; set; }
|
||||
protected VmessItem vmessItem = null;
|
||||
|
||||
public BaseServerForm()
|
||||
{
|
||||
InitializeComponent();
|
||||
}
|
||||
|
||||
}
|
||||
}
|
File diff suppressed because it is too large
Load Diff
|
@ -37,6 +37,7 @@
|
|||
this.menuAddVlessServer = new System.Windows.Forms.ToolStripMenuItem();
|
||||
this.menuAddShadowsocksServer = new System.Windows.Forms.ToolStripMenuItem();
|
||||
this.menuAddSocksServer = new System.Windows.Forms.ToolStripMenuItem();
|
||||
this.menuAddTrojanServer = new System.Windows.Forms.ToolStripMenuItem();
|
||||
this.menuAddCustomServer = new System.Windows.Forms.ToolStripMenuItem();
|
||||
this.menuAddServers = new System.Windows.Forms.ToolStripMenuItem();
|
||||
this.menuScanScreen = new System.Windows.Forms.ToolStripMenuItem();
|
||||
|
@ -62,8 +63,8 @@
|
|||
this.menuExport2ServerConfig = new System.Windows.Forms.ToolStripMenuItem();
|
||||
this.menuExport2ShareUrl = new System.Windows.Forms.ToolStripMenuItem();
|
||||
this.menuExport2SubContent = new System.Windows.Forms.ToolStripMenuItem();
|
||||
this.tsbServer = new System.Windows.Forms.ToolStripDropDownButton();
|
||||
this.qrCodeControl = new v2rayN.Forms.QRCodeControl();
|
||||
this.tsbServer = new System.Windows.Forms.ToolStripDropDownButton();
|
||||
this.notifyMain = new System.Windows.Forms.NotifyIcon(this.components);
|
||||
this.cmsMain = new System.Windows.Forms.ContextMenuStrip(this.components);
|
||||
this.menuSysAgentMode = new System.Windows.Forms.ToolStripMenuItem();
|
||||
|
@ -183,6 +184,7 @@
|
|||
this.menuAddVlessServer,
|
||||
this.menuAddShadowsocksServer,
|
||||
this.menuAddSocksServer,
|
||||
this.menuAddTrojanServer,
|
||||
this.menuAddCustomServer,
|
||||
this.menuAddServers,
|
||||
this.menuScanScreen,
|
||||
|
@ -209,7 +211,6 @@
|
|||
this.menuExport2ShareUrl,
|
||||
this.menuExport2SubContent});
|
||||
this.cmsLv.Name = "cmsLv";
|
||||
this.cmsLv.OwnerItem = this.tsbServer;
|
||||
//
|
||||
// menuAddVmessServer
|
||||
//
|
||||
|
@ -235,6 +236,12 @@
|
|||
this.menuAddSocksServer.Name = "menuAddSocksServer";
|
||||
this.menuAddSocksServer.Click += new System.EventHandler(this.menuAddSocksServer_Click);
|
||||
//
|
||||
// menuAddTrojanServer
|
||||
//
|
||||
resources.ApplyResources(this.menuAddTrojanServer, "menuAddTrojanServer");
|
||||
this.menuAddTrojanServer.Name = "menuAddTrojanServer";
|
||||
this.menuAddTrojanServer.Click += new System.EventHandler(this.menuAddTrojanServer_Click);
|
||||
//
|
||||
// menuAddCustomServer
|
||||
//
|
||||
resources.ApplyResources(this.menuAddCustomServer, "menuAddCustomServer");
|
||||
|
@ -381,6 +388,11 @@
|
|||
this.menuExport2SubContent.Name = "menuExport2SubContent";
|
||||
this.menuExport2SubContent.Click += new System.EventHandler(this.menuExport2SubContent_Click);
|
||||
//
|
||||
// qrCodeControl
|
||||
//
|
||||
resources.ApplyResources(this.qrCodeControl, "qrCodeControl");
|
||||
this.qrCodeControl.Name = "qrCodeControl";
|
||||
//
|
||||
// tsbServer
|
||||
//
|
||||
resources.ApplyResources(this.tsbServer, "tsbServer");
|
||||
|
@ -388,11 +400,6 @@
|
|||
this.tsbServer.Image = global::v2rayN.Properties.Resources.server;
|
||||
this.tsbServer.Name = "tsbServer";
|
||||
//
|
||||
// qrCodeControl
|
||||
//
|
||||
resources.ApplyResources(this.qrCodeControl, "qrCodeControl");
|
||||
this.qrCodeControl.Name = "qrCodeControl";
|
||||
//
|
||||
// notifyMain
|
||||
//
|
||||
resources.ApplyResources(this.notifyMain, "notifyMain");
|
||||
|
@ -947,6 +954,7 @@
|
|||
private System.Windows.Forms.ToolStripButton tsbReload;
|
||||
private System.Windows.Forms.ToolStripButton tsbQRCodeSwitch;
|
||||
private System.Windows.Forms.ToolStripMenuItem menuAddVlessServer;
|
||||
private System.Windows.Forms.ToolStripMenuItem menuAddTrojanServer;
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -475,72 +475,42 @@ namespace v2rayN.Forms
|
|||
{
|
||||
return;
|
||||
}
|
||||
|
||||
if (config.vmess[index].configType == (int)EConfigType.Vmess)
|
||||
ShowServerForm(config.vmess[index].configType, index);
|
||||
}
|
||||
private void ShowServerForm(int configType, int index)
|
||||
{
|
||||
BaseServerForm fm;
|
||||
switch (configType)
|
||||
{
|
||||
AddServerForm fm = new AddServerForm
|
||||
{
|
||||
EditIndex = index
|
||||
};
|
||||
if (fm.ShowDialog() == DialogResult.OK)
|
||||
{
|
||||
//刷新
|
||||
RefreshServers();
|
||||
LoadV2ray();
|
||||
}
|
||||
case (int)EConfigType.Vmess:
|
||||
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;
|
||||
}
|
||||
else if (config.vmess[index].configType == (int)EConfigType.Shadowsocks)
|
||||
fm.EditIndex = index;
|
||||
if (fm.ShowDialog() == DialogResult.OK)
|
||||
{
|
||||
AddServer3Form fm = new AddServer3Form
|
||||
{
|
||||
EditIndex = index
|
||||
};
|
||||
if (fm.ShowDialog() == DialogResult.OK)
|
||||
{
|
||||
RefreshServers();
|
||||
LoadV2ray();
|
||||
}
|
||||
}
|
||||
else if (config.vmess[index].configType == (int)EConfigType.Socks)
|
||||
{
|
||||
AddServer4Form fm = new AddServer4Form
|
||||
{
|
||||
EditIndex = index
|
||||
};
|
||||
if (fm.ShowDialog() == DialogResult.OK)
|
||||
{
|
||||
RefreshServers();
|
||||
LoadV2ray();
|
||||
}
|
||||
}
|
||||
else if (config.vmess[index].configType == (int)EConfigType.VLESS)
|
||||
{
|
||||
AddServer5Form fm = new AddServer5Form
|
||||
{
|
||||
EditIndex = index
|
||||
};
|
||||
if (fm.ShowDialog() == DialogResult.OK)
|
||||
{
|
||||
//刷新
|
||||
RefreshServers();
|
||||
LoadV2ray();
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
AddServer2Form fm2 = new AddServer2Form
|
||||
{
|
||||
EditIndex = index
|
||||
};
|
||||
if (fm2.ShowDialog() == DialogResult.OK)
|
||||
{
|
||||
//刷新
|
||||
RefreshServers();
|
||||
LoadV2ray();
|
||||
}
|
||||
//刷新
|
||||
RefreshServers();
|
||||
LoadV2ray();
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
private void lvServers_KeyDown(object sender, KeyEventArgs e)
|
||||
{
|
||||
if (e.Control)
|
||||
|
@ -601,30 +571,12 @@ namespace v2rayN.Forms
|
|||
|
||||
private void menuAddVmessServer_Click(object sender, EventArgs e)
|
||||
{
|
||||
AddServerForm fm = new AddServerForm
|
||||
{
|
||||
EditIndex = -1
|
||||
};
|
||||
if (fm.ShowDialog() == DialogResult.OK)
|
||||
{
|
||||
//刷新
|
||||
RefreshServers();
|
||||
LoadV2ray();
|
||||
}
|
||||
ShowServerForm((int)EConfigType.Vmess, -1);
|
||||
}
|
||||
|
||||
private void menuAddVlessServer_Click(object sender, EventArgs e)
|
||||
{
|
||||
var fm = new AddServer5Form
|
||||
{
|
||||
EditIndex = -1
|
||||
};
|
||||
if (fm.ShowDialog() == DialogResult.OK)
|
||||
{
|
||||
//刷新
|
||||
RefreshServers();
|
||||
LoadV2ray();
|
||||
}
|
||||
ShowServerForm((int)EConfigType.VLESS, -1);
|
||||
}
|
||||
|
||||
private void menuRemoveServer_Click(object sender, EventArgs e)
|
||||
|
@ -906,31 +858,19 @@ namespace v2rayN.Forms
|
|||
|
||||
private void menuAddShadowsocksServer_Click(object sender, EventArgs e)
|
||||
{
|
||||
AddServer3Form fm = new AddServer3Form
|
||||
{
|
||||
EditIndex = -1
|
||||
};
|
||||
if (fm.ShowDialog() == DialogResult.OK)
|
||||
{
|
||||
//刷新
|
||||
RefreshServers();
|
||||
LoadV2ray();
|
||||
}
|
||||
ShowServerForm((int)EConfigType.Shadowsocks, -1);
|
||||
ShowForm();
|
||||
}
|
||||
|
||||
private void menuAddSocksServer_Click(object sender, EventArgs e)
|
||||
{
|
||||
AddServer4Form fm = new AddServer4Form
|
||||
{
|
||||
EditIndex = -1
|
||||
};
|
||||
if (fm.ShowDialog() == DialogResult.OK)
|
||||
{
|
||||
//刷新
|
||||
RefreshServers();
|
||||
LoadV2ray();
|
||||
}
|
||||
ShowServerForm((int)EConfigType.Socks, -1);
|
||||
ShowForm();
|
||||
}
|
||||
|
||||
private void menuAddTrojanServer_Click(object sender, EventArgs e)
|
||||
{
|
||||
ShowServerForm((int)EConfigType.Trojan, -1);
|
||||
ShowForm();
|
||||
}
|
||||
|
||||
|
@ -1629,6 +1569,7 @@ namespace v2rayN.Forms
|
|||
|
||||
|
||||
|
||||
|
||||
#endregion
|
||||
|
||||
|
||||
|
|
|
@ -136,8 +136,8 @@
|
|||
<data name="tsbReload.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>97, 53</value>
|
||||
</data>
|
||||
<data name="menuScanScreen.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>355, 22</value>
|
||||
<data name=">>txtMsgBox.Parent" xml:space="preserve">
|
||||
<value>groupBox2</value>
|
||||
</data>
|
||||
<data name="menuAddVlessServer.Text" xml:space="preserve">
|
||||
<value>Add [VLESS] server</value>
|
||||
|
@ -151,6 +151,9 @@
|
|||
<data name="tsbReload.Text" xml:space="preserve">
|
||||
<value>Restart service</value>
|
||||
</data>
|
||||
<data name="toolStripSeparator12.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>184, 6</value>
|
||||
</data>
|
||||
<data name=">>tsbSubSetting.Name" xml:space="preserve">
|
||||
<value>tsbSubSetting</value>
|
||||
</data>
|
||||
|
@ -195,6 +198,9 @@
|
|||
<data name=">>toolStripSeparator6.Name" xml:space="preserve">
|
||||
<value>toolStripSeparator6</value>
|
||||
</data>
|
||||
<data name="menuAddTrojanServer.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>355, 22</value>
|
||||
</data>
|
||||
<data name="tsbSub.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>99, 53</value>
|
||||
</data>
|
||||
|
@ -306,9 +312,6 @@
|
|||
<data name=">>toolStripSeparator10.Type" xml:space="preserve">
|
||||
<value>System.Windows.Forms.ToolStripSeparator, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</data>
|
||||
<data name="cmsLv.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>356, 578</value>
|
||||
</data>
|
||||
<data name=">>menuExit.Type" xml:space="preserve">
|
||||
<value>System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</data>
|
||||
|
@ -401,9 +404,6 @@
|
|||
<data name=">>menuRemoveServer.Type" xml:space="preserve">
|
||||
<value>System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</data>
|
||||
<data name=">>toolSslPacPortLab.Name" xml:space="preserve">
|
||||
<value>toolSslPacPortLab</value>
|
||||
</data>
|
||||
<data name="toolSslServerSpeed.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>220, 17</value>
|
||||
</data>
|
||||
|
@ -419,8 +419,8 @@
|
|||
<data name=">>menuGlobalPAC.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=">>tsbSubSetting.Type" xml:space="preserve">
|
||||
<value>System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
<data name="menuGlobal.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>411, 22</value>
|
||||
</data>
|
||||
<data name="menuMoveBottom.Text" xml:space="preserve">
|
||||
<value>Move to bottom (B)</value>
|
||||
|
@ -527,9 +527,6 @@
|
|||
<data name="toolStripSeparator9.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>352, 6</value>
|
||||
</data>
|
||||
<data name=">>tsbPromotion.Name" xml:space="preserve">
|
||||
<value>tsbPromotion</value>
|
||||
</data>
|
||||
<data name="qrCodeControl.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>256, 331</value>
|
||||
</data>
|
||||
|
@ -593,17 +590,14 @@
|
|||
<data name="tsbOptionSetting.TextImageRelation" type="System.Windows.Forms.TextImageRelation, System.Windows.Forms">
|
||||
<value>ImageAboveText</value>
|
||||
</data>
|
||||
<data name=">>lvServers.Name" xml:space="preserve">
|
||||
<value>lvServers</value>
|
||||
</data>
|
||||
<data name="cmsMain.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>265, 164</value>
|
||||
</data>
|
||||
<data name="menuGlobal.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>411, 22</value>
|
||||
<data name="menuScanScreen.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>355, 22</value>
|
||||
</data>
|
||||
<data name=">>menuUpdateSubscriptions.Name" xml:space="preserve">
|
||||
<value>menuUpdateSubscriptions</value>
|
||||
<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=">>scMain.Panel2.Parent" xml:space="preserve">
|
||||
<value>scMain</value>
|
||||
|
@ -680,8 +674,8 @@
|
|||
<data name="tsbLanguageZhHans.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>187, 22</value>
|
||||
</data>
|
||||
<data name=">>tsbReload.Name" xml:space="preserve">
|
||||
<value>tsbReload</value>
|
||||
<data name=">>menuAddServers.Name" xml:space="preserve">
|
||||
<value>menuAddServers</value>
|
||||
</data>
|
||||
<data name="menuSetDefaultServer.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>355, 22</value>
|
||||
|
@ -701,11 +695,14 @@
|
|||
<data name=">>menuExport2ShareUrl.Name" xml:space="preserve">
|
||||
<value>menuExport2ShareUrl</value>
|
||||
</data>
|
||||
<data name=">>tsMain.Name" xml:space="preserve">
|
||||
<value>tsMain</value>
|
||||
</data>
|
||||
<data name=">>menuAddSocksServer.Type" xml:space="preserve">
|
||||
<value>System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</data>
|
||||
<data name="toolSslSocksPortLab.Text" xml:space="preserve">
|
||||
<value>SOCKS5:</value>
|
||||
<data name=">>tsbReload.Name" xml:space="preserve">
|
||||
<value>tsbReload</value>
|
||||
</data>
|
||||
<data name="tsbCheckUpdateN.Text" xml:space="preserve">
|
||||
<value>v2rayN (this software)</value>
|
||||
|
@ -743,6 +740,9 @@
|
|||
<data name=">>toolSslBlank4.Name" xml:space="preserve">
|
||||
<value>toolSslBlank4</value>
|
||||
</data>
|
||||
<data name=">>menuAddTrojanServer.Name" xml:space="preserve">
|
||||
<value>menuAddTrojanServer</value>
|
||||
</data>
|
||||
<data name="toolStripSeparator2.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>261, 6</value>
|
||||
</data>
|
||||
|
@ -752,23 +752,23 @@
|
|||
<data name="tsbLanguageDef.Text" xml:space="preserve">
|
||||
<value>Language-[English]</value>
|
||||
</data>
|
||||
<data name=">>menuSpeedServer.Name" xml:space="preserve">
|
||||
<value>menuSpeedServer</value>
|
||||
</data>
|
||||
<data name="menuSysAgentMode.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>264, 22</value>
|
||||
</data>
|
||||
<data name=">>qrCodeControl.ZOrder" xml:space="preserve">
|
||||
<value>0</value>
|
||||
</data>
|
||||
<data name="scMain.Dock" type="System.Windows.Forms.DockStyle, System.Windows.Forms">
|
||||
<value>Fill</value>
|
||||
</data>
|
||||
<data name=">>toolSslBlank3.Name" xml:space="preserve">
|
||||
<value>toolSslBlank3</value>
|
||||
</data>
|
||||
<data name="tsbCheckUpdate.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>128, 53</value>
|
||||
</data>
|
||||
<data name=">>tsMain.Name" xml:space="preserve">
|
||||
<value>tsMain</value>
|
||||
<data name="menuAddTrojanServer.Text" xml:space="preserve">
|
||||
<value>Add [Trojan] server</value>
|
||||
</data>
|
||||
<data name=">>menuSysAgentMode.Type" xml:space="preserve">
|
||||
<value>System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
|
@ -868,9 +868,6 @@
|
|||
<data name="toolSslPacPortLab.Text" xml:space="preserve">
|
||||
<value>PAC:</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="tsbPromotion.Text" xml:space="preserve">
|
||||
<value> Promotion </value>
|
||||
</data>
|
||||
|
@ -880,8 +877,8 @@
|
|||
<data name=">>tsbV2rayWebsite.Type" xml:space="preserve">
|
||||
<value>System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</data>
|
||||
<data name="tsbClose.TextImageRelation" type="System.Windows.Forms.TextImageRelation, System.Windows.Forms">
|
||||
<value>ImageAboveText</value>
|
||||
<data name="qrCodeControl.Location" type="System.Drawing.Point, System.Drawing">
|
||||
<value>0, 0</value>
|
||||
</data>
|
||||
<data name="menuExport2SubContent.Text" xml:space="preserve">
|
||||
<value>Export subscription (base64) share to clipboard</value>
|
||||
|
@ -901,6 +898,9 @@
|
|||
<data name=">>menuServers.Name" xml:space="preserve">
|
||||
<value>menuServers</value>
|
||||
</data>
|
||||
<data name=">>menuUpdateSubscriptions.Name" xml:space="preserve">
|
||||
<value>menuUpdateSubscriptions</value>
|
||||
</data>
|
||||
<data name=">>groupBox2.Parent" xml:space="preserve">
|
||||
<value>$this</value>
|
||||
</data>
|
||||
|
@ -946,6 +946,9 @@
|
|||
<data name=">>txtMsgBox.ZOrder" xml:space="preserve">
|
||||
<value>0</value>
|
||||
</data>
|
||||
<data name="groupBox2.Text" xml:space="preserve">
|
||||
<value>Informations</value>
|
||||
</data>
|
||||
<data name=">>toolStripSeparator8.Name" xml:space="preserve">
|
||||
<value>toolStripSeparator8</value>
|
||||
</data>
|
||||
|
@ -1018,14 +1021,17 @@
|
|||
<data name=">>menuExit.Name" xml:space="preserve">
|
||||
<value>menuExit</value>
|
||||
</data>
|
||||
<data name=">>menuAddTrojanServer.Type" xml:space="preserve">
|
||||
<value>System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</data>
|
||||
<data name="groupBox1.Text" xml:space="preserve">
|
||||
<value>Servers list</value>
|
||||
</data>
|
||||
<data name=">>toolSslHttpPortLab.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=">>tsbCheckClearPACList.Type" xml:space="preserve">
|
||||
<value>System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
<data name=">>lvServers.Name" xml:space="preserve">
|
||||
<value>lvServers</value>
|
||||
</data>
|
||||
<data name=">>menuRealPingServer.Name" xml:space="preserve">
|
||||
<value>menuRealPingServer</value>
|
||||
|
@ -1060,14 +1066,17 @@
|
|||
<data name="tsbServer.Text" xml:space="preserve">
|
||||
<value>Servers</value>
|
||||
</data>
|
||||
<data name=">>tsbCheckClearPACList.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.Type" xml:space="preserve">
|
||||
<value>System.Windows.Forms.ToolStripSeparator, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</data>
|
||||
<data name="menuSelectAll.Text" xml:space="preserve">
|
||||
<value>Select All (Ctrl+A)</value>
|
||||
</data>
|
||||
<data name="groupBox2.Text" xml:space="preserve">
|
||||
<value>Informations</value>
|
||||
<data name="tsbClose.TextImageRelation" type="System.Windows.Forms.TextImageRelation, System.Windows.Forms">
|
||||
<value>ImageAboveText</value>
|
||||
</data>
|
||||
<data name="txtMsgBox.TabIndex" type="System.Int32, mscorlib">
|
||||
<value>3</value>
|
||||
|
@ -1078,8 +1087,8 @@
|
|||
<data name=">>tsbCheckUpdateCore.Name" xml:space="preserve">
|
||||
<value>tsbCheckUpdateCore</value>
|
||||
</data>
|
||||
<data name=">>menuSpeedServer.Name" xml:space="preserve">
|
||||
<value>menuSpeedServer</value>
|
||||
<data name="toolSslSocksPortLab.Text" xml:space="preserve">
|
||||
<value>SOCKS5:</value>
|
||||
</data>
|
||||
<data name="toolSslPacPortLab.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>33, 17</value>
|
||||
|
@ -1192,8 +1201,8 @@
|
|||
<data name=">>panel1.Parent" xml:space="preserve">
|
||||
<value>$this</value>
|
||||
</data>
|
||||
<data name="qrCodeControl.Location" type="System.Drawing.Point, System.Drawing">
|
||||
<value>0, 0</value>
|
||||
<data name="scMain.Dock" type="System.Windows.Forms.DockStyle, System.Windows.Forms">
|
||||
<value>Fill</value>
|
||||
</data>
|
||||
<data name=">>qrCodeControl.Name" xml:space="preserve">
|
||||
<value>qrCodeControl</value>
|
||||
|
@ -1216,8 +1225,8 @@
|
|||
<data name="toolSslBlank2.Font" type="System.Drawing.Font, System.Drawing">
|
||||
<value>微软雅黑, 8pt</value>
|
||||
</data>
|
||||
<data name=">>txtMsgBox.Parent" xml:space="preserve">
|
||||
<value>groupBox2</value>
|
||||
<data name=">>tsbPromotion.Name" xml:space="preserve">
|
||||
<value>tsbPromotion</value>
|
||||
</data>
|
||||
<data name="tsbServer.TextImageRelation" type="System.Windows.Forms.TextImageRelation, System.Windows.Forms">
|
||||
<value>ImageAboveText</value>
|
||||
|
@ -1231,8 +1240,8 @@
|
|||
<data name="tsbCheckUpdateCore.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>393, 22</value>
|
||||
</data>
|
||||
<data name="toolStripSeparator12.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>184, 6</value>
|
||||
<data name="cmsLv.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>356, 600</value>
|
||||
</data>
|
||||
<data name="lvServers.Location" type="System.Drawing.Point, System.Drawing">
|
||||
<value>0, 0</value>
|
||||
|
@ -1369,6 +1378,9 @@
|
|||
<data name=">>toolStripSeparator1.Type" xml:space="preserve">
|
||||
<value>System.Windows.Forms.ToolStripSeparator, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</data>
|
||||
<data name=">>tsbSubSetting.Type" xml:space="preserve">
|
||||
<value>System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</data>
|
||||
<data name="tsbHelp.ImageTransparentColor" type="System.Drawing.Color, System.Drawing">
|
||||
<value>Magenta</value>
|
||||
</data>
|
||||
|
@ -1378,8 +1390,8 @@
|
|||
<data name="tsbSub.TextImageRelation" type="System.Windows.Forms.TextImageRelation, System.Windows.Forms">
|
||||
<value>ImageAboveText</value>
|
||||
</data>
|
||||
<data name=">>menuAddServers.Name" xml:space="preserve">
|
||||
<value>menuAddServers</value>
|
||||
<data name=">>toolSslPacPortLab.Name" xml:space="preserve">
|
||||
<value>toolSslPacPortLab</value>
|
||||
</data>
|
||||
<data name=">>menuScanScreen.Type" xml:space="preserve">
|
||||
<value>System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
|
|
|
@ -142,6 +142,12 @@
|
|||
<data name="menuAddSocksServer.Text" xml:space="preserve">
|
||||
<value>添加[Socks]服务器</value>
|
||||
</data>
|
||||
<data name="menuAddTrojanServer.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>300, 22</value>
|
||||
</data>
|
||||
<data name="menuAddTrojanServer.Text" xml:space="preserve">
|
||||
<value>添加[Trojan]服务器</value>
|
||||
</data>
|
||||
<data name="menuAddCustomServer.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>300, 22</value>
|
||||
</data>
|
||||
|
@ -280,14 +286,8 @@
|
|||
<data name="menuExport2SubContent.Text" xml:space="preserve">
|
||||
<value>批量导出订阅内容至剪贴板(多选)</value>
|
||||
</data>
|
||||
<data name="tsbServer.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>73, 53</value>
|
||||
</data>
|
||||
<data name="tsbServer.Text" xml:space="preserve">
|
||||
<value> 服务器 </value>
|
||||
</data>
|
||||
<data name="cmsLv.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>301, 578</value>
|
||||
<value>301, 600</value>
|
||||
</data>
|
||||
<data name="lvServers.Items" mimetype="application/x-microsoft.net.object.binary.base64">
|
||||
<value>
|
||||
|
@ -306,6 +306,21 @@
|
|||
ZW0uRHJhd2luZy5HcmFwaGljc1VuaXQBAAAAB3ZhbHVlX18ACAMAAAADAAAACw==
|
||||
</value>
|
||||
</data>
|
||||
<data name="tsbServer.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>73, 53</value>
|
||||
</data>
|
||||
<data name="tsbServer.Text" xml:space="preserve">
|
||||
<value> 服务器 </value>
|
||||
</data>
|
||||
<data name="cmsMain.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>196, 164</value>
|
||||
</data>
|
||||
<data name="menuSysAgentMode.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>195, 22</value>
|
||||
</data>
|
||||
<data name="menuSysAgentMode.Text" xml:space="preserve">
|
||||
<value>Http代理</value>
|
||||
</data>
|
||||
<data name="menuNotEnabledHttp.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>316, 22</value>
|
||||
</data>
|
||||
|
@ -348,12 +363,6 @@
|
|||
<data name="menuKeepPACNothing.Text" xml:space="preserve">
|
||||
<value>仅开启PAC,不改变系统代理</value>
|
||||
</data>
|
||||
<data name="menuSysAgentMode.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>195, 22</value>
|
||||
</data>
|
||||
<data name="menuSysAgentMode.Text" xml:space="preserve">
|
||||
<value>Http代理</value>
|
||||
</data>
|
||||
<data name="menuServers.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>195, 22</value>
|
||||
</data>
|
||||
|
@ -393,17 +402,20 @@
|
|||
<data name="menuExit.Text" xml:space="preserve">
|
||||
<value>退出</value>
|
||||
</data>
|
||||
<data name="cmsMain.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>196, 164</value>
|
||||
</data>
|
||||
<data name="groupBox1.Text" xml:space="preserve">
|
||||
<value>服务器列表</value>
|
||||
</data>
|
||||
<data name="groupBox2.Text" xml:space="preserve">
|
||||
<value>信息</value>
|
||||
</data>
|
||||
<data name="toolSslServerSpeed.Text" xml:space="preserve">
|
||||
<value>网速显示未启用</value>
|
||||
</data>
|
||||
<data name="groupBox2.Text" xml:space="preserve">
|
||||
<value>信息</value>
|
||||
<data name="tsbSub.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>61, 53</value>
|
||||
</data>
|
||||
<data name="tsbSub.Text" xml:space="preserve">
|
||||
<value> 订阅 </value>
|
||||
</data>
|
||||
<data name="tsbSubSetting.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>124, 22</value>
|
||||
|
@ -417,12 +429,6 @@
|
|||
<data name="tsbSubUpdate.Text" xml:space="preserve">
|
||||
<value>更新订阅</value>
|
||||
</data>
|
||||
<data name="tsbSub.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>61, 53</value>
|
||||
</data>
|
||||
<data name="tsbSub.Text" xml:space="preserve">
|
||||
<value> 订阅 </value>
|
||||
</data>
|
||||
<data name="tsbQRCodeSwitch.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>52, 53</value>
|
||||
</data>
|
||||
|
@ -452,6 +458,12 @@
|
|||
<data name="tsbReload.Text" xml:space="preserve">
|
||||
<value> 重启服务 </value>
|
||||
</data>
|
||||
<data name="tsbCheckUpdate.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>85, 53</value>
|
||||
</data>
|
||||
<data name="tsbCheckUpdate.Text" xml:space="preserve">
|
||||
<value> 检查更新 </value>
|
||||
</data>
|
||||
<data name="tsbCheckUpdateN.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>223, 22</value>
|
||||
</data>
|
||||
|
@ -479,11 +491,11 @@
|
|||
<data name="tsbCheckClearPACList.Text" xml:space="preserve">
|
||||
<value>简化PAC (请设置Core路由)</value>
|
||||
</data>
|
||||
<data name="tsbCheckUpdate.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>85, 53</value>
|
||||
<data name="tsbHelp.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>69, 53</value>
|
||||
</data>
|
||||
<data name="tsbCheckUpdate.Text" xml:space="preserve">
|
||||
<value> 检查更新 </value>
|
||||
<data name="tsbHelp.Text" xml:space="preserve">
|
||||
<value> 帮助 </value>
|
||||
</data>
|
||||
<data name="tsbAbout.Text" xml:space="preserve">
|
||||
<value>v2rayN 项目</value>
|
||||
|
@ -491,12 +503,6 @@
|
|||
<data name="tsbV2rayWebsite.Text" xml:space="preserve">
|
||||
<value>V2Ray 官网</value>
|
||||
</data>
|
||||
<data name="tsbHelp.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>69, 53</value>
|
||||
</data>
|
||||
<data name="tsbHelp.Text" xml:space="preserve">
|
||||
<value> 帮助 </value>
|
||||
</data>
|
||||
<data name="tsbPromotion.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>68, 53</value>
|
||||
</data>
|
||||
|
|
|
@ -152,6 +152,14 @@ namespace v2rayN
|
|||
/// vless
|
||||
/// </summary>
|
||||
public const string vlessProtocolLite = "vless";
|
||||
/// <summary>
|
||||
/// trojan
|
||||
/// </summary>
|
||||
public const string trojanProtocol = "trojan://";
|
||||
/// <summary>
|
||||
/// trojan
|
||||
/// </summary>
|
||||
public const string trojanProtocolLite = "trojan";
|
||||
|
||||
/// <summary>
|
||||
/// pac
|
||||
|
|
|
@ -423,6 +423,19 @@ namespace v2rayN.Handler
|
|||
url = Utils.Base64Encode(url);
|
||||
url = string.Format("{0}{1}{2}", Global.socksProtocol, url, remark);
|
||||
}
|
||||
else if (vmessItem.configType == (int)EConfigType.Trojan)
|
||||
{
|
||||
string remark = string.Empty;
|
||||
if (!Utils.IsNullOrEmpty(vmessItem.remarks))
|
||||
{
|
||||
remark = "#" + WebUtility.UrlEncode(vmessItem.remarks);
|
||||
}
|
||||
url = string.Format("{0}@{1}:{2}",
|
||||
vmessItem.id,
|
||||
vmessItem.address,
|
||||
vmessItem.port);
|
||||
url = string.Format("{0}{1}{2}", Global.trojanProtocol, url, remark);
|
||||
}
|
||||
else
|
||||
{
|
||||
}
|
||||
|
@ -684,6 +697,50 @@ namespace v2rayN.Handler
|
|||
return 0;
|
||||
}
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// 添加服务器或编辑
|
||||
/// </summary>
|
||||
/// <param name="config"></param>
|
||||
/// <param name="vmessItem"></param>
|
||||
/// <param name="index"></param>
|
||||
/// <returns></returns>
|
||||
public static int AddTrojanServer(ref Config config, VmessItem vmessItem, int index)
|
||||
{
|
||||
vmessItem.configVersion = 2;
|
||||
vmessItem.configType = (int)EConfigType.Trojan;
|
||||
|
||||
vmessItem.address = vmessItem.address.TrimEx();
|
||||
vmessItem.id = vmessItem.id.TrimEx();
|
||||
|
||||
vmessItem.streamSecurity = Global.StreamSecurity;
|
||||
vmessItem.allowInsecure = "false";
|
||||
|
||||
if (index >= 0)
|
||||
{
|
||||
//修改
|
||||
config.vmess[index] = vmessItem;
|
||||
if (config.index.Equals(index))
|
||||
{
|
||||
Global.reloadV2ray = true;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
//添加
|
||||
config.vmess.Add(vmessItem);
|
||||
if (config.vmess.Count == 1)
|
||||
{
|
||||
config.index = 0;
|
||||
Global.reloadV2ray = true;
|
||||
}
|
||||
}
|
||||
|
||||
ToJsonFile(config);
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 配置文件版本升级
|
||||
/// </summary>
|
||||
|
@ -808,6 +865,13 @@ namespace v2rayN.Handler
|
|||
countServers++;
|
||||
}
|
||||
}
|
||||
else if (vmessItem.configType == (int)EConfigType.Trojan)
|
||||
{
|
||||
if (AddTrojanServer(ref config, vmessItem, -1) == 0)
|
||||
{
|
||||
countServers++;
|
||||
}
|
||||
}
|
||||
}
|
||||
return countServers;
|
||||
}
|
||||
|
|
|
@ -494,6 +494,37 @@ namespace v2rayN.Handler
|
|||
outbound.protocol = Global.vlessProtocolLite;
|
||||
outbound.settings.servers = null;
|
||||
}
|
||||
else if (config.configType() == (int)EConfigType.Trojan)
|
||||
{
|
||||
ServersItem serversItem;
|
||||
if (outbound.settings.servers.Count <= 0)
|
||||
{
|
||||
serversItem = new ServersItem();
|
||||
outbound.settings.servers.Add(serversItem);
|
||||
}
|
||||
else
|
||||
{
|
||||
serversItem = outbound.settings.servers[0];
|
||||
}
|
||||
//远程服务器地址和端口
|
||||
serversItem.address = config.address();
|
||||
serversItem.port = config.port();
|
||||
serversItem.password = config.id();
|
||||
|
||||
serversItem.ota = false;
|
||||
serversItem.level = 1;
|
||||
|
||||
outbound.mux.enabled = false;
|
||||
outbound.mux.concurrency = -1;
|
||||
|
||||
|
||||
//远程服务器底层传输配置
|
||||
StreamSettings streamSettings = outbound.streamSettings;
|
||||
boundStreamSettings(config, "out", ref streamSettings);
|
||||
|
||||
outbound.protocol = Global.trojanProtocolLite;
|
||||
outbound.settings.vnext = null;
|
||||
}
|
||||
}
|
||||
catch
|
||||
{
|
||||
|
@ -1395,6 +1426,48 @@ namespace v2rayN.Handler
|
|||
vmessItem.security = arr21[0];
|
||||
vmessItem.id = arr21[1];
|
||||
}
|
||||
else if (result.StartsWith(Global.trojanProtocol))
|
||||
{
|
||||
msg = UIRes.I18N("ConfigurationFormatIncorrect");
|
||||
|
||||
vmessItem.configType = (int)EConfigType.Trojan;
|
||||
result = result.Substring(Global.trojanProtocol.Length);
|
||||
//remark
|
||||
int indexRemark = result.IndexOf("#");
|
||||
if (indexRemark > 0)
|
||||
{
|
||||
try
|
||||
{
|
||||
vmessItem.remarks = WebUtility.UrlDecode(result.Substring(indexRemark + 1, result.Length - indexRemark - 1));
|
||||
}
|
||||
catch { }
|
||||
result = result.Substring(0, indexRemark);
|
||||
}
|
||||
//part decode
|
||||
int indexS = result.IndexOf("@");
|
||||
if (indexS > 0)
|
||||
{
|
||||
}
|
||||
else
|
||||
{
|
||||
result = Utils.Base64Decode(result);
|
||||
}
|
||||
|
||||
string[] arr1 = result.Split('@');
|
||||
if (arr1.Length != 2)
|
||||
{
|
||||
return null;
|
||||
}
|
||||
int indexPort = arr1[1].LastIndexOf(":");
|
||||
if (indexPort < 0)
|
||||
{
|
||||
return null;
|
||||
}
|
||||
vmessItem.address = arr1[1].Substring(0, indexPort);
|
||||
vmessItem.port = Utils.ToInt(arr1[1].Substring(indexPort + 1, arr1[1].Length - (indexPort + 1)));
|
||||
|
||||
vmessItem.id = arr1[0];
|
||||
}
|
||||
else
|
||||
{
|
||||
msg = UIRes.I18N("NonvmessOrssProtocol");
|
||||
|
|
|
@ -418,25 +418,26 @@ namespace v2rayN.Mode
|
|||
{
|
||||
addr = address;
|
||||
}
|
||||
if (configType == (int)EConfigType.Vmess)
|
||||
switch (configType)
|
||||
{
|
||||
summary += string.Format("{0}({1}:{2})", remarks, addr, port);
|
||||
}
|
||||
else if (configType == (int)EConfigType.Shadowsocks)
|
||||
{
|
||||
summary += string.Format("{0}({1}:{2})", remarks, addr, port);
|
||||
}
|
||||
else if (configType == (int)EConfigType.Socks)
|
||||
{
|
||||
summary += string.Format("{0}({1}:{2})", remarks, addr, port);
|
||||
}
|
||||
else if (configType == (int)EConfigType.VLESS)
|
||||
{
|
||||
summary += string.Format("{0}({1}:{2})", remarks, addr, port);
|
||||
}
|
||||
else
|
||||
{
|
||||
summary += string.Format("{0}", remarks);
|
||||
case (int)EConfigType.Vmess:
|
||||
summary += string.Format("{0}({1}:{2})", remarks, addr, port);
|
||||
break;
|
||||
case (int)EConfigType.Shadowsocks:
|
||||
summary += string.Format("{0}({1}:{2})", remarks, addr, port);
|
||||
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);
|
||||
break;
|
||||
default:
|
||||
summary += string.Format("{0}", remarks);
|
||||
break;
|
||||
}
|
||||
return summary;
|
||||
}
|
||||
|
@ -597,7 +598,7 @@ namespace v2rayN.Mode
|
|||
public string flow
|
||||
{
|
||||
get; set;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
[Serializable]
|
||||
|
|
|
@ -7,6 +7,7 @@ namespace v2rayN.Mode
|
|||
Custom = 2,
|
||||
Shadowsocks = 3,
|
||||
Socks = 4,
|
||||
VLESS = 5
|
||||
VLESS = 5,
|
||||
Trojan = 6
|
||||
}
|
||||
}
|
||||
|
|
|
@ -32,4 +32,4 @@ using System.Runtime.InteropServices;
|
|||
// 方法是按如下所示使用“*”:
|
||||
//[assembly: AssemblyVersion("1.0.*")]
|
||||
//[assembly: AssemblyVersion("1.0.0")]
|
||||
[assembly: AssemblyFileVersion("3.24")]
|
||||
[assembly: AssemblyFileVersion("3.25")]
|
||||
|
|
|
@ -98,6 +98,12 @@
|
|||
<Reference Include="System.Xml" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<Compile Include="Forms\AddServer6Form.cs">
|
||||
<SubType>Form</SubType>
|
||||
</Compile>
|
||||
<Compile Include="Forms\AddServer6Form.Designer.cs">
|
||||
<DependentUpon>AddServer6Form.cs</DependentUpon>
|
||||
</Compile>
|
||||
<Compile Include="Forms\AddServer4Form.cs">
|
||||
<SubType>Form</SubType>
|
||||
</Compile>
|
||||
|
@ -113,6 +119,12 @@
|
|||
<Compile Include="Forms\AddServer5Form.Designer.cs">
|
||||
<DependentUpon>AddServer5Form.cs</DependentUpon>
|
||||
</Compile>
|
||||
<Compile Include="Forms\BaseServerForm.cs">
|
||||
<SubType>Form</SubType>
|
||||
</Compile>
|
||||
<Compile Include="Forms\BaseServerForm.Designer.cs">
|
||||
<DependentUpon>BaseServerForm.cs</DependentUpon>
|
||||
</Compile>
|
||||
<Compile Include="Forms\MainForm.cs">
|
||||
<SubType>Form</SubType>
|
||||
</Compile>
|
||||
|
@ -225,6 +237,14 @@
|
|||
<DependentUpon>AddServer2Form.cs</DependentUpon>
|
||||
<SubType>Designer</SubType>
|
||||
</EmbeddedResource>
|
||||
<EmbeddedResource Include="Forms\AddServer6Form.resx">
|
||||
<DependentUpon>AddServer6Form.cs</DependentUpon>
|
||||
<SubType>Designer</SubType>
|
||||
</EmbeddedResource>
|
||||
<EmbeddedResource Include="Forms\AddServer6Form.zh-Hans.resx">
|
||||
<DependentUpon>AddServer6Form.cs</DependentUpon>
|
||||
<SubType>Designer</SubType>
|
||||
</EmbeddedResource>
|
||||
<EmbeddedResource Include="Forms\AddServer4Form.resx">
|
||||
<DependentUpon>AddServer4Form.cs</DependentUpon>
|
||||
<SubType>Designer</SubType>
|
||||
|
@ -249,6 +269,9 @@
|
|||
<DependentUpon>AddServerForm.cs</DependentUpon>
|
||||
<SubType>Designer</SubType>
|
||||
</EmbeddedResource>
|
||||
<EmbeddedResource Include="Forms\BaseServerForm.resx">
|
||||
<DependentUpon>BaseServerForm.cs</DependentUpon>
|
||||
</EmbeddedResource>
|
||||
<EmbeddedResource Include="Forms\MainForm.resx">
|
||||
<DependentUpon>MainForm.cs</DependentUpon>
|
||||
<SubType>Designer</SubType>
|
||||
|
|
Loading…
Reference in New Issue