Compare commits

...

10 Commits
4.7 ... 4.13

Author SHA1 Message Date
2dust
35cbc54f99 up4.13 2021-03-21 10:09:39 +08:00
2dust
bb78af8489 Merge pull request #1399 from Funny-T/master
From V2Ray-Core to Core
2021-02-28 08:11:20 +08:00
GHM
af000a27a6 From v2ray-core to Core
Fixed the display of v2ray-core when updating xray-core
2021-02-26 23:46:29 +08:00
2dust
b30191feb2 up4.12 2021-02-16 20:23:32 +08:00
2dust
83804bd914 up4.11 2021-02-05 20:30:51 +08:00
2dust
23b0f154f3 up4.10 2021-02-03 16:46:43 +08:00
2dust
6084173257 up4.9 2021-01-29 20:19:23 +08:00
2dust
7885893e9b Update AssemblyInfo.cs 2021-01-23 17:25:19 +08:00
2dust
53f9fee834 Update RoutingItem.cs 2021-01-23 17:25:09 +08:00
2dust
ae79d8c608 Update MainForm.cs 2021-01-23 12:44:51 +08:00
50 changed files with 5054 additions and 2846 deletions

View File

@@ -39,6 +39,8 @@
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();
@@ -78,6 +80,7 @@
this.MenuItemImportServer = new System.Windows.Forms.ToolStripMenuItem();
this.toolStripSeparator1 = new System.Windows.Forms.ToolStripSeparator();
this.MenuItemImportClipboard = new System.Windows.Forms.ToolStripMenuItem();
this.label25 = new System.Windows.Forms.Label();
this.groupBox1.SuspendLayout();
this.groupBox2.SuspendLayout();
this.panTlsMore.SuspendLayout();
@@ -146,6 +149,7 @@
//
// 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);
@@ -182,11 +186,23 @@
//
// 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");
@@ -227,7 +243,8 @@
resources.GetString("cmbNetwork.Items1"),
resources.GetString("cmbNetwork.Items2"),
resources.GetString("cmbNetwork.Items3"),
resources.GetString("cmbNetwork.Items4")});
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);
@@ -432,6 +449,11 @@
resources.ApplyResources(this.MenuItemImportClipboard, "MenuItemImportClipboard");
this.MenuItemImportClipboard.Click += new System.EventHandler(this.MenuItemImportClipboard_Click);
//
// label25
//
resources.ApplyResources(this.label25, "label25");
this.label25.Name = "label25";
//
// AddServer5Form
//
resources.ApplyResources(this, "$this");
@@ -509,5 +531,8 @@
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;
}
}

View File

@@ -6,7 +6,7 @@ using v2rayN.Mode;
namespace v2rayN.Forms
{
public partial class AddServer5Form : BaseServerForm
{
{
public AddServer5Form()
{
@@ -45,6 +45,7 @@ namespace v2rayN.Forms
txtPath.Text = vmessItem.path;
cmbStreamSecurity.Text = vmessItem.streamSecurity;
cmbAllowInsecure.Text = vmessItem.allowInsecure;
txtSNI.Text = vmessItem.sni;
}
@@ -66,6 +67,7 @@ namespace v2rayN.Forms
cmbStreamSecurity.Text = "";
cmbAllowInsecure.Text = "";
txtPath.Text = "";
txtSNI.Text = "";
}
@@ -122,6 +124,7 @@ namespace v2rayN.Forms
string path = txtPath.Text;
string streamSecurity = cmbStreamSecurity.Text;
string allowInsecure = cmbAllowInsecure.Text;
string sni = txtSNI.Text;
if (Utils.IsNullOrEmpty(address))
{
@@ -153,6 +156,7 @@ namespace v2rayN.Forms
vmessItem.path = path.Replace(" ", "");
vmessItem.streamSecurity = streamSecurity;
vmessItem.allowInsecure = allowInsecure;
vmessItem.sni = sni;
if (ConfigHandler.AddVlessServer(ref config, vmessItem, EditIndex) == 0)
{

View File

@@ -261,6 +261,36 @@
<data name="&gt;&gt;label13.ZOrder" xml:space="preserve">
<value>3</value>
</data>
<data name="label25.AutoSize" type="System.Boolean, mscorlib">
<value>True</value>
</data>
<data name="label25.ImeMode" type="System.Windows.Forms.ImeMode, System.Windows.Forms">
<value>NoControl</value>
</data>
<data name="label25.Location" type="System.Drawing.Point, System.Drawing">
<value>529, 210</value>
</data>
<data name="label25.Size" type="System.Drawing.Size, System.Drawing">
<value>113, 12</value>
</data>
<data name="label25.TabIndex" type="System.Int32, mscorlib">
<value>37</value>
</data>
<data name="label25.Text" xml:space="preserve">
<value>4)grpc serviceName</value>
</data>
<data name="&gt;&gt;label25.Name" xml:space="preserve">
<value>label25</value>
</data>
<data name="&gt;&gt;label25.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="&gt;&gt;label25.Parent" xml:space="preserve">
<value>groupBox2</value>
</data>
<data name="&gt;&gt;label25.ZOrder" xml:space="preserve">
<value>0</value>
</data>
<data name="label24.AutoSize" type="System.Boolean, mscorlib">
<value>True</value>
</data>
@@ -268,7 +298,7 @@
<value>NoControl</value>
</data>
<data name="label24.Location" type="System.Drawing.Point, System.Drawing">
<value>529, 207</value>
<value>529, 197</value>
</data>
<data name="label24.Size" type="System.Drawing.Size, System.Drawing">
<value>119, 12</value>
@@ -289,7 +319,7 @@
<value>groupBox2</value>
</data>
<data name="&gt;&gt;label24.ZOrder" xml:space="preserve">
<value>0</value>
<value>1</value>
</data>
<data name="label23.AutoSize" type="System.Boolean, mscorlib">
<value>True</value>
@@ -319,6 +349,57 @@
<value>groupBox2</value>
</data>
<data name="&gt;&gt;label23.ZOrder" xml:space="preserve">
<value>2</value>
</data>
<data name="txtSNI.Location" type="System.Drawing.Point, System.Drawing">
<value>297, 7</value>
</data>
<data name="txtSNI.Size" type="System.Drawing.Size, System.Drawing">
<value>200, 21</value>
</data>
<data name="txtSNI.TabIndex" type="System.Int32, mscorlib">
<value>35</value>
</data>
<data name="&gt;&gt;txtSNI.Name" xml:space="preserve">
<value>txtSNI</value>
</data>
<data name="&gt;&gt;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="&gt;&gt;txtSNI.Parent" xml:space="preserve">
<value>panTlsMore</value>
</data>
<data name="&gt;&gt;txtSNI.ZOrder" xml:space="preserve">
<value>0</value>
</data>
<data name="label22.AutoSize" type="System.Boolean, mscorlib">
<value>True</value>
</data>
<data name="label22.ImeMode" type="System.Windows.Forms.ImeMode, System.Windows.Forms">
<value>NoControl</value>
</data>
<data name="label22.Location" type="System.Drawing.Point, System.Drawing">
<value>267, 11</value>
</data>
<data name="label22.Size" type="System.Drawing.Size, System.Drawing">
<value>23, 12</value>
</data>
<data name="label22.TabIndex" type="System.Int32, mscorlib">
<value>34</value>
</data>
<data name="label22.Text" xml:space="preserve">
<value>SNI</value>
</data>
<data name="&gt;&gt;label22.Name" xml:space="preserve">
<value>label22</value>
</data>
<data name="&gt;&gt;label22.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="&gt;&gt;label22.Parent" xml:space="preserve">
<value>panTlsMore</value>
</data>
<data name="&gt;&gt;label22.ZOrder" xml:space="preserve">
<value>1</value>
</data>
<data name="label21.AutoSize" type="System.Boolean, mscorlib">
@@ -349,7 +430,7 @@
<value>panTlsMore</value>
</data>
<data name="&gt;&gt;label21.ZOrder" xml:space="preserve">
<value>0</value>
<value>2</value>
</data>
<data name="cmbAllowInsecure.Items" xml:space="preserve">
<value />
@@ -361,10 +442,10 @@
<value>false</value>
</data>
<data name="cmbAllowInsecure.Location" type="System.Drawing.Point, System.Drawing">
<value>107, 7</value>
<value>100, 7</value>
</data>
<data name="cmbAllowInsecure.Size" type="System.Drawing.Size, System.Drawing">
<value>91, 20</value>
<value>80, 20</value>
</data>
<data name="cmbAllowInsecure.TabIndex" type="System.Int32, mscorlib">
<value>30</value>
@@ -379,13 +460,13 @@
<value>panTlsMore</value>
</data>
<data name="&gt;&gt;cmbAllowInsecure.ZOrder" xml:space="preserve">
<value>1</value>
<value>3</value>
</data>
<data name="panTlsMore.Location" type="System.Drawing.Point, System.Drawing">
<value>284, 232</value>
<value>200, 232</value>
</data>
<data name="panTlsMore.Size" type="System.Drawing.Size, System.Drawing">
<value>338, 35</value>
<value>500, 35</value>
</data>
<data name="panTlsMore.TabIndex" type="System.Int32, mscorlib">
<value>33</value>
@@ -400,7 +481,7 @@
<value>groupBox2</value>
</data>
<data name="&gt;&gt;panTlsMore.ZOrder" xml:space="preserve">
<value>2</value>
<value>3</value>
</data>
<data name="label9.AutoSize" type="System.Boolean, mscorlib">
<value>True</value>
@@ -427,7 +508,7 @@
<value>groupBox2</value>
</data>
<data name="&gt;&gt;label9.ZOrder" xml:space="preserve">
<value>3</value>
<value>4</value>
</data>
<data name="label20.AutoSize" type="System.Boolean, mscorlib">
<value>True</value>
@@ -454,7 +535,7 @@
<value>groupBox2</value>
</data>
<data name="&gt;&gt;label20.ZOrder" xml:space="preserve">
<value>4</value>
<value>5</value>
</data>
<data name="txtPath.Location" type="System.Drawing.Point, System.Drawing">
<value>127, 169</value>
@@ -478,7 +559,7 @@
<value>groupBox2</value>
</data>
<data name="&gt;&gt;txtPath.ZOrder" xml:space="preserve">
<value>5</value>
<value>6</value>
</data>
<data name="cmbNetwork.Items" xml:space="preserve">
<value>tcp</value>
@@ -495,6 +576,9 @@
<data name="cmbNetwork.Items4" xml:space="preserve">
<value>quic</value>
</data>
<data name="cmbNetwork.Items5" xml:space="preserve">
<value>grpc</value>
</data>
<data name="cmbNetwork.Location" type="System.Drawing.Point, System.Drawing">
<value>192, 28</value>
</data>
@@ -514,7 +598,7 @@
<value>groupBox2</value>
</data>
<data name="&gt;&gt;cmbNetwork.ZOrder" xml:space="preserve">
<value>6</value>
<value>7</value>
</data>
<data name="label7.AutoSize" type="System.Boolean, mscorlib">
<value>True</value>
@@ -541,7 +625,7 @@
<value>groupBox2</value>
</data>
<data name="&gt;&gt;label7.ZOrder" xml:space="preserve">
<value>7</value>
<value>8</value>
</data>
<data name="label19.AutoSize" type="System.Boolean, mscorlib">
<value>True</value>
@@ -568,13 +652,13 @@
<value>groupBox2</value>
</data>
<data name="&gt;&gt;label19.ZOrder" xml:space="preserve">
<value>8</value>
<value>9</value>
</data>
<data name="label18.AutoSize" type="System.Boolean, mscorlib">
<value>True</value>
</data>
<data name="label18.Location" type="System.Drawing.Point, System.Drawing">
<value>529, 189</value>
<value>529, 183</value>
</data>
<data name="label18.Size" type="System.Drawing.Size, System.Drawing">
<value>59, 12</value>
@@ -595,7 +679,7 @@
<value>groupBox2</value>
</data>
<data name="&gt;&gt;label18.ZOrder" xml:space="preserve">
<value>9</value>
<value>10</value>
</data>
<data name="label17.AutoSize" type="System.Boolean, mscorlib">
<value>True</value>
@@ -622,13 +706,13 @@
<value>groupBox2</value>
</data>
<data name="&gt;&gt;label17.ZOrder" xml:space="preserve">
<value>10</value>
<value>11</value>
</data>
<data name="label16.AutoSize" type="System.Boolean, mscorlib">
<value>True</value>
</data>
<data name="label16.Location" type="System.Drawing.Point, System.Drawing">
<value>529, 172</value>
<value>529, 169</value>
</data>
<data name="label16.Size" type="System.Drawing.Size, System.Drawing">
<value>59, 12</value>
@@ -649,7 +733,7 @@
<value>groupBox2</value>
</data>
<data name="&gt;&gt;label16.ZOrder" xml:space="preserve">
<value>11</value>
<value>12</value>
</data>
<data name="label14.AutoSize" type="System.Boolean, mscorlib">
<value>True</value>
@@ -676,7 +760,7 @@
<value>groupBox2</value>
</data>
<data name="&gt;&gt;label14.ZOrder" xml:space="preserve">
<value>12</value>
<value>13</value>
</data>
<data name="label15.AutoSize" type="System.Boolean, mscorlib">
<value>True</value>
@@ -703,7 +787,7 @@
<value>groupBox2</value>
</data>
<data name="&gt;&gt;label15.ZOrder" xml:space="preserve">
<value>13</value>
<value>14</value>
</data>
<data name="cmbStreamSecurity.Items" xml:space="preserve">
<value />
@@ -718,7 +802,7 @@
<value>127, 239</value>
</data>
<data name="cmbStreamSecurity.Size" type="System.Drawing.Size, System.Drawing">
<value>143, 20</value>
<value>60, 20</value>
</data>
<data name="cmbStreamSecurity.TabIndex" type="System.Int32, mscorlib">
<value>21</value>
@@ -733,7 +817,7 @@
<value>groupBox2</value>
</data>
<data name="&gt;&gt;cmbStreamSecurity.ZOrder" xml:space="preserve">
<value>14</value>
<value>15</value>
</data>
<data name="label12.AutoSize" type="System.Boolean, mscorlib">
<value>True</value>
@@ -760,7 +844,7 @@
<value>groupBox2</value>
</data>
<data name="&gt;&gt;label12.ZOrder" xml:space="preserve">
<value>15</value>
<value>16</value>
</data>
<data name="txtRequestHost.Location" type="System.Drawing.Point, System.Drawing">
<value>158, 100</value>
@@ -784,7 +868,7 @@
<value>groupBox2</value>
</data>
<data name="&gt;&gt;txtRequestHost.ZOrder" xml:space="preserve">
<value>16</value>
<value>17</value>
</data>
<data name="label11.AutoSize" type="System.Boolean, mscorlib">
<value>True</value>
@@ -811,7 +895,7 @@
<value>groupBox2</value>
</data>
<data name="&gt;&gt;label11.ZOrder" xml:space="preserve">
<value>17</value>
<value>18</value>
</data>
<data name="label10.AutoSize" type="System.Boolean, mscorlib">
<value>True</value>
@@ -838,7 +922,7 @@
<value>groupBox2</value>
</data>
<data name="&gt;&gt;label10.ZOrder" xml:space="preserve">
<value>18</value>
<value>19</value>
</data>
<data name="cmbHeaderType.Items" xml:space="preserve">
<value>none</value>
@@ -880,7 +964,7 @@
<value>groupBox2</value>
</data>
<data name="&gt;&gt;cmbHeaderType.ZOrder" xml:space="preserve">
<value>19</value>
<value>20</value>
</data>
<data name="groupBox2.Dock" type="System.Windows.Forms.DockStyle, System.Windows.Forms">
<value>Bottom</value>

View File

@@ -120,9 +120,6 @@
<data name="btnClose.Text" xml:space="preserve">
<value>取消(&amp;C)</value>
</data>
<data name="groupBox1.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="cmbFlow.Size" type="System.Drawing.Size, System.Drawing">
<value>220, 20</value>
@@ -139,9 +136,6 @@
<data name="label13.Text" xml:space="preserve">
<value>*手填,方便识别管理</value>
</data>
<data name="groupBox2.Text" xml:space="preserve">
<value>底层传输方式(transport)</value>
</data>
<data name="label24.Size" type="System.Drawing.Size, System.Drawing">
<value>149, 12</value>
</data>
@@ -161,7 +155,7 @@
<value>跳过证书验证(allowInsecure)</value>
</data>
<data name="cmbAllowInsecure.Location" type="System.Drawing.Point, System.Drawing">
<value>223, 7</value>
<value>181, 7</value>
</data>
<data name="label9.Location" type="System.Drawing.Point, System.Drawing">
<value>353, 36</value>
@@ -259,6 +253,9 @@
<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>
@@ -304,19 +301,12 @@
<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>确定(&amp;O)</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="MenuItemImportClient.Size" type="System.Drawing.Size, System.Drawing">
<value>171, 22</value>
</data>
@@ -338,6 +328,16 @@
<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>

View File

@@ -31,8 +31,12 @@
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.txtRequestHost = new System.Windows.Forms.TextBox();
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();
@@ -60,8 +64,12 @@
// groupBox1
//
resources.ApplyResources(this.groupBox1, "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.txtRequestHost);
this.groupBox1.Controls.Add(this.txtSNI);
this.groupBox1.Controls.Add(this.label13);
this.groupBox1.Controls.Add(this.txtRemarks);
this.groupBox1.Controls.Add(this.label6);
@@ -74,15 +82,46 @@
this.groupBox1.Name = "groupBox1";
this.groupBox1.TabStop = false;
//
// label21
//
resources.ApplyResources(this.label21, "label21");
this.label21.Name = "label21";
//
// cmbAllowInsecure
//
resources.ApplyResources(this.cmbAllowInsecure, "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")});
this.cmbAllowInsecure.Name = "cmbAllowInsecure";
//
// label15
//
resources.ApplyResources(this.label15, "label15");
this.label15.Name = "label15";
//
// cmbStreamSecurity
//
resources.ApplyResources(this.cmbStreamSecurity, "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")});
this.cmbStreamSecurity.Name = "cmbStreamSecurity";
//
// label4
//
resources.ApplyResources(this.label4, "label4");
this.label4.Name = "label4";
//
// txtRequestHost
// txtSNI
//
resources.ApplyResources(this.txtRequestHost, "txtRequestHost");
this.txtRequestHost.Name = "txtRequestHost";
resources.ApplyResources(this.txtSNI, "txtSNI");
this.txtSNI.Name = "txtSNI";
//
// label13
//
@@ -184,6 +223,10 @@
private System.Windows.Forms.Panel panel2;
private System.Windows.Forms.Label label13;
private System.Windows.Forms.Label label4;
private System.Windows.Forms.TextBox txtRequestHost;
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;
}
}

View File

@@ -35,8 +35,10 @@ namespace v2rayN.Forms
txtAddress.Text = vmessItem.address;
txtPort.Text = vmessItem.port.ToString();
txtId.Text = vmessItem.id;
txtRequestHost.Text = vmessItem.requestHost;
txtSNI.Text = vmessItem.sni;
txtRemarks.Text = vmessItem.remarks;
cmbStreamSecurity.Text = vmessItem.streamSecurity;
cmbAllowInsecure.Text = vmessItem.allowInsecure;
}
@@ -48,8 +50,10 @@ namespace v2rayN.Forms
txtAddress.Text = "";
txtPort.Text = "";
txtId.Text = "";
txtRequestHost.Text = "";
txtRemarks.Text = "";
txtSNI.Text = "";
txtRemarks.Text = "";
cmbStreamSecurity.Text = "tls";
cmbAllowInsecure.Text = "";
}
private void btnOK_Click(object sender, EventArgs e)
@@ -57,8 +61,10 @@ namespace v2rayN.Forms
string address = txtAddress.Text;
string port = txtPort.Text;
string id = txtId.Text;
string requestHost = txtRequestHost.Text;
string sni = txtSNI.Text;
string remarks = txtRemarks.Text;
string streamSecurity = cmbStreamSecurity.Text;
string allowInsecure = cmbAllowInsecure.Text;
if (Utils.IsNullOrEmpty(address))
{
@@ -79,8 +85,10 @@ namespace v2rayN.Forms
vmessItem.address = address;
vmessItem.port = Utils.ToInt(port);
vmessItem.id = id;
vmessItem.requestHost = requestHost.Replace(" ", "");
vmessItem.sni = sni.Replace(" ", "");
vmessItem.remarks = remarks;
vmessItem.streamSecurity = streamSecurity;
vmessItem.allowInsecure = allowInsecure;
if (ConfigHandler.AddTrojanServer(ref config, vmessItem, EditIndex) == 0)
{

View File

@@ -117,107 +117,332 @@
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<data name="&gt;&gt;txtPort.Parent" xml:space="preserve">
<value>groupBox1</value>
<assembly alias="System.Drawing" name="System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
<data name="label13.Size" type="System.Drawing.Size, System.Drawing">
<value>113, 12</value>
</data>
<data name="label1.Text" xml:space="preserve">
<value>Server address</value>
<data name="cmbAllowInsecure.Location" type="System.Drawing.Point, System.Drawing">
<value>312, 185</value>
</data>
<data name="label3.Size" type="System.Drawing.Size, System.Drawing">
<value>53, 12</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 name="label15.AutoSize" type="System.Boolean, mscorlib">
<value>True</value>
</data>
<data name="&gt;&gt;label6.Type" xml:space="preserve">
<value>System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
<data name="&gt;&gt;label6.Name" xml:space="preserve">
<value>label6</value>
</data>
<data name="label6.AutoSize" type="System.Boolean, mscorlib">
<value>True</value>
</data>
<data name="&gt;&gt;txtSNI.Parent" xml:space="preserve">
<value>groupBox1</value>
</data>
<data name="&gt;&gt;panel2.Name" xml:space="preserve">
<value>panel2</value>
</data>
<data name="label4.TabIndex" type="System.Int32, mscorlib">
<value>24</value>
</data>
<data name="txtRemarks.TabIndex" type="System.Int32, mscorlib">
<value>11</value>
</data>
<data name="label21.Text" xml:space="preserve">
<value>allowInsecure</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="label4.ImeMode" type="System.Windows.Forms.ImeMode, System.Windows.Forms">
<value>NoControl</value>
</data>
<data name="&gt;&gt;txtPort.Name" xml:space="preserve">
<value>txtPort</value>
</data>
<data name="label13.AutoSize" type="System.Boolean, mscorlib">
<value>True</value>
</data>
<data name="label6.Text" xml:space="preserve">
<value>Alias (remarks)</value>
</data>
<data name="&gt;&gt;btnOK.Type" xml:space="preserve">
<value>System.Windows.Forms.Button, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
<data name="groupBox1.TabIndex" type="System.Int32, mscorlib">
<value>3</value>
</data>
<data name="&gt;&gt;btnOK.Name" xml:space="preserve">
<value>btnOK</value>
<data name="label3.Text" xml:space="preserve">
<value>Password</value>
</data>
<data name="&gt;&gt;txtRemarks.Name" xml:space="preserve">
<value>txtRemarks</value>
<data name="&gt;&gt;label1.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.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 name="label21.ImeMode" type="System.Windows.Forms.ImeMode, System.Windows.Forms">
<value>NoControl</value>
</data>
<data name="&gt;&gt;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="&gt;&gt;$this.Name" xml:space="preserve">
<value>AddServer6Form</value>
</data>
<data name="&gt;&gt;label1.Name" xml:space="preserve">
<value>label1</value>
</data>
<data name="txtRequestHost.Size" type="System.Drawing.Size, System.Drawing">
<value>359, 21</value>
</data>
<data name="&gt;&gt;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="&gt;&gt;txtRemarks.Parent" xml:space="preserve">
<data name="&gt;&gt;label6.Parent" xml:space="preserve">
<value>groupBox1</value>
</data>
<data name="&gt;&gt;txtRequestHost.Type" xml:space="preserve">
<value>System.Windows.Forms.TextBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
<data name="&gt;&gt;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="&gt;&gt;btnClose.Parent" xml:space="preserve">
<value>panel2</value>
</data>
<data name="label6.Location" type="System.Drawing.Point, System.Drawing">
<value>12, 155</value>
<data name="&gt;&gt;cmbStreamSecurity.Name" xml:space="preserve">
<value>cmbStreamSecurity</value>
</data>
<data name="groupBox1.Dock" type="System.Windows.Forms.DockStyle, System.Windows.Forms">
<value>Fill</value>
</data>
<data name="label3.Size" type="System.Drawing.Size, System.Drawing">
<value>53, 12</value>
<data name="&gt;&gt;label3.Parent" xml:space="preserve">
<value>groupBox1</value>
</data>
<data name="txtRequestHost.Location" type="System.Drawing.Point, System.Drawing">
<value>127, 123</value>
<data name="label4.ImeMode" type="System.Windows.Forms.ImeMode, System.Windows.Forms">
<value>NoControl</value>
</data>
<data name="txtRemarks.Size" type="System.Drawing.Size, System.Drawing">
<value>194, 21</value>
<data name="label1.Size" type="System.Drawing.Size, System.Drawing">
<value>89, 12</value>
</data>
<data name="txtAddress.Location" type="System.Drawing.Point, System.Drawing">
<value>127, 27</value>
</data>
<data name="&gt;&gt;label13.ZOrder" xml:space="preserve">
<value>6</value>
</data>
<data name="$this.Text" xml:space="preserve">
<value>Edit or add a [Trojan] server</value>
</data>
<data name="cmbStreamSecurity.Size" type="System.Drawing.Size, System.Drawing">
<value>60, 20</value>
</data>
<data name="txtId.TabIndex" type="System.Int32, mscorlib">
<value>5</value>
</data>
<data name="&gt;&gt;cmbStreamSecurity.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="&gt;&gt;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="label3.TabIndex" type="System.Int32, mscorlib">
<value>4</value>
</data>
<data name="&gt;&gt;btnClose.ZOrder" xml:space="preserve">
<value>0</value>
</data>
<data name="txtAddress.Size" type="System.Drawing.Size, System.Drawing">
<value>359, 21</value>
</data>
<data name="&gt;&gt;cmbAllowInsecure.ZOrder" xml:space="preserve">
<value>1</value>
</data>
<data name="label21.AutoSize" type="System.Boolean, mscorlib">
<value>True</value>
</data>
<data name="&gt;&gt;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="&gt;&gt;groupBox1.Name" xml:space="preserve">
<value>groupBox1</value>
</data>
<data name="&gt;&gt;label2.ZOrder" xml:space="preserve">
<value>12</value>
</data>
<data name="&gt;&gt;label21.Parent" xml:space="preserve">
<value>groupBox1</value>
</data>
<data name="&gt;&gt;label1.Name" xml:space="preserve">
<value>label1</value>
</data>
<data name="cmbStreamSecurity.TabIndex" type="System.Int32, mscorlib">
<value>25</value>
</data>
<data name="panel1.Location" type="System.Drawing.Point, System.Drawing">
<value>0, 0</value>
</data>
<data name="&gt;&gt;txtRemarks.Parent" xml:space="preserve">
<value>groupBox1</value>
</data>
<data name="label2.AutoSize" type="System.Boolean, mscorlib">
<value>True</value>
</data>
<data name="label13.TabIndex" type="System.Int32, mscorlib">
<value>22</value>
</data>
<data name="btnOK.Size" type="System.Drawing.Size, System.Drawing">
<value>75, 23</value>
</data>
<data name="label3.AutoSize" type="System.Boolean, mscorlib">
<value>True</value>
</data>
<data name="&gt;&gt;txtAddress.ZOrder" xml:space="preserve">
<value>13</value>
</data>
<data name="txtId.Location" type="System.Drawing.Point, System.Drawing">
<value>127, 91</value>
</data>
<data name="&gt;&gt;btnOK.Parent" xml:space="preserve">
<value>panel2</value>
</data>
<data name="&gt;&gt;cmbStreamSecurity.ZOrder" xml:space="preserve">
<value>3</value>
</data>
<data name="btnOK.TabIndex" type="System.Int32, mscorlib">
<value>5</value>
</data>
<data name="&gt;&gt;panel1.ZOrder" xml:space="preserve">
<value>2</value>
</data>
<data name="&gt;&gt;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="&gt;&gt;txtId.Parent" xml:space="preserve">
<value>groupBox1</value>
</data>
<data name="&gt;&gt;label13.Parent" xml:space="preserve">
<value>groupBox1</value>
</data>
<data name="$this.AutoScaleDimensions" type="System.Drawing.SizeF, System.Drawing">
<value>6, 12</value>
<data name="&gt;&gt;cmbAllowInsecure.Name" xml:space="preserve">
<value>cmbAllowInsecure</value>
</data>
<data name="btnClose.Location" type="System.Drawing.Point, System.Drawing">
<value>396, 17</value>
<data name="&gt;&gt;txtId.Name" xml:space="preserve">
<value>txtId</value>
</data>
<data name="label6.AutoSize" type="System.Boolean, mscorlib">
<value>True</value>
<data name="label4.Location" type="System.Drawing.Point, System.Drawing">
<value>12, 156</value>
</data>
<data name="&gt;&gt;label3.Name" xml:space="preserve">
<value>label3</value>
<data name="&gt;&gt;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="txtRemarks.Location" type="System.Drawing.Point, System.Drawing">
<value>127, 154</value>
<data name="&gt;&gt;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="label3.AutoSize" type="System.Boolean, mscorlib">
<value>True</value>
<data name="label1.Location" type="System.Drawing.Point, System.Drawing">
<value>12, 31</value>
</data>
<data name="&gt;&gt;panel2.ZOrder" xml:space="preserve">
<value>1</value>
</data>
<data name="&gt;&gt;btnOK.ZOrder" xml:space="preserve">
<value>1</value>
</data>
<data name="&gt;&gt;$this.Name" xml:space="preserve">
<value>AddServer6Form</value>
</data>
<data name="&gt;&gt;label15.ZOrder" xml:space="preserve">
<value>2</value>
</data>
<data name="&gt;&gt;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="&gt;&gt;txtPort.Parent" xml:space="preserve">
<value>groupBox1</value>
</data>
<data name="&gt;&gt;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="txtPort.Location" type="System.Drawing.Point, System.Drawing">
<value>127, 59</value>
</data>
<data name="cmbAllowInsecure.Size" type="System.Drawing.Size, System.Drawing">
<value>80, 20</value>
</data>
<data name="&gt;&gt;label4.ZOrder" xml:space="preserve">
<value>4</value>
</data>
<data name="&gt;&gt;groupBox1.ZOrder" xml:space="preserve">
<value>0</value>
</data>
<data name="&gt;&gt;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="cmbAllowInsecure.TabIndex" type="System.Int32, mscorlib">
<value>32</value>
</data>
<data name="panel2.Size" type="System.Drawing.Size, System.Drawing">
<value>547, 60</value>
</data>
<data name="&gt;&gt;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="&gt;&gt;groupBox1.Parent" xml:space="preserve">
<value>$this</value>
</data>
<data name="label2.Size" type="System.Drawing.Size, System.Drawing">
<value>71, 12</value>
</data>
<data name="&gt;&gt;panel1.Parent" xml:space="preserve">
<value>$this</value>
</data>
<data name="&gt;&gt;label2.Parent" xml:space="preserve">
<value>groupBox1</value>
</data>
<data name="cmbAllowInsecure.Items" xml:space="preserve">
<value />
</data>
<data name="txtSNI.TabIndex" type="System.Int32, mscorlib">
<value>23</value>
</data>
<data name="&gt;&gt;txtPort.Name" xml:space="preserve">
<value>txtPort</value>
</data>
<data name="&gt;&gt;btnClose.Parent" xml:space="preserve">
<value>panel2</value>
</data>
<data name="&gt;&gt;txtPort.ZOrder" xml:space="preserve">
<value>11</value>
</data>
<data name="panel1.Size" type="System.Drawing.Size, System.Drawing">
<value>547, 10</value>
</data>
<data name="groupBox1.Location" type="System.Drawing.Point, System.Drawing">
<value>0, 10</value>
</data>
<data name="&gt;&gt;txtId.ZOrder" xml:space="preserve">
<value>9</value>
</data>
<data name="label15.TabIndex" type="System.Int32, mscorlib">
<value>26</value>
</data>
<data name="&gt;&gt;label4.Name" xml:space="preserve">
<value>label4</value>
</data>
<data name="btnOK.Text" xml:space="preserve">
<value>&amp;OK</value>
</data>
<data name="&gt;&gt;txtSNI.ZOrder" xml:space="preserve">
<value>5</value>
</data>
<data name="&gt;&gt;label15.Parent" xml:space="preserve">
<value>groupBox1</value>
</data>
<data name="&gt;&gt;btnClose.Name" xml:space="preserve">
<value>btnClose</value>
</data>
<data name="&gt;&gt;txtSNI.Name" xml:space="preserve">
<value>txtSNI</value>
</data>
<data name="label1.TabIndex" type="System.Int32, mscorlib">
<value>0</value>
</data>
<data name="label4.Size" type="System.Drawing.Size, System.Drawing">
<value>23, 12</value>
</data>
<data name="label3.Location" type="System.Drawing.Point, System.Drawing">
<value>12, 93</value>
</data>
<data name="label2.TabIndex" type="System.Int32, mscorlib">
<value>2</value>
</data>
<data name="txtPort.Size" type="System.Drawing.Size, System.Drawing">
<value>194, 21</value>
</data>
<data name="txtRemarks.Size" type="System.Drawing.Size, System.Drawing">
<value>194, 21</value>
</data>
<data name="&gt;&gt;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="cmbAllowInsecure.Items1" xml:space="preserve">
<value>true</value>
</data>
<data name="txtAddress.TabIndex" type="System.Int32, mscorlib">
<value>1</value>
</data>
<data name="&gt;&gt;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="panel1.TabIndex" type="System.Int32, mscorlib">
<value>6</value>
@@ -225,313 +450,208 @@
<data name="panel2.TabIndex" type="System.Int32, mscorlib">
<value>7</value>
</data>
<data name="&gt;&gt;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="&gt;&gt;label1.ZOrder" xml:space="preserve">
<value>10</value>
</data>
<data name="groupBox1.Text" xml:space="preserve">
<value>Server</value>
</data>
<data name="&gt;&gt;txtRemarks.ZOrder" xml:space="preserve">
<value>3</value>
</data>
<data name="&gt;&gt;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="&gt;&gt;txtRequestHost.Name" xml:space="preserve">
<value>txtRequestHost</value>
</data>
<data name="&gt;&gt;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>547, 60</value>
</data>
<data name="&gt;&gt;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="&gt;&gt;txtRequestHost.Parent" xml:space="preserve">
<value>groupBox1</value>
</data>
<data name="txtId.Size" type="System.Drawing.Size, System.Drawing">
<value>359, 21</value>
</data>
<data name="$this.Text" xml:space="preserve">
<value>Edit or add a [Trojan] server</value>
</data>
<data name="txtAddress.Size" type="System.Drawing.Size, System.Drawing">
<value>359, 21</value>
</data>
<data name="&gt;&gt;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="&gt;&gt;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="label4.TabIndex" type="System.Int32, mscorlib">
<value>24</value>
</data>
<data name="&gt;&gt;label4.Name" xml:space="preserve">
<value>label4</value>
</data>
<data name="&gt;&gt;txtId.Name" xml:space="preserve">
<value>txtId</value>
</data>
<data name="btnOK.Location" type="System.Drawing.Point, System.Drawing">
<value>303, 17</value>
</data>
<data name="&gt;&gt;groupBox1.Parent" xml:space="preserve">
<value>$this</value>
</data>
<data name="btnClose.Size" type="System.Drawing.Size, System.Drawing">
<value>75, 23</value>
</data>
<data name="&gt;&gt;btnClose.Name" xml:space="preserve">
<value>btnClose</value>
</data>
<data name="label4.Text" xml:space="preserve">
<value>Host(SNI)</value>
</data>
<data name="&gt;&gt;label6.Name" xml:space="preserve">
<value>label6</value>
</data>
<data name="txtId.TabIndex" type="System.Int32, mscorlib">
<value>5</value>
</data>
<data name="&gt;&gt;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="&gt;&gt;txtRequestHost.ZOrder" xml:space="preserve">
<value>1</value>
</data>
<data name="&gt;&gt;txtAddress.Name" xml:space="preserve">
<value>txtAddress</value>
</data>
<data name="&gt;&gt;label4.Parent" xml:space="preserve">
<value>groupBox1</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="&gt;&gt;label6.ZOrder" xml:space="preserve">
<value>4</value>
</data>
<data name="&gt;&gt;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="&gt;&gt;panel1.ZOrder" xml:space="preserve">
<value>2</value>
</data>
<data name="&gt;&gt;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="&gt;&gt;txtAddress.Parent" xml:space="preserve">
<value>groupBox1</value>
</data>
<data name="&gt;&gt;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="txtRequestHost.TabIndex" type="System.Int32, mscorlib">
<value>23</value>
</data>
<data name="txtPort.Location" type="System.Drawing.Point, System.Drawing">
<value>127, 59</value>
</data>
<data name="&gt;&gt;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="label1.AutoSize" type="System.Boolean, mscorlib">
<value>True</value>
</data>
<data name="label2.AutoSize" type="System.Boolean, mscorlib">
<value>True</value>
</data>
<data name="label1.Size" type="System.Drawing.Size, System.Drawing">
<value>89, 12</value>
</data>
<data name="&gt;&gt;label6.Parent" xml:space="preserve">
<value>groupBox1</value>
</data>
<data name="&gt;&gt;label4.ZOrder" xml:space="preserve">
<value>0</value>
</data>
<data name="panel1.Size" type="System.Drawing.Size, System.Drawing">
<value>547, 10</value>
</data>
<data name="&gt;&gt;label2.ZOrder" xml:space="preserve">
<value>8</value>
</data>
<data name="btnClose.Text" xml:space="preserve">
<value>&amp;Cancel</value>
</data>
<data name="label1.Location" type="System.Drawing.Point, System.Drawing">
<value>12, 31</value>
</data>
<data name="btnOK.Text" xml:space="preserve">
<value>&amp;OK</value>
</data>
<data name="&gt;&gt;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="&gt;&gt;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="label4.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="txtId.Location" type="System.Drawing.Point, System.Drawing">
<value>127, 91</value>
</data>
<data name="label4.Location" type="System.Drawing.Point, System.Drawing">
<value>12, 126</value>
</data>
<data name="&gt;&gt;txtPort.ZOrder" xml:space="preserve">
<value>7</value>
</data>
<data name="&gt;&gt;panel1.Parent" xml:space="preserve">
<value>$this</value>
</data>
<data name="label4.Size" type="System.Drawing.Size, System.Drawing">
<value>59, 12</value>
</data>
<data name="&gt;&gt;btnOK.ZOrder" xml:space="preserve">
<value>1</value>
</data>
<data name="&gt;&gt;txtId.Parent" xml:space="preserve">
<value>groupBox1</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="&gt;&gt;label13.Name" xml:space="preserve">
<value>label13</value>
</data>
<data name="&gt;&gt;txtId.ZOrder" xml:space="preserve">
<value>5</value>
<data name="txtSNI.Size" type="System.Drawing.Size, System.Drawing">
<value>359, 21</value>
</data>
<data name="label6.Size" type="System.Drawing.Size, System.Drawing">
<value>95, 12</value>
<data name="&gt;&gt;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="&gt;&gt;label2.Name" xml:space="preserve">
<value>label2</value>
</data>
<data name="&gt;&gt;label13.ZOrder" xml:space="preserve">
<value>2</value>
</data>
<data name="&gt;&gt;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="&gt;&gt;txtAddress.ZOrder" xml:space="preserve">
<value>9</value>
</data>
<data name="$this.ClientSize" type="System.Drawing.Size, System.Drawing">
<value>547, 291</value>
</data>
<data name="&gt;&gt;groupBox1.ZOrder" xml:space="preserve">
<value>0</value>
<data name="&gt;&gt;label1.Parent" xml:space="preserve">
<value>groupBox1</value>
</data>
<data name="&gt;&gt;$this.Type" xml:space="preserve">
<value>v2rayN.Forms.BaseServerForm, v2rayN, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null</value>
</data>
<data name="&gt;&gt;label3.Parent" xml:space="preserve">
<value>groupBox1</value>
<data name="&gt;&gt;label3.Name" xml:space="preserve">
<value>label3</value>
</data>
<data name="&gt;&gt;panel2.Parent" xml:space="preserve">
<value>$this</value>
<data name="label2.Text" xml:space="preserve">
<value>Server port</value>
</data>
<data name="&gt;&gt;label3.ZOrder" xml:space="preserve">
<value>6</value>
<data name="&gt;&gt;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="&gt;&gt;label1.Type" xml:space="preserve">
<data name="panel1.Dock" type="System.Windows.Forms.DockStyle, System.Windows.Forms">
<value>Top</value>
</data>
<data name="btnClose.Location" type="System.Drawing.Point, System.Drawing">
<value>396, 17</value>
</data>
<data name="&gt;&gt;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="&gt;&gt;panel2.ZOrder" xml:space="preserve">
<value>1</value>
<data name="panel2.Location" type="System.Drawing.Point, System.Drawing">
<value>0, 231</value>
</data>
<data name="&gt;&gt;btnOK.Parent" xml:space="preserve">
<value>panel2</value>
<data name="cmbStreamSecurity.Items" xml:space="preserve">
<value>tls</value>
</data>
<data name="&gt;&gt;panel1.Name" xml:space="preserve">
<value>panel1</value>
<data name="&gt;&gt;txtRemarks.Name" xml:space="preserve">
<value>txtRemarks</value>
</data>
<data name="label21.TabIndex" type="System.Int32, mscorlib">
<value>33</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="btnClose.Text" xml:space="preserve">
<value>&amp;Cancel</value>
</data>
<data name="label13.AutoSize" type="System.Boolean, mscorlib">
<value>True</value>
</data>
<data name="cmbStreamSecurity.Items1" xml:space="preserve">
<value>xtls</value>
</data>
<data name="$this.AutoScaleDimensions" type="System.Drawing.SizeF, System.Drawing">
<value>6, 12</value>
</data>
<data name="&gt;&gt;label21.Name" xml:space="preserve">
<value>label21</value>
</data>
<data name="label1.Text" xml:space="preserve">
<value>Server address</value>
</data>
<data name="cmbAllowInsecure.Items2" xml:space="preserve">
<value>false</value>
</data>
<data name="label15.Text" xml:space="preserve">
<value>TLS</value>
</data>
<data name="label6.Size" type="System.Drawing.Size, System.Drawing">
<value>95, 12</value>
</data>
<data name="&gt;&gt;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="cmbStreamSecurity.Location" type="System.Drawing.Point, System.Drawing">
<value>127, 185</value>
</data>
<data name="&gt;&gt;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>2</value>
<data name="label13.Text" xml:space="preserve">
<value>* Fill in manually</value>
</data>
<data name="&gt;&gt;label1.ZOrder" xml:space="preserve">
<value>14</value>
</data>
<data name="&gt;&gt;label2.Name" xml:space="preserve">
<value>label2</value>
</data>
<data name="&gt;&gt;cmbAllowInsecure.Parent" xml:space="preserve">
<value>groupBox1</value>
</data>
<data name="&gt;&gt;panel1.Name" xml:space="preserve">
<value>panel1</value>
</data>
<data name="label2.Location" type="System.Drawing.Point, System.Drawing">
<value>12, 62</value>
</data>
<data name="$this.ClientSize" type="System.Drawing.Size, System.Drawing">
<value>547, 291</value>
</data>
<data name="&gt;&gt;btnOK.Name" xml:space="preserve">
<value>btnOK</value>
</data>
<data name="&gt;&gt;label21.ZOrder" xml:space="preserve">
<value>0</value>
</data>
<data name="&gt;&gt;panel2.Parent" xml:space="preserve">
<value>$this</value>
</data>
<data name="groupBox1.Size" type="System.Drawing.Size, System.Drawing">
<value>547, 221</value>
</data>
<data name="&gt;&gt;label6.ZOrder" xml:space="preserve">
<value>8</value>
</data>
<data name="btnClose.Size" type="System.Drawing.Size, System.Drawing">
<value>75, 23</value>
</data>
<data name="&gt;&gt;label3.ZOrder" xml:space="preserve">
<value>10</value>
</data>
<data name="&gt;&gt;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="label21.Size" type="System.Drawing.Size, System.Drawing">
<value>83, 12</value>
</data>
<data name="label13.Location" type="System.Drawing.Point, System.Drawing">
<value>337, 125</value>
</data>
<data name="label1.AutoSize" type="System.Boolean, mscorlib">
<value>True</value>
</data>
<data name="btnClose.TabIndex" type="System.Int32, mscorlib">
<value>4</value>
</data>
<data name="&gt;&gt;txtRemarks.ZOrder" xml:space="preserve">
<value>7</value>
</data>
<data name="txtRemarks.Location" type="System.Drawing.Point, System.Drawing">
<value>127, 121</value>
</data>
<data name="txtId.PasswordChar" type="System.Char, mscorlib" xml:space="preserve">
<value>*</value>
</data>
<data name="&gt;&gt;txtAddress.Name" xml:space="preserve">
<value>txtAddress</value>
</data>
<data name="label15.Size" type="System.Drawing.Size, System.Drawing">
<value>23, 12</value>
</data>
<data name="label21.Location" type="System.Drawing.Point, System.Drawing">
<value>224, 189</value>
</data>
<data name="&gt;&gt;txtAddress.Parent" xml:space="preserve">
<value>groupBox1</value>
</data>
<data name="&gt;&gt;label15.Name" xml:space="preserve">
<value>label15</value>
</data>
<data name="&gt;&gt;label4.Parent" xml:space="preserve">
<value>groupBox1</value>
</data>
<data name="groupBox1.Text" xml:space="preserve">
<value>Server</value>
</data>
<data name="txtSNI.Location" type="System.Drawing.Point, System.Drawing">
<value>127, 152</value>
</data>
<data name="label6.TabIndex" type="System.Int32, mscorlib">
<value>10</value>
</data>
<data name="label6.Location" type="System.Drawing.Point, System.Drawing">
<value>12, 125</value>
</data>
<data name="label4.AutoSize" type="System.Boolean, mscorlib">
<value>True</value>
</data>
<data name="label4.Text" xml:space="preserve">
<value>SNI</value>
</data>
<data name="txtId.Size" type="System.Drawing.Size, System.Drawing">
<value>359, 21</value>
</data>
<data name="&gt;&gt;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="txtPort.TabIndex" type="System.Int32, mscorlib">
<value>3</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>

View File

@@ -120,16 +120,29 @@
<data name="btnClose.Text" xml:space="preserve">
<value>取消(&amp;C)</value>
</data>
<data name="groupBox1.Text" xml:space="preserve">
<value>服务器</value>
<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">
<value>167, 12</value>
</data>
<data name="label4.Text" xml:space="preserve">
<value>域名(SNI)</value>
<data name="label21.Text" xml:space="preserve">
<value>跳过证书验证(allowInsecure)</value>
</data>
<data name="cmbAllowInsecure.Location" type="System.Drawing.Point, System.Drawing">
<value>406, 185</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>
<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>
@@ -154,6 +167,9 @@
<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>确定(&amp;O)</value>
</data>

View File

@@ -37,6 +37,8 @@
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();
@@ -78,6 +80,7 @@
this.MenuItemImportServer = new System.Windows.Forms.ToolStripMenuItem();
this.toolStripSeparator1 = new System.Windows.Forms.ToolStripSeparator();
this.MenuItemImportClipboard = new System.Windows.Forms.ToolStripMenuItem();
this.label25 = new System.Windows.Forms.Label();
this.groupBox1.SuspendLayout();
this.groupBox2.SuspendLayout();
this.panTlsMore.SuspendLayout();
@@ -129,6 +132,7 @@
//
// 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);
@@ -165,11 +169,23 @@
//
// 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");
@@ -210,7 +226,8 @@
resources.GetString("cmbNetwork.Items1"),
resources.GetString("cmbNetwork.Items2"),
resources.GetString("cmbNetwork.Items3"),
resources.GetString("cmbNetwork.Items4")});
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);
@@ -427,6 +444,11 @@
resources.ApplyResources(this.MenuItemImportClipboard, "MenuItemImportClipboard");
this.MenuItemImportClipboard.Click += new System.EventHandler(this.MenuItemImportClipboard_Click);
//
// label25
//
resources.ApplyResources(this.label25, "label25");
this.label25.Name = "label25";
//
// AddServerForm
//
resources.ApplyResources(this, "$this");
@@ -504,5 +526,8 @@
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;
}
}

View File

@@ -45,6 +45,7 @@ namespace v2rayN.Forms
txtPath.Text = vmessItem.path;
cmbStreamSecurity.Text = vmessItem.streamSecurity;
cmbAllowInsecure.Text = vmessItem.allowInsecure;
txtSNI.Text = vmessItem.sni;
}
@@ -66,6 +67,7 @@ namespace v2rayN.Forms
cmbStreamSecurity.Text = "";
cmbAllowInsecure.Text = "";
txtPath.Text = "";
txtSNI.Text = "";
}
@@ -122,6 +124,7 @@ namespace v2rayN.Forms
string path = txtPath.Text;
string streamSecurity = cmbStreamSecurity.Text;
string allowInsecure = cmbAllowInsecure.Text;
string sni = txtSNI.Text;
if (Utils.IsNullOrEmpty(address))
{
@@ -157,6 +160,7 @@ namespace v2rayN.Forms
vmessItem.path = path.Replace(" ", "");
vmessItem.streamSecurity = streamSecurity;
vmessItem.allowInsecure = allowInsecure;
vmessItem.sni = sni;
if (ConfigHandler.AddServer(ref config, vmessItem, EditIndex) == 0)
{

View File

@@ -194,15 +194,45 @@
<data name="&gt;&gt;label13.ZOrder" xml:space="preserve">
<value>1</value>
</data>
<data name="label24.AutoSize" type="System.Boolean, mscorlib">
<data name="label25.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="label25.ImeMode" type="System.Windows.Forms.ImeMode, System.Windows.Forms">
<value>NoControl</value>
</data>
<data name="label25.Location" type="System.Drawing.Point, System.Drawing">
<value>529, 211</value>
</data>
<data name="label25.Size" type="System.Drawing.Size, System.Drawing">
<value>113, 12</value>
</data>
<data name="label25.TabIndex" type="System.Int32, mscorlib">
<value>36</value>
</data>
<data name="label25.Text" xml:space="preserve">
<value>4)grpc serviceName</value>
</data>
<data name="&gt;&gt;label25.Name" xml:space="preserve">
<value>label25</value>
</data>
<data name="&gt;&gt;label25.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="&gt;&gt;label25.Parent" xml:space="preserve">
<value>groupBox2</value>
</data>
<data name="&gt;&gt;label25.ZOrder" xml:space="preserve">
<value>0</value>
</data>
<data name="label24.AutoSize" type="System.Boolean, mscorlib">
<value>True</value>
</data>
<data name="label24.ImeMode" type="System.Windows.Forms.ImeMode, System.Windows.Forms">
<value>NoControl</value>
</data>
<data name="label24.Location" type="System.Drawing.Point, System.Drawing">
<value>529, 207</value>
<value>529, 197</value>
</data>
<data name="label24.Size" type="System.Drawing.Size, System.Drawing">
<value>119, 12</value>
@@ -223,7 +253,7 @@
<value>groupBox2</value>
</data>
<data name="&gt;&gt;label24.ZOrder" xml:space="preserve">
<value>0</value>
<value>1</value>
</data>
<data name="label23.AutoSize" type="System.Boolean, mscorlib">
<value>True</value>
@@ -253,6 +283,57 @@
<value>groupBox2</value>
</data>
<data name="&gt;&gt;label23.ZOrder" xml:space="preserve">
<value>2</value>
</data>
<data name="txtSNI.Location" type="System.Drawing.Point, System.Drawing">
<value>300, 7</value>
</data>
<data name="txtSNI.Size" type="System.Drawing.Size, System.Drawing">
<value>200, 21</value>
</data>
<data name="txtSNI.TabIndex" type="System.Int32, mscorlib">
<value>33</value>
</data>
<data name="&gt;&gt;txtSNI.Name" xml:space="preserve">
<value>txtSNI</value>
</data>
<data name="&gt;&gt;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="&gt;&gt;txtSNI.Parent" xml:space="preserve">
<value>panTlsMore</value>
</data>
<data name="&gt;&gt;txtSNI.ZOrder" xml:space="preserve">
<value>0</value>
</data>
<data name="label22.AutoSize" type="System.Boolean, mscorlib">
<value>True</value>
</data>
<data name="label22.ImeMode" type="System.Windows.Forms.ImeMode, System.Windows.Forms">
<value>NoControl</value>
</data>
<data name="label22.Location" type="System.Drawing.Point, System.Drawing">
<value>270, 11</value>
</data>
<data name="label22.Size" type="System.Drawing.Size, System.Drawing">
<value>23, 12</value>
</data>
<data name="label22.TabIndex" type="System.Int32, mscorlib">
<value>32</value>
</data>
<data name="label22.Text" xml:space="preserve">
<value>SNI</value>
</data>
<data name="&gt;&gt;label22.Name" xml:space="preserve">
<value>label22</value>
</data>
<data name="&gt;&gt;label22.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="&gt;&gt;label22.Parent" xml:space="preserve">
<value>panTlsMore</value>
</data>
<data name="&gt;&gt;label22.ZOrder" xml:space="preserve">
<value>1</value>
</data>
<data name="label21.AutoSize" type="System.Boolean, mscorlib">
@@ -280,7 +361,7 @@
<value>panTlsMore</value>
</data>
<data name="&gt;&gt;label21.ZOrder" xml:space="preserve">
<value>0</value>
<value>2</value>
</data>
<data name="cmbAllowInsecure.Items" xml:space="preserve">
<value />
@@ -292,10 +373,10 @@
<value>false</value>
</data>
<data name="cmbAllowInsecure.Location" type="System.Drawing.Point, System.Drawing">
<value>107, 7</value>
<value>100, 7</value>
</data>
<data name="cmbAllowInsecure.Size" type="System.Drawing.Size, System.Drawing">
<value>91, 20</value>
<value>80, 20</value>
</data>
<data name="cmbAllowInsecure.TabIndex" type="System.Int32, mscorlib">
<value>30</value>
@@ -310,13 +391,13 @@
<value>panTlsMore</value>
</data>
<data name="&gt;&gt;cmbAllowInsecure.ZOrder" xml:space="preserve">
<value>1</value>
<value>3</value>
</data>
<data name="panTlsMore.Location" type="System.Drawing.Point, System.Drawing">
<value>284, 234</value>
<value>200, 234</value>
</data>
<data name="panTlsMore.Size" type="System.Drawing.Size, System.Drawing">
<value>338, 35</value>
<value>500, 35</value>
</data>
<data name="panTlsMore.TabIndex" type="System.Int32, mscorlib">
<value>33</value>
@@ -331,7 +412,7 @@
<value>groupBox2</value>
</data>
<data name="&gt;&gt;panTlsMore.ZOrder" xml:space="preserve">
<value>2</value>
<value>3</value>
</data>
<data name="label9.AutoSize" type="System.Boolean, mscorlib">
<value>True</value>
@@ -358,7 +439,7 @@
<value>groupBox2</value>
</data>
<data name="&gt;&gt;label9.ZOrder" xml:space="preserve">
<value>3</value>
<value>4</value>
</data>
<data name="label20.AutoSize" type="System.Boolean, mscorlib">
<value>True</value>
@@ -385,7 +466,7 @@
<value>groupBox2</value>
</data>
<data name="&gt;&gt;label20.ZOrder" xml:space="preserve">
<value>4</value>
<value>5</value>
</data>
<data name="txtPath.Location" type="System.Drawing.Point, System.Drawing">
<value>127, 169</value>
@@ -409,7 +490,7 @@
<value>groupBox2</value>
</data>
<data name="&gt;&gt;txtPath.ZOrder" xml:space="preserve">
<value>5</value>
<value>6</value>
</data>
<data name="cmbNetwork.Items" xml:space="preserve">
<value>tcp</value>
@@ -426,6 +507,9 @@
<data name="cmbNetwork.Items4" xml:space="preserve">
<value>quic</value>
</data>
<data name="cmbNetwork.Items5" xml:space="preserve">
<value>grpc</value>
</data>
<data name="cmbNetwork.Location" type="System.Drawing.Point, System.Drawing">
<value>192, 28</value>
</data>
@@ -445,7 +529,7 @@
<value>groupBox2</value>
</data>
<data name="&gt;&gt;cmbNetwork.ZOrder" xml:space="preserve">
<value>6</value>
<value>7</value>
</data>
<data name="label7.AutoSize" type="System.Boolean, mscorlib">
<value>True</value>
@@ -472,7 +556,7 @@
<value>groupBox2</value>
</data>
<data name="&gt;&gt;label7.ZOrder" xml:space="preserve">
<value>7</value>
<value>8</value>
</data>
<data name="label19.AutoSize" type="System.Boolean, mscorlib">
<value>True</value>
@@ -499,13 +583,13 @@
<value>groupBox2</value>
</data>
<data name="&gt;&gt;label19.ZOrder" xml:space="preserve">
<value>8</value>
<value>9</value>
</data>
<data name="label18.AutoSize" type="System.Boolean, mscorlib">
<value>True</value>
</data>
<data name="label18.Location" type="System.Drawing.Point, System.Drawing">
<value>529, 189</value>
<value>529, 183</value>
</data>
<data name="label18.Size" type="System.Drawing.Size, System.Drawing">
<value>59, 12</value>
@@ -526,7 +610,7 @@
<value>groupBox2</value>
</data>
<data name="&gt;&gt;label18.ZOrder" xml:space="preserve">
<value>9</value>
<value>10</value>
</data>
<data name="label17.AutoSize" type="System.Boolean, mscorlib">
<value>True</value>
@@ -553,13 +637,13 @@
<value>groupBox2</value>
</data>
<data name="&gt;&gt;label17.ZOrder" xml:space="preserve">
<value>10</value>
<value>11</value>
</data>
<data name="label16.AutoSize" type="System.Boolean, mscorlib">
<value>True</value>
</data>
<data name="label16.Location" type="System.Drawing.Point, System.Drawing">
<value>529, 172</value>
<value>529, 169</value>
</data>
<data name="label16.Size" type="System.Drawing.Size, System.Drawing">
<value>59, 12</value>
@@ -580,7 +664,7 @@
<value>groupBox2</value>
</data>
<data name="&gt;&gt;label16.ZOrder" xml:space="preserve">
<value>11</value>
<value>12</value>
</data>
<data name="label14.AutoSize" type="System.Boolean, mscorlib">
<value>True</value>
@@ -607,7 +691,7 @@
<value>groupBox2</value>
</data>
<data name="&gt;&gt;label14.ZOrder" xml:space="preserve">
<value>12</value>
<value>13</value>
</data>
<data name="label15.AutoSize" type="System.Boolean, mscorlib">
<value>True</value>
@@ -634,7 +718,7 @@
<value>groupBox2</value>
</data>
<data name="&gt;&gt;label15.ZOrder" xml:space="preserve">
<value>13</value>
<value>14</value>
</data>
<data name="cmbStreamSecurity.Items" xml:space="preserve">
<value />
@@ -646,7 +730,7 @@
<value>127, 239</value>
</data>
<data name="cmbStreamSecurity.Size" type="System.Drawing.Size, System.Drawing">
<value>143, 20</value>
<value>60, 20</value>
</data>
<data name="cmbStreamSecurity.TabIndex" type="System.Int32, mscorlib">
<value>21</value>
@@ -661,7 +745,7 @@
<value>groupBox2</value>
</data>
<data name="&gt;&gt;cmbStreamSecurity.ZOrder" xml:space="preserve">
<value>14</value>
<value>15</value>
</data>
<data name="label12.AutoSize" type="System.Boolean, mscorlib">
<value>True</value>
@@ -688,7 +772,7 @@
<value>groupBox2</value>
</data>
<data name="&gt;&gt;label12.ZOrder" xml:space="preserve">
<value>15</value>
<value>16</value>
</data>
<data name="txtRequestHost.Location" type="System.Drawing.Point, System.Drawing">
<value>158, 100</value>
@@ -712,7 +796,7 @@
<value>groupBox2</value>
</data>
<data name="&gt;&gt;txtRequestHost.ZOrder" xml:space="preserve">
<value>16</value>
<value>17</value>
</data>
<data name="label11.AutoSize" type="System.Boolean, mscorlib">
<value>True</value>
@@ -739,7 +823,7 @@
<value>groupBox2</value>
</data>
<data name="&gt;&gt;label11.ZOrder" xml:space="preserve">
<value>17</value>
<value>18</value>
</data>
<data name="label10.AutoSize" type="System.Boolean, mscorlib">
<value>True</value>
@@ -766,7 +850,7 @@
<value>groupBox2</value>
</data>
<data name="&gt;&gt;label10.ZOrder" xml:space="preserve">
<value>18</value>
<value>19</value>
</data>
<data name="cmbHeaderType.Items" xml:space="preserve">
<value>none</value>
@@ -808,7 +892,7 @@
<value>groupBox2</value>
</data>
<data name="&gt;&gt;cmbHeaderType.ZOrder" xml:space="preserve">
<value>19</value>
<value>20</value>
</data>
<data name="groupBox2.Dock" type="System.Windows.Forms.DockStyle, System.Windows.Forms">
<value>Bottom</value>
@@ -1318,7 +1402,7 @@
<value>True</value>
</metadata>
<metadata name="$this.TrayHeight" type="System.Int32, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>114</value>
<value>25</value>
</metadata>
<data name="$this.AutoScaleDimensions" type="System.Drawing.SizeF, System.Drawing">
<value>6, 12</value>

View File

@@ -120,18 +120,12 @@
<data name="btnClose.Text" xml:space="preserve">
<value>取消(&amp;C)</value>
</data>
<data name="groupBox1.Text" xml:space="preserve">
<value>服务器</value>
</data>
<data name="btnGUID.Text" xml:space="preserve">
<value>生成(&amp;G)</value>
</data>
<data name="label13.Text" xml:space="preserve">
<value>*手填,方便识别管理</value>
</data>
<data name="groupBox2.Text" xml:space="preserve">
<value>底层传输方式(transport)</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>
@@ -152,7 +146,7 @@
<value>跳过证书验证(allowInsecure)</value>
</data>
<data name="cmbAllowInsecure.Location" type="System.Drawing.Point, System.Drawing">
<value>223, 7</value>
<value>180, 7</value>
</data>
<data name="label9.Location" type="System.Drawing.Point, System.Drawing">
<value>350, 36</value>
@@ -250,6 +244,9 @@
<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.Size" type="System.Drawing.Size, System.Drawing">
<value>113, 12</value>
</data>
@@ -298,15 +295,12 @@
<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>确定(&amp;O)</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="MenuItemImportClient.Size" type="System.Drawing.Size, System.Drawing">
<value>171, 22</value>
</data>
@@ -328,6 +322,12 @@
<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">
<value>编辑或添加[VMess]服务器</value>
</data>

View File

@@ -84,6 +84,11 @@
this.groupBox1 = new System.Windows.Forms.GroupBox();
this.groupBox2 = new System.Windows.Forms.GroupBox();
this.txtMsgBox = new System.Windows.Forms.TextBox();
this.cmsMsgBox = new System.Windows.Forms.ContextMenuStrip(this.components);
this.menuMsgBoxSelectAll = new System.Windows.Forms.ToolStripMenuItem();
this.menuMsgBoxCopy = new System.Windows.Forms.ToolStripMenuItem();
this.menuMsgBoxCopyAll = new System.Windows.Forms.ToolStripMenuItem();
this.menuMsgBoxAddRoutingRule = new System.Windows.Forms.ToolStripMenuItem();
this.ssMain = new System.Windows.Forms.StatusStrip();
this.toolSslSocksPortLab = new System.Windows.Forms.ToolStripStatusLabel();
this.toolSslSocksPort = new System.Windows.Forms.ToolStripStatusLabel();
@@ -130,6 +135,7 @@
this.cmsMain.SuspendLayout();
this.groupBox1.SuspendLayout();
this.groupBox2.SuspendLayout();
this.cmsMsgBox.SuspendLayout();
this.ssMain.SuspendLayout();
this.tsMain.SuspendLayout();
this.SuspendLayout();
@@ -208,6 +214,7 @@
this.menuExport2ShareUrl,
this.menuExport2SubContent});
this.cmsLv.Name = "cmsLv";
this.cmsLv.OwnerItem = this.tsbServer;
//
// menuAddVmessServer
//
@@ -525,9 +532,45 @@
resources.ApplyResources(this.txtMsgBox, "txtMsgBox");
this.txtMsgBox.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(41)))), ((int)(((byte)(49)))), ((int)(((byte)(52)))));
this.txtMsgBox.BorderStyle = System.Windows.Forms.BorderStyle.None;
this.txtMsgBox.ContextMenuStrip = this.cmsMsgBox;
this.txtMsgBox.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(224)))), ((int)(((byte)(226)))), ((int)(((byte)(228)))));
this.txtMsgBox.Name = "txtMsgBox";
this.txtMsgBox.ReadOnly = true;
this.txtMsgBox.KeyDown += new System.Windows.Forms.KeyEventHandler(this.txtMsgBox_KeyDown);
//
// cmsMsgBox
//
resources.ApplyResources(this.cmsMsgBox, "cmsMsgBox");
this.cmsMsgBox.Items.AddRange(new System.Windows.Forms.ToolStripItem[] {
this.menuMsgBoxSelectAll,
this.menuMsgBoxCopy,
this.menuMsgBoxCopyAll,
this.menuMsgBoxAddRoutingRule});
this.cmsMsgBox.Name = "cmsMsgBox";
//
// menuMsgBoxSelectAll
//
resources.ApplyResources(this.menuMsgBoxSelectAll, "menuMsgBoxSelectAll");
this.menuMsgBoxSelectAll.Name = "menuMsgBoxSelectAll";
this.menuMsgBoxSelectAll.Click += new System.EventHandler(this.menuMsgBoxSelectAll_Click);
//
// menuMsgBoxCopy
//
resources.ApplyResources(this.menuMsgBoxCopy, "menuMsgBoxCopy");
this.menuMsgBoxCopy.Name = "menuMsgBoxCopy";
this.menuMsgBoxCopy.Click += new System.EventHandler(this.menuMsgBoxCopy_Click);
//
// menuMsgBoxCopyAll
//
resources.ApplyResources(this.menuMsgBoxCopyAll, "menuMsgBoxCopyAll");
this.menuMsgBoxCopyAll.Name = "menuMsgBoxCopyAll";
this.menuMsgBoxCopyAll.Click += new System.EventHandler(this.menuMsgBoxCopyAll_Click);
//
// menuMsgBoxAddRoutingRule
//
resources.ApplyResources(this.menuMsgBoxAddRoutingRule, "menuMsgBoxAddRoutingRule");
this.menuMsgBoxAddRoutingRule.Name = "menuMsgBoxAddRoutingRule";
this.menuMsgBoxAddRoutingRule.Click += new System.EventHandler(this.menuMsgBoxAddRoutingRule_Click);
//
// ssMain
//
@@ -818,6 +861,7 @@
this.groupBox1.ResumeLayout(false);
this.groupBox2.ResumeLayout(false);
this.groupBox2.PerformLayout();
this.cmsMsgBox.ResumeLayout(false);
this.ssMain.ResumeLayout(false);
this.ssMain.PerformLayout();
this.tsMain.ResumeLayout(false);
@@ -921,6 +965,11 @@
private System.Windows.Forms.ToolStripMenuItem menuClearServerStatistics;
private System.Windows.Forms.ToolStripMenuItem menuRoutings;
private System.Windows.Forms.ToolStripSeparator toolStripSeparator13;
private System.Windows.Forms.ContextMenuStrip cmsMsgBox;
private System.Windows.Forms.ToolStripMenuItem menuMsgBoxSelectAll;
private System.Windows.Forms.ToolStripMenuItem menuMsgBoxCopy;
private System.Windows.Forms.ToolStripMenuItem menuMsgBoxAddRoutingRule;
private System.Windows.Forms.ToolStripMenuItem menuMsgBoxCopyAll;
}
}

View File

@@ -1272,7 +1272,7 @@ namespace v2rayN.Forms
{
if (args.Success)
{
AppendText(false, string.Format(UIRes.I18N("MsgParsingSuccessfully"), "v2rayCore"));
AppendText(false, string.Format(UIRes.I18N("MsgParsingSuccessfully"), "Core"));
string url = args.Msg;
this.Invoke((MethodInvoker)(delegate
@@ -1323,7 +1323,7 @@ namespace v2rayN.Forms
};
}
AppendText(false, string.Format(UIRes.I18N("MsgStartUpdating"), "v2rayCore"));
AppendText(false, string.Format(UIRes.I18N("MsgStartUpdating"), "Core"));
downloadHandle.CheckUpdateAsync(type);
}
#endregion
@@ -1398,68 +1398,15 @@ namespace v2rayN.Forms
/// </summary>
private void UpdateSubscriptionProcess()
{
AppendText(false, UIRes.I18N("MsgUpdateSubscriptionStart"));
if (config.subItem == null || config.subItem.Count <= 0)
void _updateUI(bool refresh, string msg)
{
AppendText(false, UIRes.I18N("MsgNoValidSubscription"));
return;
}
for (int k = 1; k <= config.subItem.Count; k++)
{
string id = config.subItem[k - 1].id.TrimEx();
string url = config.subItem[k - 1].url.TrimEx();
string hashCode = $"{k}->";
if (config.subItem[k - 1].enabled == false)
AppendText(false, msg);
if (refresh)
{
continue;
RefreshServers();
}
if (Utils.IsNullOrEmpty(id) || Utils.IsNullOrEmpty(url))
{
AppendText(false, $"{hashCode}{UIRes.I18N("MsgNoValidSubscription")}");
continue;
}
DownloadHandle downloadHandle3 = new DownloadHandle();
downloadHandle3.UpdateCompleted += (sender2, args) =>
{
if (args.Success)
{
AppendText(false, $"{hashCode}{UIRes.I18N("MsgGetSubscriptionSuccessfully")}");
string result = Utils.Base64Decode(args.Msg);
if (Utils.IsNullOrEmpty(result))
{
AppendText(false, $"{hashCode}{UIRes.I18N("MsgSubscriptionDecodingFailed")}");
return;
}
ConfigHandler.RemoveServerViaSubid(ref config, id);
AppendText(false, $"{hashCode}{UIRes.I18N("MsgClearSubscription")}");
RefreshServers();
int ret = MainFormHandler.Instance.AddBatchServers(config, result, id);
if (ret > 0)
{
}
else
{
AppendText(false, $"{hashCode}{UIRes.I18N("MsgFailedImportSubscription")}");
}
AppendText(false, $"{hashCode}{UIRes.I18N("MsgUpdateSubscriptionEnd")}");
}
else
{
AppendText(false, args.Msg);
}
};
downloadHandle3.Error += (sender2, args) =>
{
AppendText(true, args.GetException().Message);
};
downloadHandle3.WebDownloadString(url);
AppendText(false, $"{hashCode}{UIRes.I18N("MsgStartGettingSubscriptions")}");
}
};
MainFormHandler.Instance.UpdateSubscriptionProcess(config, _updateUI);
}
private void tsbQRCodeSwitch_CheckedChanged(object sender, EventArgs e)
@@ -1500,12 +1447,22 @@ namespace v2rayN.Forms
/// </summary>
private void RefreshRoutingsMenu()
{
menuRoutings.Visible = config.enableRoutingAdvanced;
if (!config.enableRoutingAdvanced)
{
return;
}
menuRoutings.DropDownItems.Clear();
List<ToolStripMenuItem> lst = new List<ToolStripMenuItem>();
for (int k = 0; k < config.routings.Count; k++)
{
var item = config.routings[k];
if (item.locked == true)
{
continue;
}
string name = item.remarks;
ToolStripMenuItem ts = new ToolStripMenuItem(name)
@@ -1541,5 +1498,52 @@ namespace v2rayN.Forms
}
#endregion
#region MsgBoxMenu
private void menuMsgBoxSelectAll_Click(object sender, EventArgs e)
{
this.txtMsgBox.Focus();
this.txtMsgBox.SelectAll();
}
private void menuMsgBoxCopy_Click(object sender, EventArgs e)
{
var data = this.txtMsgBox.SelectedText.TrimEx();
Utils.SetClipboardData(data);
}
private void menuMsgBoxCopyAll_Click(object sender, EventArgs e)
{
var data = this.txtMsgBox.Text;
Utils.SetClipboardData(data);
}
private void menuMsgBoxAddRoutingRule_Click(object sender, EventArgs e)
{
menuMsgBoxCopy_Click(null, null);
tsbRoutingSetting_Click(null, null);
}
private void txtMsgBox_KeyDown(object sender, KeyEventArgs e)
{
if (e.Control)
{
switch (e.KeyCode)
{
case Keys.A:
menuMsgBoxSelectAll_Click(null, null);
break;
case Keys.C:
menuMsgBoxCopy_Click(null, null);
break;
case Keys.V:
menuMsgBoxAddRoutingRule_Click(null, null);
break;
}
}
}
#endregion
}
}

View File

@@ -140,7 +140,7 @@
<value>Add [VLESS] server</value>
</data>
<data name="&gt;&gt;groupBox1.ZOrder" xml:space="preserve">
<value>2</value>
<value>3</value>
</data>
<data name="&gt;&gt;menuKeepNothing.Type" xml:space="preserve">
<value>System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
@@ -176,6 +176,9 @@
<data name="&gt;&gt;toolSslBlank1.Type" xml:space="preserve">
<value>System.Windows.Forms.ToolStripStatusLabel, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="menuMsgBoxAddRoutingRule.Size" type="System.Drawing.Size, System.Drawing">
<value>227, 22</value>
</data>
<data name="tsbLanguageZhHans.Text" xml:space="preserve">
<value>语言-[中文简体]</value>
</data>
@@ -201,6 +204,9 @@
<data name="menuAddTrojanServer.Size" type="System.Drawing.Size, System.Drawing">
<value>355, 22</value>
</data>
<data name="&gt;&gt;menuMoveDown.Name" xml:space="preserve">
<value>menuMoveDown</value>
</data>
<data name="tsbSub.Size" type="System.Drawing.Size, System.Drawing">
<value>99, 53</value>
</data>
@@ -264,8 +270,8 @@
<data name="tsbQRCodeSwitch.Text" xml:space="preserve">
<value>Share</value>
</data>
<data name="tsbSub.Text" xml:space="preserve">
<value>Subscriptions</value>
<data name="menuMsgBoxCopy.Size" type="System.Drawing.Size, System.Drawing">
<value>227, 22</value>
</data>
<data name="groupBox1.Size" type="System.Drawing.Size, System.Drawing">
<value>952, 327</value>
@@ -273,6 +279,9 @@
<data name="&gt;&gt;tsbCheckUpdateXrayCore.Type" xml:space="preserve">
<value>System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="menuMsgBoxAddRoutingRule.Text" xml:space="preserve">
<value>Add Routing Rule (Ctrl+V)</value>
</data>
<data name="menuMoveTop.Size" type="System.Drawing.Size, System.Drawing">
<value>355, 22</value>
</data>
@@ -288,9 +297,15 @@
<data name="&gt;&gt;tsbPromotion.Type" xml:space="preserve">
<value>System.Windows.Forms.ToolStripButton, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="menuMsgBoxCopyAll.Text" xml:space="preserve">
<value>Copy All</value>
</data>
<data name="&gt;&gt;menuAddVmessServer.Type" xml:space="preserve">
<value>System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="menuMsgBoxSelectAll.Size" type="System.Drawing.Size, System.Drawing">
<value>227, 22</value>
</data>
<data name="menuExport2ServerConfig.Text" xml:space="preserve">
<value>Export selected server for server configuration</value>
</data>
@@ -321,9 +336,6 @@
<data name="&gt;&gt;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, 622</value>
</data>
<data name="&gt;&gt;menuExit.Type" xml:space="preserve">
<value>System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
@@ -345,6 +357,9 @@
<data name="tsbCheckUpdateN.Size" type="System.Drawing.Size, System.Drawing">
<value>203, 22</value>
</data>
<data name="&gt;&gt;menuMsgBoxCopy.Name" xml:space="preserve">
<value>menuMsgBoxCopy</value>
</data>
<data name="&gt;&gt;menuRemoveDuplicateServer.Type" xml:space="preserve">
<value>System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
@@ -387,7 +402,7 @@
<value>Servers</value>
</data>
<data name="&gt;&gt;groupBox2.ZOrder" xml:space="preserve">
<value>3</value>
<value>4</value>
</data>
<data name="txtMsgBox.Location" type="System.Drawing.Point, System.Drawing">
<value>3, 17</value>
@@ -416,8 +431,8 @@
<data name="&gt;&gt;menuAddCustomServer.Name" xml:space="preserve">
<value>menuAddCustomServer</value>
</data>
<data name="&gt;&gt;menuMoveDown.Name" xml:space="preserve">
<value>menuMoveDown</value>
<data name="&gt;&gt;txtMsgBox.Name" xml:space="preserve">
<value>txtMsgBox</value>
</data>
<data name="&gt;&gt;menuExport2ServerConfig.Type" xml:space="preserve">
<value>System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
@@ -425,8 +440,8 @@
<data name="menuAddServers2.Text" xml:space="preserve">
<value>Import bulk URL from clipboard</value>
</data>
<data name="&gt;&gt;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="toolStripSeparator12.Size" type="System.Drawing.Size, System.Drawing">
<value>184, 6</value>
</data>
<data name="menuMoveBottom.Text" xml:space="preserve">
<value>Move to bottom (B)</value>
@@ -633,7 +648,7 @@
<value>System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;panel1.ZOrder" xml:space="preserve">
<value>4</value>
<value>5</value>
</data>
<data name="&gt;&gt;scMain.Panel1.Type" xml:space="preserve">
<value>System.Windows.Forms.SplitterPanel, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
@@ -656,6 +671,9 @@
<data name="tsbHelp.Text" xml:space="preserve">
<value>Help</value>
</data>
<data name="&gt;&gt;menuMsgBoxSelectAll.Name" xml:space="preserve">
<value>menuMsgBoxSelectAll</value>
</data>
<data name="&gt;&gt;menuSelectAll.Name" xml:space="preserve">
<value>menuSelectAll</value>
</data>
@@ -695,6 +713,9 @@
<data name="&gt;&gt;menuRemoveDuplicateServer.Name" xml:space="preserve">
<value>menuRemoveDuplicateServer</value>
</data>
<data name="&gt;&gt;menuMsgBoxCopyAll.Type" xml:space="preserve">
<value>System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="tsbReload.ImageAlign" type="System.Drawing.ContentAlignment, System.Drawing">
<value>BottomCenter</value>
</data>
@@ -729,10 +750,10 @@
<value>0, 66</value>
</data>
<data name="&gt;&gt;tsMain.ZOrder" xml:space="preserve">
<value>5</value>
<value>6</value>
</data>
<data name="&gt;&gt;tsbV2rayWebsite.Name" xml:space="preserve">
<value>tsbV2rayWebsite</value>
<data name="&gt;&gt;menuMsgBoxSelectAll.Type" xml:space="preserve">
<value>System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="menuServers.Text" xml:space="preserve">
<value>Server</value>
@@ -743,9 +764,6 @@
<data name="&gt;&gt;menuAddShadowsocksServer.Name" xml:space="preserve">
<value>menuAddShadowsocksServer</value>
</data>
<data name="&gt;&gt;txtMsgBox.Name" xml:space="preserve">
<value>txtMsgBox</value>
</data>
<data name="&gt;&gt;toolSslBlank4.Name" xml:space="preserve">
<value>toolSslBlank4</value>
</data>
@@ -800,6 +818,9 @@
<data name="toolStripSeparator1.Size" type="System.Drawing.Size, System.Drawing">
<value>352, 6</value>
</data>
<data name="&gt;&gt;cmsMsgBox.Type" xml:space="preserve">
<value>System.Windows.Forms.ContextMenuStrip, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;toolSslSocksPortLab.Type" xml:space="preserve">
<value>System.Windows.Forms.ToolStripStatusLabel, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
@@ -812,6 +833,12 @@
<data name="&gt;&gt;scMain.Panel2.ZOrder" xml:space="preserve">
<value>1</value>
</data>
<data name="&gt;&gt;tsbV2rayWebsite.Name" xml:space="preserve">
<value>tsbV2rayWebsite</value>
</data>
<data name="&gt;&gt;cmsMsgBox.Name" xml:space="preserve">
<value>cmsMsgBox</value>
</data>
<data name="&gt;&gt;scMain.Panel2.Type" xml:space="preserve">
<value>System.Windows.Forms.SplitterPanel, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
@@ -821,8 +848,8 @@
<data name="&gt;&gt;menuMoveTop.Name" xml:space="preserve">
<value>menuMoveTop</value>
</data>
<data name="&gt;&gt;tsbCheckUpdateCore.Name" xml:space="preserve">
<value>tsbCheckUpdateCore</value>
<data name="menuMsgBoxCopy.Text" xml:space="preserve">
<value>Copy (Ctrl+C)</value>
</data>
<data name="lvServers.Items" mimetype="application/x-microsoft.net.object.binary.base64">
<value>
@@ -841,6 +868,9 @@
ZW0uRHJhd2luZy5HcmFwaGljc1VuaXQBAAAAB3ZhbHVlX18ACAMAAAADAAAACw==
</value>
</data>
<data name="&gt;&gt;menuMsgBoxAddRoutingRule.Name" xml:space="preserve">
<value>menuMsgBoxAddRoutingRule</value>
</data>
<data name="&gt;&gt;menuScanScreen.Name" xml:space="preserve">
<value>menuScanScreen</value>
</data>
@@ -928,6 +958,9 @@
<data name="&gt;&gt;toolSslHttpPort.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="tsbSub.Text" xml:space="preserve">
<value>Subscriptions</value>
</data>
<data name="&gt;&gt;tsbQRCodeSwitch.Name" xml:space="preserve">
<value>tsbQRCodeSwitch</value>
</data>
@@ -958,6 +991,9 @@
<data name="&gt;&gt;toolStripSeparator8.Name" xml:space="preserve">
<value>toolStripSeparator8</value>
</data>
<data name="&gt;&gt;menuMsgBoxCopyAll.Name" xml:space="preserve">
<value>menuMsgBoxCopyAll</value>
</data>
<data name="tsbPromotion.Size" type="System.Drawing.Size, System.Drawing">
<value>89, 53</value>
</data>
@@ -1027,6 +1063,9 @@
<data name="&gt;&gt;menuExit.Name" xml:space="preserve">
<value>menuExit</value>
</data>
<data name="menuMsgBoxCopyAll.Size" type="System.Drawing.Size, System.Drawing">
<value>227, 22</value>
</data>
<data name="&gt;&gt;menuAddTrojanServer.Type" xml:space="preserve">
<value>System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
@@ -1057,6 +1096,9 @@
<data name="panel1.TabIndex" type="System.Int32, mscorlib">
<value>2</value>
</data>
<data name="tsbClose.ImageTransparentColor" type="System.Drawing.Color, System.Drawing">
<value>Magenta</value>
</data>
<data name="qrCodeControl.Margin" type="System.Windows.Forms.Padding, System.Windows.Forms">
<value>4, 4, 4, 4</value>
</data>
@@ -1090,6 +1132,9 @@
<data name="&gt;&gt;tsbClose.Type" xml:space="preserve">
<value>System.Windows.Forms.ToolStripButton, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;tsbCheckUpdateCore.Name" xml:space="preserve">
<value>tsbCheckUpdateCore</value>
</data>
<data name="&gt;&gt;menuSpeedServer.Name" xml:space="preserve">
<value>menuSpeedServer</value>
</data>
@@ -1150,6 +1195,9 @@
<data name="tsMain.Location" type="System.Drawing.Point, System.Drawing">
<value>0, 0</value>
</data>
<data name="&gt;&gt;menuMsgBoxCopy.Type" xml:space="preserve">
<value>System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="menuAddSocksServer.Size" type="System.Drawing.Size, System.Drawing">
<value>355, 22</value>
</data>
@@ -1189,6 +1237,9 @@
<data name="&gt;&gt;tsMain.Type" xml:space="preserve">
<value>System.Windows.Forms.ToolStrip, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;menuMsgBoxAddRoutingRule.Type" xml:space="preserve">
<value>System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;panel1.Parent" xml:space="preserve">
<value>$this</value>
</data>
@@ -1231,8 +1282,8 @@
<data name="tsbCheckUpdateCore.Size" type="System.Drawing.Size, System.Drawing">
<value>203, 22</value>
</data>
<data name="toolStripSeparator12.Size" type="System.Drawing.Size, System.Drawing">
<value>184, 6</value>
<data name="cmsLv.Size" type="System.Drawing.Size, System.Drawing">
<value>356, 622</value>
</data>
<data name="lvServers.Location" type="System.Drawing.Point, System.Drawing">
<value>0, 0</value>
@@ -1255,6 +1306,9 @@
<data name="toolSslServerSpeed.TextAlign" type="System.Drawing.ContentAlignment, System.Drawing">
<value>MiddleRight</value>
</data>
<data name="menuMsgBoxSelectAll.Text" xml:space="preserve">
<value>Select All (Ctrl+A)</value>
</data>
<data name="&gt;&gt;tsbOptionSetting.Name" xml:space="preserve">
<value>tsbOptionSetting</value>
</data>
@@ -1273,8 +1327,8 @@
<data name="tsbServer.Size" type="System.Drawing.Size, System.Drawing">
<value>64, 53</value>
</data>
<data name="tsbClose.ImageTransparentColor" type="System.Drawing.Color, System.Drawing">
<value>Magenta</value>
<data name="cmsMsgBox.Size" type="System.Drawing.Size, System.Drawing">
<value>228, 92</value>
</data>
<data name="ssMain.Size" type="System.Drawing.Size, System.Drawing">
<value>946, 26</value>
@@ -1354,6 +1408,9 @@
<data name="&gt;&gt;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="&gt;&gt;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>
@@ -1451,8 +1508,8 @@
<data name="&gt;&gt;ssMain.Type" xml:space="preserve">
<value>System.Windows.Forms.StatusStrip, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<metadata name="ssMain.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>228, 18</value>
<metadata name="cmsMsgBox.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>603, 17</value>
</metadata>
<metadata name="$this.Language" type="System.Globalization.CultureInfo, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>zh-Hans</value>
@@ -1460,6 +1517,9 @@
<metadata name="$this.Localizable" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="ssMain.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>228, 18</value>
</metadata>
<metadata name="$this.TrayHeight" type="System.Int32, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>65</value>
</metadata>

View File

@@ -292,6 +292,12 @@
<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, 622</value>
</data>
@@ -312,12 +318,6 @@
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="menuKeepClear.Size" type="System.Drawing.Size, System.Drawing">
<value>172, 22</value>
</data>
@@ -385,11 +385,38 @@
<value>退出</value>
</data>
<data name="cmsMain.Size" type="System.Drawing.Size, System.Drawing">
<value>196, 192</value>
<value>196, 170</value>
</data>
<data name="groupBox1.Text" xml:space="preserve">
<value>服务器列表</value>
</data>
<data name="menuMsgBoxSelectAll.Size" type="System.Drawing.Size, System.Drawing">
<value>221, 22</value>
</data>
<data name="menuMsgBoxSelectAll.Text" xml:space="preserve">
<value>全选 (Ctrl+A)</value>
</data>
<data name="menuMsgBoxCopy.Size" type="System.Drawing.Size, System.Drawing">
<value>221, 22</value>
</data>
<data name="menuMsgBoxCopy.Text" xml:space="preserve">
<value>复制 (Ctrl+C)</value>
</data>
<data name="menuMsgBoxCopyAll.Size" type="System.Drawing.Size, System.Drawing">
<value>221, 22</value>
</data>
<data name="menuMsgBoxCopyAll.Text" xml:space="preserve">
<value>复制所有</value>
</data>
<data name="menuMsgBoxAddRoutingRule.Size" type="System.Drawing.Size, System.Drawing">
<value>221, 22</value>
</data>
<data name="menuMsgBoxAddRoutingRule.Text" xml:space="preserve">
<value>快速添加路由规则 (Ctrl+V)</value>
</data>
<data name="cmsMsgBox.Size" type="System.Drawing.Size, System.Drawing">
<value>222, 114</value>
</data>
<data name="toolSslServerSpeed.Text" xml:space="preserve">
<value>网速显示未启用</value>
</data>
@@ -397,13 +424,13 @@
<value>信息</value>
</data>
<data name="tsbSubSetting.Size" type="System.Drawing.Size, System.Drawing">
<value>180, 22</value>
<value>124, 22</value>
</data>
<data name="tsbSubSetting.Text" xml:space="preserve">
<value>订阅设置</value>
</data>
<data name="tsbSubUpdate.Size" type="System.Drawing.Size, System.Drawing">
<value>180, 22</value>
<value>124, 22</value>
</data>
<data name="tsbSubUpdate.Text" xml:space="preserve">
<value>更新订阅</value>

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,170 @@
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;
}
}

View File

@@ -0,0 +1,73 @@
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;
}
}
}

View File

@@ -0,0 +1,462 @@
<?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="&gt;&gt;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="&gt;&gt;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="&gt;&gt;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="&gt;&gt;btnOK.Name" xml:space="preserve">
<value>btnOK</value>
</data>
<data name="&gt;&gt;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="&gt;&gt;$this.Name" xml:space="preserve">
<value>RoutingRuleQuicklyAddForm</value>
</data>
<data name="&gt;&gt;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="&gt;&gt;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="&gt;&gt;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="&gt;&gt;panel1.Name" xml:space="preserve">
<value>panel1</value>
</data>
<data name="groupBox1.Text" xml:space="preserve">
<value>Domain</value>
</data>
<data name="&gt;&gt;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="&gt;&gt;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="&gt;&gt;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="&gt;&gt;panel3.Name" xml:space="preserve">
<value>panel3</value>
</data>
<data name="cmbOutboundTag.TabIndex" type="System.Int32, mscorlib">
<value>31</value>
</data>
<data name="&gt;&gt;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="&gt;&gt;txtDomain.Name" xml:space="preserve">
<value>txtDomain</value>
</data>
<data name="&gt;&gt;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="&gt;&gt;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="&gt;&gt;label4.Name" xml:space="preserve">
<value>label4</value>
</data>
<data name="label4.Text" xml:space="preserve">
<value>outboundTag</value>
</data>
<data name="&gt;&gt;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="&gt;&gt;groupBox1.ZOrder" xml:space="preserve">
<value>1</value>
</data>
<data name="&gt;&gt;panel3.ZOrder" xml:space="preserve">
<value>2</value>
</data>
<data name="&gt;&gt;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="&gt;&gt;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="&gt;&gt;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="&gt;&gt;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>&amp;OK</value>
</data>
<data name="&gt;&gt;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="&gt;&gt;cmbOutboundTag.Name" xml:space="preserve">
<value>cmbOutboundTag</value>
</data>
<data name="&gt;&gt;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="&gt;&gt;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="&gt;&gt;label4.ZOrder" xml:space="preserve">
<value>0</value>
</data>
<data name="&gt;&gt;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>&amp;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="&gt;&gt;btnClose.ZOrder" xml:space="preserve">
<value>0</value>
</data>
<data name="&gt;&gt;btnOK.ZOrder" xml:space="preserve">
<value>1</value>
</data>
<data name="label4.AutoSize" type="System.Boolean, mscorlib">
<value>True</value>
</data>
<data name="&gt;&gt;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="&gt;&gt;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="&gt;&gt;groupBox1.Parent" xml:space="preserve">
<value>panel2</value>
</data>
<data name="&gt;&gt;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="&gt;&gt;btnOK.Parent" xml:space="preserve">
<value>panel4</value>
</data>
<data name="&gt;&gt;panel3.Parent" xml:space="preserve">
<value>$this</value>
</data>
<data name="&gt;&gt;groupBox1.Name" xml:space="preserve">
<value>groupBox1</value>
</data>
<data name="&gt;&gt;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="&gt;&gt;txtDomain.ZOrder" xml:space="preserve">
<value>0</value>
</data>
<data name="&gt;&gt;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="&gt;&gt;$this.Type" xml:space="preserve">
<value>v2rayN.Forms.BaseForm, v2rayN, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null</value>
</data>
<data name="&gt;&gt;groupBox2.ZOrder" xml:space="preserve">
<value>0</value>
</data>
<data name="&gt;&gt;groupBox2.Parent" xml:space="preserve">
<value>panel2</value>
</data>
<data name="&gt;&gt;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="&gt;&gt;panel2.ZOrder" xml:space="preserve">
<value>0</value>
</data>
<data name="&gt;&gt;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>

View File

@@ -0,0 +1,132 @@
<?xml version="1.0" encoding="utf-8"?>
<root>
<!--
Microsoft ResX Schema
Version 2.0
The primary goals of this format is to allow a simple XML format
that is mostly human readable. The generation and parsing of the
various data types are done through the TypeConverter classes
associated with the data types.
Example:
... ado.net/XML headers & schema ...
<resheader name="resmimetype">text/microsoft-resx</resheader>
<resheader name="version">2.0</resheader>
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
<value>[base64 mime encoded serialized .NET Framework object]</value>
</data>
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
<comment>This is a comment</comment>
</data>
There are any number of "resheader" rows that contain simple
name/value pairs.
Each data row contains a name, and value. The row also contains a
type or mimetype. Type corresponds to a .NET class that support
text/value conversion through the TypeConverter architecture.
Classes that don't support this are serialized and stored with the
mimetype set.
The mimetype is used for serialized objects, and tells the
ResXResourceReader how to depersist the object. This is currently not
extensible. For a given mimetype the value must be set accordingly:
Note - application/x-microsoft.net.object.binary.base64 is the format
that the ResXResourceWriter will generate, however the reader can
read any of the formats listed below.
mimetype: application/x-microsoft.net.object.binary.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.soap.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.bytearray.base64
value : The object must be serialized into a byte array
: using a System.ComponentModel.TypeConverter
: and then encoded with base64 encoding.
-->
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
<xsd:element name="root" msdata:IsDataSet="true">
<xsd:complexType>
<xsd:choice maxOccurs="unbounded">
<xsd:element name="metadata">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" />
</xsd:sequence>
<xsd:attribute name="name" use="required" type="xsd:string" />
<xsd:attribute name="type" type="xsd:string" />
<xsd:attribute name="mimetype" type="xsd:string" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="assembly">
<xsd:complexType>
<xsd:attribute name="alias" type="xsd:string" />
<xsd:attribute name="name" type="xsd:string" />
</xsd:complexType>
</xsd:element>
<xsd:element name="data">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="resheader">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" />
</xsd:complexType>
</xsd:element>
</xsd:choice>
</xsd:complexType>
</xsd:element>
</xsd:schema>
<resheader name="resmimetype">
<value>text/microsoft-resx</value>
</resheader>
<resheader name="version">
<value>2.0</value>
</resheader>
<resheader name="reader">
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<data name="label4.Text" xml:space="preserve">
<value>OutboundTag</value>
</data>
<data name="btnClose.Text" xml:space="preserve">
<value>取消(&amp;C)</value>
</data>
<data name="btnOK.Text" xml:space="preserve">
<value>确定(&amp;O)</value>
</data>
<data name="$this.Text" xml:space="preserve">
<value>快速添加路由规则</value>
</data>
</root>

View File

@@ -60,6 +60,7 @@
//
// panel3
//
resources.ApplyResources(this.panel3, "panel3");
this.panel3.Controls.Add(this.clbProtocol);
this.panel3.Controls.Add(this.label3);
this.panel3.Controls.Add(this.txtPort);
@@ -67,13 +68,12 @@
this.panel3.Controls.Add(this.labRoutingTips);
this.panel3.Controls.Add(this.label4);
this.panel3.Controls.Add(this.cmbOutboundTag);
resources.ApplyResources(this.panel3, "panel3");
this.panel3.Name = "panel3";
//
// clbProtocol
//
this.clbProtocol.CheckOnClick = true;
resources.ApplyResources(this.clbProtocol, "clbProtocol");
this.clbProtocol.CheckOnClick = true;
this.clbProtocol.FormattingEnabled = true;
this.clbProtocol.Items.AddRange(new object[] {
resources.GetString("clbProtocol.Items"),
@@ -99,8 +99,8 @@
//
// labRoutingTips
//
this.labRoutingTips.ForeColor = System.Drawing.Color.Brown;
resources.ApplyResources(this.labRoutingTips, "labRoutingTips");
this.labRoutingTips.ForeColor = System.Drawing.Color.Brown;
this.labRoutingTips.Name = "labRoutingTips";
//
// label4
@@ -110,26 +110,26 @@
//
// 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")});
resources.ApplyResources(this.cmbOutboundTag, "cmbOutboundTag");
this.cmbOutboundTag.Name = "cmbOutboundTag";
//
// panel4
//
resources.ApplyResources(this.panel4, "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.DialogResult = System.Windows.Forms.DialogResult.Cancel;
this.btnClose.Name = "btnClose";
this.btnClose.UseVisualStyleBackColor = true;
this.btnClose.Click += new System.EventHandler(this.btnClose_Click);
@@ -143,15 +143,15 @@
//
// panel2
//
resources.ApplyResources(this.panel2, "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.Controls.Add(this.txtIP);
this.groupBox2.Name = "groupBox2";
this.groupBox2.TabStop = false;
//
@@ -162,8 +162,8 @@
//
// groupBox1
//
this.groupBox1.Controls.Add(this.txtDomain);
resources.ApplyResources(this.groupBox1, "groupBox1");
this.groupBox1.Controls.Add(this.txtDomain);
this.groupBox1.Name = "groupBox1";
this.groupBox1.TabStop = false;
//

View File

@@ -117,484 +117,487 @@
<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 name="label3.Size" type="System.Drawing.Size, System.Drawing">
<value>53, 12</value>
</data>
<data name="panel1.Size" type="System.Drawing.Size, System.Drawing">
<value>742, 10</value>
<data name="&gt;&gt;groupBox1.Type" xml:space="preserve">
<value>System.Windows.Forms.GroupBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<assembly alias="mscorlib" name="mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
<data name="panel1.TabIndex" type="System.Int32, mscorlib">
<value>7</value>
</data>
<data name="&gt;&gt;panel1.Name" xml:space="preserve">
<value>panel1</value>
</data>
<data name="&gt;&gt;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="&gt;&gt;panel1.Parent" xml:space="preserve">
<value>$this</value>
</data>
<data name="&gt;&gt;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 name="label4.TabIndex" type="System.Int32, mscorlib">
<value>32</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="&gt;&gt;clbProtocol.Name" xml:space="preserve">
<value>clbProtocol</value>
</data>
<data name="&gt;&gt;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="&gt;&gt;clbProtocol.Parent" xml:space="preserve">
<value>panel3</value>
</data>
<data name="&gt;&gt;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="&gt;&gt;label3.Name" xml:space="preserve">
<value>label3</value>
</data>
<data name="&gt;&gt;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="&gt;&gt;label3.Parent" xml:space="preserve">
<value>panel3</value>
</data>
<data name="&gt;&gt;label3.ZOrder" xml:space="preserve">
<value>1</value>
</data>
<data name="txtPort.Location" type="System.Drawing.Point, System.Drawing">
<value>107, 43</value>
</data>
<data name="txtPort.Size" type="System.Drawing.Size, System.Drawing">
<value>119, 21</value>
</data>
<data name="txtPort.TabIndex" type="System.Int32, mscorlib">
<value>35</value>
</data>
<data name="&gt;&gt;txtPort.Name" xml:space="preserve">
<value>txtPort</value>
</data>
<data name="&gt;&gt;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="&gt;&gt;txtPort.Parent" xml:space="preserve">
<value>panel3</value>
</data>
<data name="&gt;&gt;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="&gt;&gt;label1.Name" xml:space="preserve">
<value>label1</value>
</data>
<data name="&gt;&gt;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="&gt;&gt;label1.Parent" xml:space="preserve">
<value>panel3</value>
</data>
<data name="&gt;&gt;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 &lt;COMMA&gt;</value>
</data>
<data name="&gt;&gt;labRoutingTips.Name" xml:space="preserve">
<value>labRoutingTips</value>
</data>
<data name="&gt;&gt;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="&gt;&gt;labRoutingTips.Parent" xml:space="preserve">
<value>panel3</value>
</data>
<data name="&gt;&gt;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>19, 20</value>
</data>
<data name="label4.Size" type="System.Drawing.Size, System.Drawing">
<value>71, 12</value>
</data>
<data name="label4.TabIndex" type="System.Int32, mscorlib">
<value>32</value>
</data>
<data name="label4.Text" xml:space="preserve">
<value>outboundTag</value>
</data>
<data name="&gt;&gt;label4.Name" xml:space="preserve">
<value>label4</value>
</data>
<data name="&gt;&gt;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="&gt;&gt;label4.Parent" xml:space="preserve">
<value>panel3</value>
</data>
<data name="&gt;&gt;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>107, 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="&gt;&gt;cmbOutboundTag.Name" xml:space="preserve">
<value>cmbOutboundTag</value>
<data name="cmbOutboundTag.Items" xml:space="preserve">
<value>proxy</value>
</data>
<data name="&gt;&gt;cmbOutboundTag.Type" xml:space="preserve">
<value>System.Windows.Forms.ComboBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
<data name="cmbOutboundTag.Location" type="System.Drawing.Point, System.Drawing">
<value>107, 16</value>
</data>
<data name="&gt;&gt;cmbOutboundTag.Parent" xml:space="preserve">
<value>panel3</value>
<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>
<data name="&gt;&gt;cmbOutboundTag.ZOrder" xml:space="preserve">
<value>6</value>
<data name="&gt;&gt;panel1.Name" xml:space="preserve">
<value>panel1</value>
</data>
<data name="panel3.Dock" type="System.Windows.Forms.DockStyle, System.Windows.Forms">
<value>Top</value>
<data name="groupBox1.TabIndex" type="System.Int32, mscorlib">
<value>3</value>
</data>
<data name="panel3.Location" type="System.Drawing.Point, System.Drawing">
<value>0, 10</value>
<data name="&gt;&gt;clbProtocol.Name" xml:space="preserve">
<value>clbProtocol</value>
</data>
<data name="panel3.Size" type="System.Drawing.Size, System.Drawing">
<value>742, 111</value>
<data name="&gt;&gt;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="panel3.TabIndex" type="System.Int32, mscorlib">
<value>8</value>
</data>
<data name="&gt;&gt;panel3.Name" xml:space="preserve">
<value>panel3</value>
</data>
<data name="&gt;&gt;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="&gt;&gt;panel3.Parent" xml:space="preserve">
<value>$this</value>
</data>
<data name="&gt;&gt;panel3.ZOrder" xml:space="preserve">
<value>2</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">
<data name="&gt;&gt;labRoutingTips.ZOrder" xml:space="preserve">
<value>4</value>
</data>
<data name="btnClose.Text" xml:space="preserve">
<value>&amp;Cancel</value>
</data>
<data name="&gt;&gt;btnClose.Name" xml:space="preserve">
<value>btnClose</value>
</data>
<data name="&gt;&gt;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="&gt;&gt;btnClose.Parent" xml:space="preserve">
<value>panel4</value>
</data>
<data name="&gt;&gt;btnClose.ZOrder" xml:space="preserve">
<value>0</value>
</data>
<data name="btnOK.ImeMode" type="System.Windows.Forms.ImeMode, System.Windows.Forms">
<data name="label1.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>&amp;OK</value>
</data>
<data name="&gt;&gt;btnOK.Name" xml:space="preserve">
<value>btnOK</value>
</data>
<data name="&gt;&gt;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="&gt;&gt;btnOK.Parent" xml:space="preserve">
<value>panel4</value>
</data>
<data name="&gt;&gt;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="&gt;&gt;panel4.Name" xml:space="preserve">
<value>panel4</value>
</data>
<data name="&gt;&gt;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="&gt;&gt;panel4.Parent" xml:space="preserve">
<value>$this</value>
</data>
<data name="&gt;&gt;panel4.ZOrder" xml:space="preserve">
<value>1</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="&gt;&gt;txtIP.Name" xml:space="preserve">
<value>txtIP</value>
</data>
<data name="&gt;&gt;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="&gt;&gt;txtIP.Parent" xml:space="preserve">
<value>groupBox2</value>
</data>
<data name="&gt;&gt;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="&gt;&gt;groupBox2.Name" xml:space="preserve">
<value>groupBox2</value>
</data>
<data name="&gt;&gt;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="&gt;&gt;groupBox2.Parent" xml:space="preserve">
<value>panel2</value>
</data>
<data name="&gt;&gt;groupBox2.ZOrder" xml:space="preserve">
<value>0</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="&gt;&gt;txtDomain.Name" xml:space="preserve">
<value>txtDomain</value>
</data>
<data name="&gt;&gt;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="&gt;&gt;txtDomain.Parent" xml:space="preserve">
<value>groupBox1</value>
</data>
<data name="&gt;&gt;txtDomain.ZOrder" xml:space="preserve">
<data name="&gt;&gt;clbProtocol.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 name="&gt;&gt;label3.Parent" xml:space="preserve">
<value>panel3</value>
</data>
<data name="groupBox1.Size" type="System.Drawing.Size, System.Drawing">
<value>392, 395</value>
<data name="label4.ImeMode" type="System.Windows.Forms.ImeMode, System.Windows.Forms">
<value>NoControl</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="&gt;&gt;groupBox1.Name" xml:space="preserve">
<value>groupBox1</value>
</data>
<data name="&gt;&gt;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="&gt;&gt;groupBox1.Parent" xml:space="preserve">
<value>panel2</value>
</data>
<data name="&gt;&gt;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="&gt;&gt;panel2.Name" xml:space="preserve">
<value>panel2</value>
</data>
<data name="&gt;&gt;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="&gt;&gt;panel2.Parent" xml:space="preserve">
<value>$this</value>
</data>
<data name="&gt;&gt;panel2.ZOrder" xml:space="preserve">
<data name="&gt;&gt;groupBox2.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 name="label1.Size" type="System.Drawing.Size, System.Drawing">
<value>29, 12</value>
</data>
<data name="$this.ClientSize" type="System.Drawing.Size, System.Drawing">
<value>742, 576</value>
</data>
<data name="&gt;&gt;groupBox2.Parent" xml:space="preserve">
<value>panel2</value>
</data>
<data name="clbProtocol.Items1" xml:space="preserve">
<value>tls</value>
</data>
<data name="$this.Text" xml:space="preserve">
<value>RoutingSettingDetailsForm</value>
</data>
<data name="label3.ImeMode" type="System.Windows.Forms.ImeMode, System.Windows.Forms">
<value>NoControl</value>
</data>
<data name="txtIP.Dock" type="System.Windows.Forms.DockStyle, System.Windows.Forms">
<value>Fill</value>
</data>
<data name="&gt;&gt;label1.ZOrder" xml:space="preserve">
<value>3</value>
</data>
<data name="groupBox2.Dock" type="System.Windows.Forms.DockStyle, System.Windows.Forms">
<value>Fill</value>
</data>
<data name="btnOK.Location" type="System.Drawing.Point, System.Drawing">
<value>411, 15</value>
</data>
<data name="cmbOutboundTag.Size" type="System.Drawing.Size, System.Drawing">
<value>119, 20</value>
</data>
<data name="&gt;&gt;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="label3.TabIndex" type="System.Int32, mscorlib">
<value>36</value>
</data>
<data name="&gt;&gt;btnClose.ZOrder" xml:space="preserve">
<value>0</value>
</data>
<data name="&gt;&gt;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="txtIP.Size" type="System.Drawing.Size, System.Drawing">
<value>344, 375</value>
</data>
<data name="&gt;&gt;panel3.Parent" xml:space="preserve">
<value>$this</value>
</data>
<data name="labRoutingTips.Size" type="System.Drawing.Size, System.Drawing">
<value>598, 16</value>
</data>
<data name="&gt;&gt;txtDomain.Parent" xml:space="preserve">
<value>groupBox1</value>
</data>
<data name="labRoutingTips.ImeMode" type="System.Windows.Forms.ImeMode, System.Windows.Forms">
<value>NoControl</value>
</data>
<data name="panel2.Location" type="System.Drawing.Point, System.Drawing">
<value>0, 121</value>
</data>
<data name="&gt;&gt;label1.Name" xml:space="preserve">
<value>label1</value>
</data>
<data name="panel2.Size" type="System.Drawing.Size, System.Drawing">
<value>742, 395</value>
</data>
<data name="label3.Text" xml:space="preserve">
<value>Protocol</value>
</data>
<data name="&gt;&gt;cmbOutboundTag.ZOrder" xml:space="preserve">
<value>6</value>
</data>
<data name="&gt;&gt;panel3.Name" xml:space="preserve">
<value>panel3</value>
</data>
<data name="label3.AutoSize" type="System.Boolean, mscorlib">
<value>True</value>
</data>
<data name="&gt;&gt;panel1.ZOrder" xml:space="preserve">
<value>3</value>
</data>
<data name="&gt;&gt;btnOK.Parent" xml:space="preserve">
<value>panel4</value>
</data>
<data name="btnOK.TabIndex" type="System.Int32, mscorlib">
<value>5</value>
</data>
<data name="clbProtocol.Items2" xml:space="preserve">
<value>bittorrent</value>
</data>
<data name="labRoutingTips.Location" type="System.Drawing.Point, System.Drawing">
<value>19, 82</value>
</data>
<data name="txtIP.TabIndex" type="System.Int32, mscorlib">
<value>25</value>
</data>
<data name="&gt;&gt;labRoutingTips.Parent" xml:space="preserve">
<value>panel3</value>
</data>
<data name="panel1.Location" type="System.Drawing.Point, System.Drawing">
<value>0, 0</value>
</data>
<data name="label4.Location" type="System.Drawing.Point, System.Drawing">
<value>19, 20</value>
</data>
<data name="&gt;&gt;labRoutingTips.Name" xml:space="preserve">
<value>labRoutingTips</value>
</data>
<data name="label1.Location" type="System.Drawing.Point, System.Drawing">
<value>19, 47</value>
</data>
<data name="clbProtocol.TabIndex" type="System.Int32, mscorlib">
<value>39</value>
</data>
<data name="txtDomain.Dock" type="System.Windows.Forms.DockStyle, System.Windows.Forms">
<value>Fill</value>
</data>
<data name="&gt;&gt;btnOK.ZOrder" xml:space="preserve">
<value>1</value>
</data>
<data name="&gt;&gt;$this.Name" xml:space="preserve">
<value>RoutingRuleSettingDetailsForm</value>
</data>
<data name="&gt;&gt;panel2.Name" xml:space="preserve">
<value>panel2</value>
</data>
<data name="&gt;&gt;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="&gt;&gt;txtPort.Parent" xml:space="preserve">
<value>panel3</value>
</data>
<data name="txtPort.Location" type="System.Drawing.Point, System.Drawing">
<value>107, 43</value>
</data>
<data name="&gt;&gt;groupBox2.Name" xml:space="preserve">
<value>groupBox2</value>
</data>
<data name="&gt;&gt;label4.ZOrder" xml:space="preserve">
<value>5</value>
</data>
<data name="panel4.Dock" type="System.Windows.Forms.DockStyle, System.Windows.Forms">
<value>Bottom</value>
</data>
<data name="txtDomain.Size" type="System.Drawing.Size, System.Drawing">
<value>386, 375</value>
</data>
<data name="&gt;&gt;cmbOutboundTag.Parent" xml:space="preserve">
<value>panel3</value>
</data>
<data name="groupBox2.Location" type="System.Drawing.Point, System.Drawing">
<value>392, 0</value>
</data>
<data name="panel3.TabIndex" type="System.Int32, mscorlib">
<value>8</value>
</data>
<data name="&gt;&gt;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="&gt;&gt;groupBox1.Parent" xml:space="preserve">
<value>panel2</value>
</data>
<data name="&gt;&gt;panel4.Name" xml:space="preserve">
<value>panel4</value>
</data>
<data name="&gt;&gt;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="btnClose.ImeMode" type="System.Windows.Forms.ImeMode, System.Windows.Forms">
<value>NoControl</value>
</data>
<data name="panel3.Dock" type="System.Windows.Forms.DockStyle, System.Windows.Forms">
<value>Top</value>
</data>
<data name="&gt;&gt;panel1.Parent" xml:space="preserve">
<value>$this</value>
</data>
<data name="&gt;&gt;txtIP.Parent" xml:space="preserve">
<value>groupBox2</value>
</data>
<data name="&gt;&gt;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="&gt;&gt;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="clbProtocol.Items" xml:space="preserve">
<value>http</value>
</data>
<data name="&gt;&gt;txtPort.Name" xml:space="preserve">
<value>txtPort</value>
</data>
<data name="txtIP.Location" type="System.Drawing.Point, System.Drawing">
<value>3, 17</value>
</data>
<data name="&gt;&gt;panel4.ZOrder" xml:space="preserve">
<value>1</value>
</data>
<data name="panel1.Size" type="System.Drawing.Size, System.Drawing">
<value>742, 10</value>
</data>
<data name="groupBox1.Location" type="System.Drawing.Point, System.Drawing">
<value>0, 0</value>
</data>
<data name="&gt;&gt;groupBox1.Name" xml:space="preserve">
<value>groupBox1</value>
</data>
<data name="txtDomain.TabIndex" type="System.Int32, mscorlib">
<value>24</value>
</data>
<data name="panel2.TabIndex" type="System.Int32, mscorlib">
<value>11</value>
</data>
<data name="&gt;&gt;label4.Name" xml:space="preserve">
<value>label4</value>
</data>
<data name="btnOK.Text" xml:space="preserve">
<value>&amp;OK</value>
</data>
<data name="btnOK.Size" type="System.Drawing.Size, System.Drawing">
<value>75, 23</value>
</data>
<data name="&gt;&gt;btnClose.Name" xml:space="preserve">
<value>btnClose</value>
</data>
<data name="&gt;&gt;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="&gt;&gt;btnClose.Parent" xml:space="preserve">
<value>panel4</value>
</data>
<data name="label1.TabIndex" type="System.Int32, mscorlib">
<value>34</value>
</data>
<data name="label3.Location" type="System.Drawing.Point, System.Drawing">
<value>274, 47</value>
</data>
<data name="cmbOutboundTag.Items2" xml:space="preserve">
<value>block</value>
</data>
<data name="labRoutingTips.TabIndex" type="System.Int32, mscorlib">
<value>33</value>
</data>
<data name="&gt;&gt;groupBox1.ZOrder" xml:space="preserve">
<value>1</value>
</data>
<data name="clbProtocol.Location" type="System.Drawing.Point, System.Drawing">
<value>347, 43</value>
</data>
<data name="&gt;&gt;txtDomain.ZOrder" xml:space="preserve">
<value>0</value>
</data>
<data name="&gt;&gt;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="&gt;&gt;btnOK.Name" xml:space="preserve">
<value>btnOK</value>
</data>
<data name="&gt;&gt;panel3.ZOrder" xml:space="preserve">
<value>2</value>
</data>
<data name="txtPort.Size" type="System.Drawing.Size, System.Drawing">
<value>119, 21</value>
</data>
<data name="groupBox2.TabIndex" type="System.Int32, mscorlib">
<value>4</value>
</data>
<data name="panel1.TabIndex" type="System.Int32, mscorlib">
<value>7</value>
</data>
<data name="&gt;&gt;panel2.ZOrder" xml:space="preserve">
<value>0</value>
</data>
<data name="&gt;&gt;label3.Name" xml:space="preserve">
<value>label3</value>
</data>
<data name="&gt;&gt;txtIP.ZOrder" xml:space="preserve">
<value>0</value>
</data>
<data name="&gt;&gt;label1.Parent" xml:space="preserve">
<value>panel3</value>
</data>
<data name="&gt;&gt;clbProtocol.Parent" xml:space="preserve">
<value>panel3</value>
</data>
<data name="&gt;&gt;$this.Type" xml:space="preserve">
<value>v2rayN.Forms.BaseForm, v2rayN, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null</value>
</data>
<data name="panel3.Location" type="System.Drawing.Point, System.Drawing">
<value>0, 10</value>
</data>
<data name="clbProtocol.ColumnWidth" type="System.Int32, mscorlib">
<value>80</value>
</data>
<data name="panel4.Size" type="System.Drawing.Size, System.Drawing">
<value>742, 60</value>
</data>
<data name="&gt;&gt;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="&gt;&gt;panel4.Parent" xml:space="preserve">
<value>$this</value>
</data>
<data name="btnClose.Text" xml:space="preserve">
<value>&amp;Cancel</value>
</data>
<data name="labRoutingTips.Text" xml:space="preserve">
<value>*Set the rules, separated by commas (,); The comma in the regular is replaced by &lt;COMMA&gt;</value>
</data>
<data name="panel3.Size" type="System.Drawing.Size, System.Drawing">
<value>742, 111</value>
</data>
<data name="txtIP.Multiline" type="System.Boolean, mscorlib">
<value>True</value>
</data>
<data name="$this.AutoScaleDimensions" type="System.Drawing.SizeF, System.Drawing">
<value>6, 12</value>
</data>
<data name="label1.Text" xml:space="preserve">
<value>Port</value>
</data>
<data name="&gt;&gt;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="&gt;&gt;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="&gt;&gt;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="&gt;&gt;txtIP.Name" xml:space="preserve">
<value>txtIP</value>
</data>
<data name="&gt;&gt;txtPort.ZOrder" xml:space="preserve">
<value>2</value>
</data>
<data name="&gt;&gt;cmbOutboundTag.Name" xml:space="preserve">
<value>cmbOutboundTag</value>
</data>
<data name="txtDomain.Multiline" type="System.Boolean, mscorlib">
<value>True</value>
</data>
<data name="btnOK.ImeMode" type="System.Windows.Forms.ImeMode, System.Windows.Forms">
<value>NoControl</value>
</data>
<data name="groupBox1.Text" xml:space="preserve">
<value>Domain</value>
</data>
<data name="panel4.TabIndex" type="System.Int32, mscorlib">
<value>10</value>
</data>
<data name="&gt;&gt;panel2.Parent" xml:space="preserve">
<value>$this</value>
</data>
<data name="groupBox1.Size" type="System.Drawing.Size, System.Drawing">
<value>392, 395</value>
</data>
<data name="btnClose.Size" type="System.Drawing.Size, System.Drawing">
<value>75, 23</value>
</data>
<data name="&gt;&gt;label3.ZOrder" xml:space="preserve">
<value>1</value>
</data>
<data name="label1.AutoSize" type="System.Boolean, mscorlib">
<value>True</value>
</data>
<data name="btnClose.TabIndex" type="System.Int32, mscorlib">
<value>4</value>
</data>
<data name="&gt;&gt;txtDomain.Name" xml:space="preserve">
<value>txtDomain</value>
</data>
<data name="groupBox2.Text" xml:space="preserve">
<value>IP</value>
</data>
<data name="&gt;&gt;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="&gt;&gt;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="panel4.Location" type="System.Drawing.Point, System.Drawing">
<value>0, 516</value>
</data>
<data name="label4.Size" type="System.Drawing.Size, System.Drawing">
<value>71, 12</value>
</data>
<data name="groupBox2.Size" type="System.Drawing.Size, System.Drawing">
<value>350, 395</value>
</data>
<data name="&gt;&gt;label4.Parent" xml:space="preserve">
<value>panel3</value>
</data>
<data name="btnClose.Location" type="System.Drawing.Point, System.Drawing">
<value>504, 15</value>
</data>
<data name="label4.AutoSize" type="System.Boolean, mscorlib">
<value>True</value>
</data>
<data name="label4.Text" xml:space="preserve">
<value>outboundTag</value>
</data>
<data name="panel1.Dock" type="System.Windows.Forms.DockStyle, System.Windows.Forms">
<value>Top</value>
</data>
<data name="txtPort.TabIndex" type="System.Int32, mscorlib">
<value>35</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>

View File

@@ -120,25 +120,22 @@
<data name="labRoutingTips.Text" xml:space="preserve">
<value>*设置的路由规则,用逗号(,)分隔;正则中的逗号用&lt;COMMA&gt;替代</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>取消(&amp;C)</value>
</data>
<data name="btnOK.Text" xml:space="preserve">
<value>确定(&amp;O)</value>
</data>
<assembly alias="System.Windows.Forms" name="System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
<data name="txtIP.ScrollBars" type="System.Windows.Forms.ScrollBars, System.Windows.Forms">
<value>Vertical</value>
</data>
<data name="txtDomain.ScrollBars" type="System.Windows.Forms.ScrollBars, System.Windows.Forms">
<value>Vertical</value>
</data>
<data name="$this.Text" xml:space="preserve">
<value>路由规则详情设置</value>
</data>

View File

@@ -68,17 +68,17 @@
//
// btnClose
//
resources.ApplyResources(this.btnClose, "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);
//
// panel2
//
resources.ApplyResources(this.panel2, "panel2");
this.panel2.Controls.Add(this.btnClose);
this.panel2.Controls.Add(this.btnOK);
resources.ApplyResources(this.panel2, "panel2");
this.panel2.Name = "panel2";
//
// btnOK
@@ -90,12 +90,12 @@
//
// panel1
//
resources.ApplyResources(this.panel1, "panel1");
this.panel1.Controls.Add(this.label1);
this.panel1.Controls.Add(this.txtUrl);
this.panel1.Controls.Add(this.label3);
this.panel1.Controls.Add(this.txtRemarks);
this.panel1.Controls.Add(this.label2);
resources.ApplyResources(this.panel1, "panel1");
this.panel1.Name = "panel1";
//
// label1
@@ -125,8 +125,8 @@
//
// lvRoutings
//
resources.ApplyResources(this.lvRoutings, "lvRoutings");
this.lvRoutings.ContextMenuStrip = this.cmsLv;
resources.ApplyResources(this.lvRoutings, "lvRoutings");
this.lvRoutings.FullRowSelect = true;
this.lvRoutings.GridLines = true;
this.lvRoutings.HeaderStyle = System.Windows.Forms.ColumnHeaderStyle.Nonclickable;
@@ -142,7 +142,6 @@
//
// cmsLv
//
resources.ApplyResources(this.cmsLv, "cmsLv");
this.cmsLv.ImageScalingSize = new System.Drawing.Size(20, 20);
this.cmsLv.Items.AddRange(new System.Windows.Forms.ToolStripItem[] {
this.menuAdd,
@@ -155,113 +154,115 @@
this.menuMoveDown,
this.menuMoveBottom});
this.cmsLv.Name = "cmsLv";
this.cmsLv.OwnerItem = this.MenuItem1;
resources.ApplyResources(this.cmsLv, "cmsLv");
//
// menuAdd
//
resources.ApplyResources(this.menuAdd, "menuAdd");
this.menuAdd.Name = "menuAdd";
resources.ApplyResources(this.menuAdd, "menuAdd");
this.menuAdd.Click += new System.EventHandler(this.menuAdd_Click);
//
// menuRemove
//
resources.ApplyResources(this.menuRemove, "menuRemove");
this.menuRemove.Name = "menuRemove";
resources.ApplyResources(this.menuRemove, "menuRemove");
this.menuRemove.Click += new System.EventHandler(this.menuRemove_Click);
//
// menuSelectAll
//
resources.ApplyResources(this.menuSelectAll, "menuSelectAll");
this.menuSelectAll.Name = "menuSelectAll";
resources.ApplyResources(this.menuSelectAll, "menuSelectAll");
this.menuSelectAll.Click += new System.EventHandler(this.menuSelectAll_Click);
//
// menuExportSelectedRules
//
resources.ApplyResources(this.menuExportSelectedRules, "menuExportSelectedRules");
this.menuExportSelectedRules.Name = "menuExportSelectedRules";
resources.ApplyResources(this.menuExportSelectedRules, "menuExportSelectedRules");
this.menuExportSelectedRules.Click += new System.EventHandler(this.menuExportSelectedRules_Click);
//
// toolStripSeparator3
//
resources.ApplyResources(this.toolStripSeparator3, "toolStripSeparator3");
this.toolStripSeparator3.Name = "toolStripSeparator3";
resources.ApplyResources(this.toolStripSeparator3, "toolStripSeparator3");
//
// menuMoveTop
//
resources.ApplyResources(this.menuMoveTop, "menuMoveTop");
this.menuMoveTop.Name = "menuMoveTop";
resources.ApplyResources(this.menuMoveTop, "menuMoveTop");
this.menuMoveTop.Click += new System.EventHandler(this.menuMoveTop_Click);
//
// menuMoveUp
//
resources.ApplyResources(this.menuMoveUp, "menuMoveUp");
this.menuMoveUp.Name = "menuMoveUp";
resources.ApplyResources(this.menuMoveUp, "menuMoveUp");
this.menuMoveUp.Click += new System.EventHandler(this.menuMoveUp_Click);
//
// menuMoveDown
//
resources.ApplyResources(this.menuMoveDown, "menuMoveDown");
this.menuMoveDown.Name = "menuMoveDown";
resources.ApplyResources(this.menuMoveDown, "menuMoveDown");
this.menuMoveDown.Click += new System.EventHandler(this.menuMoveDown_Click);
//
// menuMoveBottom
//
resources.ApplyResources(this.menuMoveBottom, "menuMoveBottom");
this.menuMoveBottom.Name = "menuMoveBottom";
resources.ApplyResources(this.menuMoveBottom, "menuMoveBottom");
this.menuMoveBottom.Click += new System.EventHandler(this.menuMoveBottom_Click);
//
// MenuItem1
//
resources.ApplyResources(this.MenuItem1, "MenuItem1");
this.MenuItem1.DropDown = this.cmsLv;
this.MenuItem1.Name = "MenuItem1";
resources.ApplyResources(this.MenuItem1, "MenuItem1");
//
// tabControl2
//
resources.ApplyResources(this.tabControl2, "tabControl2");
this.tabControl2.Controls.Add(this.tabPage2);
resources.ApplyResources(this.tabControl2, "tabControl2");
this.tabControl2.Name = "tabControl2";
this.tabControl2.SelectedIndex = 0;
//
// tabPage2
//
resources.ApplyResources(this.tabPage2, "tabPage2");
this.tabPage2.Controls.Add(this.lvRoutings);
resources.ApplyResources(this.tabPage2, "tabPage2");
this.tabPage2.Name = "tabPage2";
this.tabPage2.UseVisualStyleBackColor = true;
//
// menuServer
//
resources.ApplyResources(this.menuServer, "menuServer");
this.menuServer.Items.AddRange(new System.Windows.Forms.ToolStripItem[] {
this.MenuItem1,
this.toolStripMenuItem1});
resources.ApplyResources(this.menuServer, "menuServer");
this.menuServer.Name = "menuServer";
//
// toolStripMenuItem1
//
resources.ApplyResources(this.toolStripMenuItem1, "toolStripMenuItem1");
this.toolStripMenuItem1.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] {
this.menuImportRulesFromFile,
this.menuImportRulesFromClipboard,
this.menuImportRulesFromUrl});
this.toolStripMenuItem1.Name = "toolStripMenuItem1";
resources.ApplyResources(this.toolStripMenuItem1, "toolStripMenuItem1");
//
// menuImportRulesFromFile
//
resources.ApplyResources(this.menuImportRulesFromFile, "menuImportRulesFromFile");
this.menuImportRulesFromFile.Name = "menuImportRulesFromFile";
resources.ApplyResources(this.menuImportRulesFromFile, "menuImportRulesFromFile");
this.menuImportRulesFromFile.Click += new System.EventHandler(this.menuImportRulesFromFile_Click);
//
// menuImportRulesFromClipboard
//
resources.ApplyResources(this.menuImportRulesFromClipboard, "menuImportRulesFromClipboard");
this.menuImportRulesFromClipboard.Name = "menuImportRulesFromClipboard";
resources.ApplyResources(this.menuImportRulesFromClipboard, "menuImportRulesFromClipboard");
this.menuImportRulesFromClipboard.Click += new System.EventHandler(this.menuImportRulesFromClipboard_Click);
//
// menuImportRulesFromUrl
//
resources.ApplyResources(this.menuImportRulesFromUrl, "menuImportRulesFromUrl");
this.menuImportRulesFromUrl.Name = "menuImportRulesFromUrl";
resources.ApplyResources(this.menuImportRulesFromUrl, "menuImportRulesFromUrl");
this.menuImportRulesFromUrl.Click += new System.EventHandler(this.menuImportRulesFromUrl_Click);
//
// RoutingRuleSettingForm

View File

@@ -194,7 +194,7 @@ namespace v2rayN.Forms
fm.rulesItem = new RulesItem();
if (fm.ShowDialog() == DialogResult.OK)
{
routingItem.rules.Add(fm.rulesItem);
routingItem.rules.Insert(0, fm.rulesItem);
RefreshRoutingsView();
}
}

File diff suppressed because it is too large Load Diff

View File

@@ -120,6 +120,9 @@
<data name="btnClose.Text" xml:space="preserve">
<value>取消(&amp;C)</value>
</data>
<data name="btnOK.Text" xml:space="preserve">
<value>确定(&amp;O)</value>
</data>
<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">
<value>0, 613</value>
@@ -127,12 +130,6 @@
<data name="panel2.Size" type="System.Drawing.Size, System.Drawing">
<value>785, 60</value>
</data>
<data name="btnOK.Text" xml:space="preserve">
<value>确定(&amp;O)</value>
</data>
<data name="panel1.Size" type="System.Drawing.Size, System.Drawing">
<value>785, 109</value>
</data>
<data name="label1.Size" type="System.Drawing.Size, System.Drawing">
<value>29, 12</value>
</data>
@@ -157,28 +154,8 @@
<data name="label2.Text" xml:space="preserve">
<value>别名</value>
</data>
<data name="cmsLv.Size" type="System.Drawing.Size, System.Drawing">
<value>197, 186</value>
</data>
<data name="lvRoutings.Items" mimetype="application/x-microsoft.net.object.binary.base64">
<value>
AAEAAAD/////AQAAAAAAAAAMAgAAAFdTeXN0ZW0uV2luZG93cy5Gb3JtcywgVmVyc2lvbj00LjAuMC4w
LCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI3N2E1YzU2MTkzNGUwODkMAwAAAFFTeXN0
ZW0uRHJhd2luZywgVmVyc2lvbj00LjAuMC4wLCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2Vu
PWIwM2Y1ZjdmMTFkNTBhM2EFAQAAACFTeXN0ZW0uV2luZG93cy5Gb3Jtcy5MaXN0Vmlld0l0ZW0HAAAA
BFRleHQKSW1hZ2VJbmRleAlCYWNrQ29sb3IHQ2hlY2tlZARGb250CUZvcmVDb2xvchdVc2VJdGVtU3R5
bGVGb3JTdWJJdGVtcwEABAAEBAAIFFN5c3RlbS5EcmF3aW5nLkNvbG9yAwAAAAETU3lzdGVtLkRyYXdp
bmcuRm9udAMAAAAUU3lzdGVtLkRyYXdpbmcuQ29sb3IDAAAAAQIAAAAGBAAAAAD/////Bfv///8UU3lz
dGVtLkRyYXdpbmcuQ29sb3IEAAAABG5hbWUFdmFsdWUKa25vd25Db2xvcgVzdGF0ZQEAAAAJBwcDAAAA
CgAAAAAAAAAAGAABAAAJBgAAAAH5////+////woAAAAAAAAAABoAAQABBQYAAAATU3lzdGVtLkRyYXdp
bmcuRm9udAQAAAAETmFtZQRTaXplBVN0eWxlBFVuaXQBAAQECxhTeXN0ZW0uRHJhd2luZy5Gb250U3R5
bGUDAAAAG1N5c3RlbS5EcmF3aW5nLkdyYXBoaWNzVW5pdAMAAAADAAAABggAAAAG5a6L5L2TAAAQQQX3
////GFN5c3RlbS5EcmF3aW5nLkZvbnRTdHlsZQEAAAAHdmFsdWVfXwAIAwAAAAAAAAAF9v///xtTeXN0
ZW0uRHJhd2luZy5HcmFwaGljc1VuaXQBAAAAB3ZhbHVlX18ACAMAAAADAAAACw==
</value>
</data>
<data name="lvRoutings.Size" type="System.Drawing.Size, System.Drawing">
<value>771, 447</value>
<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">
<value>196, 22</value>
@@ -237,11 +214,28 @@
<data name="MenuItem1.Text" xml:space="preserve">
<value>规则功能</value>
</data>
<data name="tabControl2.Location" type="System.Drawing.Point, System.Drawing">
<value>0, 134</value>
<data name="cmsLv.Size" type="System.Drawing.Size, System.Drawing">
<value>197, 186</value>
</data>
<data name="tabControl2.Size" type="System.Drawing.Size, System.Drawing">
<value>785, 479</value>
<data name="lvRoutings.Items" mimetype="application/x-microsoft.net.object.binary.base64">
<value>
AAEAAAD/////AQAAAAAAAAAMAgAAAFdTeXN0ZW0uV2luZG93cy5Gb3JtcywgVmVyc2lvbj00LjAuMC4w
LCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI3N2E1YzU2MTkzNGUwODkMAwAAAFFTeXN0
ZW0uRHJhd2luZywgVmVyc2lvbj00LjAuMC4wLCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2Vu
PWIwM2Y1ZjdmMTFkNTBhM2EFAQAAACFTeXN0ZW0uV2luZG93cy5Gb3Jtcy5MaXN0Vmlld0l0ZW0HAAAA
BFRleHQKSW1hZ2VJbmRleAlCYWNrQ29sb3IHQ2hlY2tlZARGb250CUZvcmVDb2xvchdVc2VJdGVtU3R5
bGVGb3JTdWJJdGVtcwEABAAEBAAIFFN5c3RlbS5EcmF3aW5nLkNvbG9yAwAAAAETU3lzdGVtLkRyYXdp
bmcuRm9udAMAAAAUU3lzdGVtLkRyYXdpbmcuQ29sb3IDAAAAAQIAAAAGBAAAAAD/////Bfv///8UU3lz
dGVtLkRyYXdpbmcuQ29sb3IEAAAABG5hbWUFdmFsdWUKa25vd25Db2xvcgVzdGF0ZQEAAAAJBwcDAAAA
CgAAAAAAAAAAGAABAAAJBgAAAAH5////+////woAAAAAAAAAABoAAQABBQYAAAATU3lzdGVtLkRyYXdp
bmcuRm9udAQAAAAETmFtZQRTaXplBVN0eWxlBFVuaXQBAAQECxhTeXN0ZW0uRHJhd2luZy5Gb250U3R5
bGUDAAAAG1N5c3RlbS5EcmF3aW5nLkdyYXBoaWNzVW5pdAMAAAADAAAABggAAAAG5a6L5L2TAAAQQQX3
////GFN5c3RlbS5EcmF3aW5nLkZvbnRTdHlsZQEAAAAHdmFsdWVfXwAIAwAAAAAAAAAF9v///xtTeXN0
ZW0uRHJhd2luZy5HcmFwaGljc1VuaXQBAAAAB3ZhbHVlX18ACAMAAAADAAAACw==
</value>
</data>
<data name="lvRoutings.Size" type="System.Drawing.Size, System.Drawing">
<value>771, 447</value>
</data>
<data name="tabPage2.Size" type="System.Drawing.Size, System.Drawing">
<value>777, 453</value>
@@ -249,14 +243,20 @@
<data name="tabPage2.Text" xml:space="preserve">
<value>规则列表</value>
</data>
<data name="tabControl2.Location" type="System.Drawing.Point, System.Drawing">
<value>0, 134</value>
</data>
<data name="tabControl2.Size" type="System.Drawing.Size, System.Drawing">
<value>785, 479</value>
</data>
<data name="menuImportRulesFromFile.Size" type="System.Drawing.Size, System.Drawing">
<value>184, 22</value>
<value>189, 22</value>
</data>
<data name="menuImportRulesFromFile.Text" xml:space="preserve">
<value>从文件中导入规则</value>
</data>
<data name="menuImportRulesFromClipboard.Size" type="System.Drawing.Size, System.Drawing">
<value>184, 22</value>
<value>189, 22</value>
</data>
<data name="menuImportRulesFromClipboard.Text" xml:space="preserve">
<value>从剪贴板中导入规则</value>

View File

@@ -32,26 +32,60 @@
System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(RoutingSettingForm));
this.btnClose = new System.Windows.Forms.Button();
this.panel2 = new System.Windows.Forms.Panel();
this.labRoutingTips = new System.Windows.Forms.Label();
this.btnOK = new System.Windows.Forms.Button();
this.panel1 = new System.Windows.Forms.Panel();
this.chkenableRoutingAdvanced = new System.Windows.Forms.CheckBox();
this.linkLabelRoutingDoc = new System.Windows.Forms.LinkLabel();
this.cmbdomainStrategy = new System.Windows.Forms.ComboBox();
this.lvRoutings = new v2rayN.Base.ListViewFlickerFree();
this.cmsLv = new System.Windows.Forms.ContextMenuStrip(this.components);
this.menuAdd = new System.Windows.Forms.ToolStripMenuItem();
this.menuRemove = new System.Windows.Forms.ToolStripMenuItem();
this.menuSelectAll = new System.Windows.Forms.ToolStripMenuItem();
this.menuSetDefaultRouting = new System.Windows.Forms.ToolStripMenuItem();
this.MenuItem1 = new System.Windows.Forms.ToolStripMenuItem();
this.tabControl2 = new System.Windows.Forms.TabControl();
this.tabPage2 = new System.Windows.Forms.TabPage();
this.MenuItemAdvanced = new System.Windows.Forms.ToolStripMenuItem();
this.menuServer = new System.Windows.Forms.MenuStrip();
this.MenuItemBasic = new System.Windows.Forms.ToolStripMenuItem();
this.menuImportBasicRules = new System.Windows.Forms.ToolStripMenuItem();
this.tabNormal = new System.Windows.Forms.TabControl();
this.tabPageProxy = new System.Windows.Forms.TabPage();
this.panel5 = new System.Windows.Forms.Panel();
this.groupBox5 = new System.Windows.Forms.GroupBox();
this.txtProxyIp = new System.Windows.Forms.TextBox();
this.groupBox6 = new System.Windows.Forms.GroupBox();
this.txtProxyDomain = new System.Windows.Forms.TextBox();
this.tabPageDirect = new System.Windows.Forms.TabPage();
this.panel4 = new System.Windows.Forms.Panel();
this.groupBox3 = new System.Windows.Forms.GroupBox();
this.txtDirectIp = new System.Windows.Forms.TextBox();
this.groupBox4 = new System.Windows.Forms.GroupBox();
this.txtDirectDomain = new System.Windows.Forms.TextBox();
this.tabPageBlock = new System.Windows.Forms.TabPage();
this.panel3 = new System.Windows.Forms.Panel();
this.groupBox2 = new System.Windows.Forms.GroupBox();
this.txtBlockIp = new System.Windows.Forms.TextBox();
this.groupBox1 = new System.Windows.Forms.GroupBox();
this.txtBlockDomain = new System.Windows.Forms.TextBox();
this.tabPageRuleList = new System.Windows.Forms.TabPage();
this.lvRoutings = new v2rayN.Base.ListViewFlickerFree();
this.panel2.SuspendLayout();
this.panel1.SuspendLayout();
this.cmsLv.SuspendLayout();
this.tabControl2.SuspendLayout();
this.tabPage2.SuspendLayout();
this.menuServer.SuspendLayout();
this.tabNormal.SuspendLayout();
this.tabPageProxy.SuspendLayout();
this.panel5.SuspendLayout();
this.groupBox5.SuspendLayout();
this.groupBox6.SuspendLayout();
this.tabPageDirect.SuspendLayout();
this.panel4.SuspendLayout();
this.groupBox3.SuspendLayout();
this.groupBox4.SuspendLayout();
this.tabPageBlock.SuspendLayout();
this.panel3.SuspendLayout();
this.groupBox2.SuspendLayout();
this.groupBox1.SuspendLayout();
this.tabPageRuleList.SuspendLayout();
this.SuspendLayout();
//
// btnClose
@@ -64,11 +98,18 @@
//
// panel2
//
this.panel2.Controls.Add(this.labRoutingTips);
this.panel2.Controls.Add(this.btnClose);
this.panel2.Controls.Add(this.btnOK);
resources.ApplyResources(this.panel2, "panel2");
this.panel2.Name = "panel2";
//
// labRoutingTips
//
this.labRoutingTips.ForeColor = System.Drawing.Color.Brown;
resources.ApplyResources(this.labRoutingTips, "labRoutingTips");
this.labRoutingTips.Name = "labRoutingTips";
//
// btnOK
//
resources.ApplyResources(this.btnOK, "btnOK");
@@ -78,11 +119,19 @@
//
// panel1
//
this.panel1.Controls.Add(this.chkenableRoutingAdvanced);
this.panel1.Controls.Add(this.linkLabelRoutingDoc);
this.panel1.Controls.Add(this.cmbdomainStrategy);
resources.ApplyResources(this.panel1, "panel1");
this.panel1.Name = "panel1";
//
// chkenableRoutingAdvanced
//
resources.ApplyResources(this.chkenableRoutingAdvanced, "chkenableRoutingAdvanced");
this.chkenableRoutingAdvanced.Name = "chkenableRoutingAdvanced";
this.chkenableRoutingAdvanced.UseVisualStyleBackColor = true;
this.chkenableRoutingAdvanced.CheckedChanged += new System.EventHandler(this.chkenableRoutingAdvanced_CheckedChanged_1);
//
// linkLabelRoutingDoc
//
resources.ApplyResources(this.linkLabelRoutingDoc, "linkLabelRoutingDoc");
@@ -101,22 +150,6 @@
resources.ApplyResources(this.cmbdomainStrategy, "cmbdomainStrategy");
this.cmbdomainStrategy.Name = "cmbdomainStrategy";
//
// lvRoutings
//
this.lvRoutings.ContextMenuStrip = this.cmsLv;
resources.ApplyResources(this.lvRoutings, "lvRoutings");
this.lvRoutings.FullRowSelect = true;
this.lvRoutings.GridLines = true;
this.lvRoutings.HeaderStyle = System.Windows.Forms.ColumnHeaderStyle.Nonclickable;
this.lvRoutings.HideSelection = false;
this.lvRoutings.Items.AddRange(new System.Windows.Forms.ListViewItem[] {
((System.Windows.Forms.ListViewItem)(resources.GetObject("lvRoutings.Items")))});
this.lvRoutings.MultiSelect = false;
this.lvRoutings.Name = "lvRoutings";
this.lvRoutings.UseCompatibleStateImageBehavior = false;
this.lvRoutings.View = System.Windows.Forms.View.Details;
this.lvRoutings.DoubleClick += new System.EventHandler(this.lvRoutings_DoubleClick);
//
// cmsLv
//
this.cmsLv.ImageScalingSize = new System.Drawing.Size(20, 20);
@@ -126,7 +159,7 @@
this.menuSelectAll,
this.menuSetDefaultRouting});
this.cmsLv.Name = "cmsLv";
this.cmsLv.OwnerItem = this.MenuItem1;
this.cmsLv.OwnerItem = this.MenuItemAdvanced;
resources.ApplyResources(this.cmsLv, "cmsLv");
//
// menuAdd
@@ -153,39 +186,187 @@
resources.ApplyResources(this.menuSetDefaultRouting, "menuSetDefaultRouting");
this.menuSetDefaultRouting.Click += new System.EventHandler(this.menuSetDefaultRouting_Click);
//
// MenuItem1
// MenuItemAdvanced
//
this.MenuItem1.DropDown = this.cmsLv;
this.MenuItem1.Name = "MenuItem1";
resources.ApplyResources(this.MenuItem1, "MenuItem1");
//
// tabControl2
//
this.tabControl2.Controls.Add(this.tabPage2);
resources.ApplyResources(this.tabControl2, "tabControl2");
this.tabControl2.Name = "tabControl2";
this.tabControl2.SelectedIndex = 0;
//
// tabPage2
//
this.tabPage2.Controls.Add(this.lvRoutings);
resources.ApplyResources(this.tabPage2, "tabPage2");
this.tabPage2.Name = "tabPage2";
this.tabPage2.UseVisualStyleBackColor = true;
this.MenuItemAdvanced.DropDown = this.cmsLv;
this.MenuItemAdvanced.Name = "MenuItemAdvanced";
resources.ApplyResources(this.MenuItemAdvanced, "MenuItemAdvanced");
//
// menuServer
//
this.menuServer.Items.AddRange(new System.Windows.Forms.ToolStripItem[] {
this.MenuItem1});
this.MenuItemBasic,
this.MenuItemAdvanced});
resources.ApplyResources(this.menuServer, "menuServer");
this.menuServer.Name = "menuServer";
//
// MenuItemBasic
//
this.MenuItemBasic.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] {
this.menuImportBasicRules});
this.MenuItemBasic.Name = "MenuItemBasic";
resources.ApplyResources(this.MenuItemBasic, "MenuItemBasic");
//
// menuImportBasicRules
//
this.menuImportBasicRules.Name = "menuImportBasicRules";
resources.ApplyResources(this.menuImportBasicRules, "menuImportBasicRules");
this.menuImportBasicRules.Click += new System.EventHandler(this.menuImportBasicRules_Click);
//
// tabNormal
//
this.tabNormal.Controls.Add(this.tabPageProxy);
this.tabNormal.Controls.Add(this.tabPageDirect);
this.tabNormal.Controls.Add(this.tabPageBlock);
this.tabNormal.Controls.Add(this.tabPageRuleList);
resources.ApplyResources(this.tabNormal, "tabNormal");
this.tabNormal.Name = "tabNormal";
this.tabNormal.SelectedIndex = 0;
this.tabNormal.Selecting += new System.Windows.Forms.TabControlCancelEventHandler(this.tabNormal_Selecting);
//
// tabPageProxy
//
this.tabPageProxy.Controls.Add(this.panel5);
resources.ApplyResources(this.tabPageProxy, "tabPageProxy");
this.tabPageProxy.Name = "tabPageProxy";
this.tabPageProxy.UseVisualStyleBackColor = true;
//
// panel5
//
this.panel5.Controls.Add(this.groupBox5);
this.panel5.Controls.Add(this.groupBox6);
resources.ApplyResources(this.panel5, "panel5");
this.panel5.Name = "panel5";
//
// groupBox5
//
this.groupBox5.Controls.Add(this.txtProxyIp);
resources.ApplyResources(this.groupBox5, "groupBox5");
this.groupBox5.Name = "groupBox5";
this.groupBox5.TabStop = false;
//
// txtProxyIp
//
resources.ApplyResources(this.txtProxyIp, "txtProxyIp");
this.txtProxyIp.Name = "txtProxyIp";
//
// groupBox6
//
this.groupBox6.Controls.Add(this.txtProxyDomain);
resources.ApplyResources(this.groupBox6, "groupBox6");
this.groupBox6.Name = "groupBox6";
this.groupBox6.TabStop = false;
//
// txtProxyDomain
//
resources.ApplyResources(this.txtProxyDomain, "txtProxyDomain");
this.txtProxyDomain.Name = "txtProxyDomain";
//
// tabPageDirect
//
this.tabPageDirect.Controls.Add(this.panel4);
resources.ApplyResources(this.tabPageDirect, "tabPageDirect");
this.tabPageDirect.Name = "tabPageDirect";
this.tabPageDirect.UseVisualStyleBackColor = true;
//
// panel4
//
this.panel4.Controls.Add(this.groupBox3);
this.panel4.Controls.Add(this.groupBox4);
resources.ApplyResources(this.panel4, "panel4");
this.panel4.Name = "panel4";
//
// groupBox3
//
this.groupBox3.Controls.Add(this.txtDirectIp);
resources.ApplyResources(this.groupBox3, "groupBox3");
this.groupBox3.Name = "groupBox3";
this.groupBox3.TabStop = false;
//
// txtDirectIp
//
resources.ApplyResources(this.txtDirectIp, "txtDirectIp");
this.txtDirectIp.Name = "txtDirectIp";
//
// groupBox4
//
this.groupBox4.Controls.Add(this.txtDirectDomain);
resources.ApplyResources(this.groupBox4, "groupBox4");
this.groupBox4.Name = "groupBox4";
this.groupBox4.TabStop = false;
//
// txtDirectDomain
//
resources.ApplyResources(this.txtDirectDomain, "txtDirectDomain");
this.txtDirectDomain.Name = "txtDirectDomain";
//
// tabPageBlock
//
this.tabPageBlock.Controls.Add(this.panel3);
resources.ApplyResources(this.tabPageBlock, "tabPageBlock");
this.tabPageBlock.Name = "tabPageBlock";
this.tabPageBlock.UseVisualStyleBackColor = true;
//
// panel3
//
this.panel3.Controls.Add(this.groupBox2);
this.panel3.Controls.Add(this.groupBox1);
resources.ApplyResources(this.panel3, "panel3");
this.panel3.Name = "panel3";
//
// groupBox2
//
this.groupBox2.Controls.Add(this.txtBlockIp);
resources.ApplyResources(this.groupBox2, "groupBox2");
this.groupBox2.Name = "groupBox2";
this.groupBox2.TabStop = false;
//
// txtBlockIp
//
resources.ApplyResources(this.txtBlockIp, "txtBlockIp");
this.txtBlockIp.Name = "txtBlockIp";
//
// groupBox1
//
this.groupBox1.Controls.Add(this.txtBlockDomain);
resources.ApplyResources(this.groupBox1, "groupBox1");
this.groupBox1.Name = "groupBox1";
this.groupBox1.TabStop = false;
//
// txtBlockDomain
//
resources.ApplyResources(this.txtBlockDomain, "txtBlockDomain");
this.txtBlockDomain.Name = "txtBlockDomain";
//
// tabPageRuleList
//
this.tabPageRuleList.Controls.Add(this.lvRoutings);
resources.ApplyResources(this.tabPageRuleList, "tabPageRuleList");
this.tabPageRuleList.Name = "tabPageRuleList";
this.tabPageRuleList.UseVisualStyleBackColor = true;
//
// lvRoutings
//
this.lvRoutings.ContextMenuStrip = this.cmsLv;
resources.ApplyResources(this.lvRoutings, "lvRoutings");
this.lvRoutings.FullRowSelect = true;
this.lvRoutings.GridLines = true;
this.lvRoutings.HeaderStyle = System.Windows.Forms.ColumnHeaderStyle.Nonclickable;
this.lvRoutings.HideSelection = false;
this.lvRoutings.Items.AddRange(new System.Windows.Forms.ListViewItem[] {
((System.Windows.Forms.ListViewItem)(resources.GetObject("lvRoutings.Items")))});
this.lvRoutings.MultiSelect = false;
this.lvRoutings.Name = "lvRoutings";
this.lvRoutings.UseCompatibleStateImageBehavior = false;
this.lvRoutings.View = System.Windows.Forms.View.Details;
this.lvRoutings.DoubleClick += new System.EventHandler(this.lvRoutings_DoubleClick);
//
// RoutingSettingForm
//
resources.ApplyResources(this, "$this");
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
this.CancelButton = this.btnClose;
this.Controls.Add(this.tabControl2);
this.Controls.Add(this.tabNormal);
this.Controls.Add(this.panel1);
this.Controls.Add(this.panel2);
this.Controls.Add(this.menuServer);
@@ -196,10 +377,28 @@
this.panel1.ResumeLayout(false);
this.panel1.PerformLayout();
this.cmsLv.ResumeLayout(false);
this.tabControl2.ResumeLayout(false);
this.tabPage2.ResumeLayout(false);
this.menuServer.ResumeLayout(false);
this.menuServer.PerformLayout();
this.tabNormal.ResumeLayout(false);
this.tabPageProxy.ResumeLayout(false);
this.panel5.ResumeLayout(false);
this.groupBox5.ResumeLayout(false);
this.groupBox5.PerformLayout();
this.groupBox6.ResumeLayout(false);
this.groupBox6.PerformLayout();
this.tabPageDirect.ResumeLayout(false);
this.panel4.ResumeLayout(false);
this.groupBox3.ResumeLayout(false);
this.groupBox3.PerformLayout();
this.groupBox4.ResumeLayout(false);
this.groupBox4.PerformLayout();
this.tabPageBlock.ResumeLayout(false);
this.panel3.ResumeLayout(false);
this.groupBox2.ResumeLayout(false);
this.groupBox2.PerformLayout();
this.groupBox1.ResumeLayout(false);
this.groupBox1.PerformLayout();
this.tabPageRuleList.ResumeLayout(false);
this.ResumeLayout(false);
this.PerformLayout();
@@ -212,15 +411,37 @@
private System.Windows.Forms.Panel panel1;
private System.Windows.Forms.LinkLabel linkLabelRoutingDoc;
private System.Windows.Forms.ComboBox cmbdomainStrategy;
private Base.ListViewFlickerFree lvRoutings;
private System.Windows.Forms.TabControl tabControl2;
private System.Windows.Forms.TabPage tabPage2;
private System.Windows.Forms.ContextMenuStrip cmsLv;
private System.Windows.Forms.ToolStripMenuItem menuRemove;
private System.Windows.Forms.ToolStripMenuItem menuSelectAll;
private System.Windows.Forms.ToolStripMenuItem menuAdd;
private System.Windows.Forms.MenuStrip menuServer;
private System.Windows.Forms.ToolStripMenuItem MenuItem1;
private System.Windows.Forms.ToolStripMenuItem MenuItemAdvanced;
private System.Windows.Forms.ToolStripMenuItem menuSetDefaultRouting;
private System.Windows.Forms.TabControl tabNormal;
private System.Windows.Forms.TabPage tabPageProxy;
private System.Windows.Forms.TabPage tabPageDirect;
private System.Windows.Forms.TabPage tabPageBlock;
private System.Windows.Forms.Panel panel5;
private System.Windows.Forms.GroupBox groupBox5;
private System.Windows.Forms.TextBox txtProxyIp;
private System.Windows.Forms.GroupBox groupBox6;
private System.Windows.Forms.TextBox txtProxyDomain;
private System.Windows.Forms.Panel panel4;
private System.Windows.Forms.GroupBox groupBox3;
private System.Windows.Forms.TextBox txtDirectIp;
private System.Windows.Forms.GroupBox groupBox4;
private System.Windows.Forms.TextBox txtDirectDomain;
private System.Windows.Forms.Panel panel3;
private System.Windows.Forms.GroupBox groupBox2;
private System.Windows.Forms.TextBox txtBlockIp;
private System.Windows.Forms.GroupBox groupBox1;
private System.Windows.Forms.TextBox txtBlockDomain;
private System.Windows.Forms.TabPage tabPageRuleList;
private Base.ListViewFlickerFree lvRoutings;
private System.Windows.Forms.Label labRoutingTips;
private System.Windows.Forms.CheckBox chkenableRoutingAdvanced;
private System.Windows.Forms.ToolStripMenuItem MenuItemBasic;
private System.Windows.Forms.ToolStripMenuItem menuImportBasicRules;
}
}

View File

@@ -10,6 +10,7 @@ namespace v2rayN.Forms
public partial class RoutingSettingForm : BaseForm
{
private List<int> lvSelecteds = new List<int>();
private RoutingItem lockedItem;
public RoutingSettingForm()
{
InitializeComponent();
@@ -20,6 +21,7 @@ namespace v2rayN.Forms
ConfigHandler.InitBuiltinRouting(ref config);
cmbdomainStrategy.Text = config.domainStrategy;
chkenableRoutingAdvanced.Checked = config.enableRoutingAdvanced;
if (config.routings == null)
{
@@ -27,55 +29,28 @@ namespace v2rayN.Forms
}
InitRoutingsView();
RefreshRoutingsView();
BindingLockedData();
InitUI();
}
private void InitRoutingsView()
private void tabNormal_Selecting(object sender, TabControlCancelEventArgs e)
{
lvRoutings.BeginUpdate();
lvRoutings.Items.Clear();
lvRoutings.GridLines = true;
lvRoutings.FullRowSelect = true;
lvRoutings.View = View.Details;
lvRoutings.MultiSelect = true;
lvRoutings.HeaderStyle = ColumnHeaderStyle.Clickable;
lvRoutings.Columns.Add("", 30);
lvRoutings.Columns.Add(UIRes.I18N("LvAlias"), 200);
lvRoutings.Columns.Add(UIRes.I18N("LvUrl"), 240);
lvRoutings.Columns.Add(UIRes.I18N("LvCount"), 60);
lvRoutings.EndUpdate();
//if (tabNormal.SelectedTab == tabPageRuleList)
//{
// MenuItem1.Enabled = true;
//}
//else
//{
// MenuItem1.Enabled = false;
//}
}
private void RefreshRoutingsView()
{
lvRoutings.BeginUpdate();
lvRoutings.Items.Clear();
for (int k = 0; k < config.routings.Count; k++)
{
string def = string.Empty;
if (config.routingIndex.Equals(k))
{
def = "√";
}
var item = config.routings[k];
ListViewItem lvItem = new ListViewItem(def);
Utils.AddSubItem(lvItem, "remarks", item.remarks);
Utils.AddSubItem(lvItem, "url", item.url);
Utils.AddSubItem(lvItem, "count", item.rules.Count.ToString());
if (lvItem != null) lvRoutings.Items.Add(lvItem);
}
lvRoutings.EndUpdate();
}
private void btnOK_Click(object sender, EventArgs e)
{
config.domainStrategy = cmbdomainStrategy.Text;
config.enableRoutingAdvanced = chkenableRoutingAdvanced.Checked;
EndBindingLockedData();
if (ConfigHandler.SaveRouting(ref config) == 0)
{
@@ -91,6 +66,117 @@ namespace v2rayN.Forms
{
this.DialogResult = DialogResult.Cancel;
}
private void chkenableRoutingAdvanced_CheckedChanged_1(object sender, EventArgs e)
{
InitUI();
}
private void InitUI()
{
if (chkenableRoutingAdvanced.Checked)
{
this.tabPageProxy.Parent = null;
this.tabPageDirect.Parent = null;
this.tabPageBlock.Parent = null;
this.tabPageRuleList.Parent = tabNormal;
MenuItemBasic.Enabled = false;
MenuItemAdvanced.Enabled = true;
}
else
{
this.tabPageProxy.Parent = tabNormal;
this.tabPageDirect.Parent = tabNormal;
this.tabPageBlock.Parent = tabNormal;
this.tabPageRuleList.Parent = null;
MenuItemBasic.Enabled = true;
MenuItemAdvanced.Enabled = false;
}
}
#region locked
private void BindingLockedData()
{
lockedItem = ConfigHandler.GetLockedRoutingItem(ref config);
if (lockedItem != null)
{
txtProxyDomain.Text = Utils.List2String(lockedItem.rules[0].domain, true);
txtProxyIp.Text = Utils.List2String(lockedItem.rules[0].ip, true);
txtDirectDomain.Text = Utils.List2String(lockedItem.rules[1].domain, true);
txtDirectIp.Text = Utils.List2String(lockedItem.rules[1].ip, true);
txtBlockDomain.Text = Utils.List2String(lockedItem.rules[2].domain, true);
txtBlockIp.Text = Utils.List2String(lockedItem.rules[2].ip, true);
}
}
private void EndBindingLockedData()
{
if (lockedItem != null)
{
lockedItem.rules[0].domain = Utils.String2List(txtProxyDomain.Text.TrimEx());
lockedItem.rules[0].ip = Utils.String2List(txtProxyIp.Text.TrimEx());
lockedItem.rules[1].domain = Utils.String2List(txtDirectDomain.Text.TrimEx());
lockedItem.rules[1].ip = Utils.String2List(txtDirectIp.Text.TrimEx());
lockedItem.rules[2].domain = Utils.String2List(txtBlockDomain.Text.TrimEx());
lockedItem.rules[2].ip = Utils.String2List(txtBlockIp.Text.TrimEx());
}
}
#endregion
#region ListView
private void InitRoutingsView()
{
lvRoutings.BeginUpdate();
lvRoutings.Items.Clear();
lvRoutings.GridLines = true;
lvRoutings.FullRowSelect = true;
lvRoutings.View = View.Details;
lvRoutings.MultiSelect = true;
lvRoutings.HeaderStyle = ColumnHeaderStyle.Clickable;
lvRoutings.Columns.Add("", 30);
lvRoutings.Columns.Add(UIRes.I18N("LvAlias"), 200);
lvRoutings.Columns.Add(UIRes.I18N("LvCount"), 60);
lvRoutings.Columns.Add(UIRes.I18N("LvUrl"), 240);
lvRoutings.EndUpdate();
}
private void RefreshRoutingsView()
{
lvRoutings.BeginUpdate();
lvRoutings.Items.Clear();
for (int k = 0; k < config.routings.Count; k++)
{
var item = config.routings[k];
if (item.locked == true)
{
continue;
}
string def = string.Empty;
if (config.routingIndex.Equals(k))
{
def = "√";
}
ListViewItem lvItem = new ListViewItem(def);
Utils.AddSubItem(lvItem, "remarks", item.remarks);
Utils.AddSubItem(lvItem, "count", item.rules.Count.ToString());
Utils.AddSubItem(lvItem, "url", item.url);
if (lvItem != null) lvRoutings.Items.Add(lvItem);
}
lvRoutings.EndUpdate();
}
private void linkLabelRoutingDoc_LinkClicked(object sender, LinkLabelLinkClickedEventArgs e)
{
@@ -137,6 +223,9 @@ namespace v2rayN.Forms
}
}
#endregion
#region Edit function
@@ -197,8 +286,17 @@ namespace v2rayN.Forms
}
return 0;
}
#endregion
private void menuImportBasicRules_Click(object sender, EventArgs e)
{
//Extra to bypass the mainland
txtDirectDomain.Text = "geosite:cn";
txtDirectIp.Text = "geoip:private,geoip:cn";
txtBlockDomain.Text = "geosite:category-ads-all";
}
#endregion
}
}

View File

@@ -123,7 +123,7 @@
</data>
<assembly alias="System.Drawing" name="System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
<data name="btnClose.Location" type="System.Drawing.Point, System.Drawing">
<value>568, 17</value>
<value>753, 17</value>
</data>
<data name="btnClose.Size" type="System.Drawing.Size, System.Drawing">
<value>75, 23</value>
@@ -145,13 +145,40 @@
<value>panel2</value>
</data>
<data name="&gt;&gt;btnClose.ZOrder" xml:space="preserve">
<value>1</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>5, 22</value>
</data>
<data name="labRoutingTips.Size" type="System.Drawing.Size, System.Drawing">
<value>562, 16</value>
</data>
<data name="labRoutingTips.TabIndex" type="System.Int32, mscorlib">
<value>34</value>
</data>
<data name="labRoutingTips.Text" xml:space="preserve">
<value>*Set the rules, separated by commas (,); The comma in the regular is replaced by &lt;COMMA&gt;</value>
</data>
<data name="&gt;&gt;labRoutingTips.Name" xml:space="preserve">
<value>labRoutingTips</value>
</data>
<data name="&gt;&gt;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="&gt;&gt;labRoutingTips.Parent" xml:space="preserve">
<value>panel2</value>
</data>
<data name="&gt;&gt;labRoutingTips.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>475, 17</value>
<value>660, 17</value>
</data>
<data name="btnOK.Size" type="System.Drawing.Size, System.Drawing">
<value>75, 23</value>
@@ -172,7 +199,7 @@
<value>panel2</value>
</data>
<data name="&gt;&gt;btnOK.ZOrder" xml:space="preserve">
<value>1</value>
<value>2</value>
</data>
<data name="panel2.Dock" type="System.Windows.Forms.DockStyle, System.Windows.Forms">
<value>Bottom</value>
@@ -181,7 +208,7 @@
<value>0, 613</value>
</data>
<data name="panel2.Size" type="System.Drawing.Size, System.Drawing">
<value>765, 60</value>
<value>853, 60</value>
</data>
<data name="panel2.TabIndex" type="System.Int32, mscorlib">
<value>7</value>
@@ -198,6 +225,36 @@
<data name="&gt;&gt;panel2.ZOrder" xml:space="preserve">
<value>3</value>
</data>
<data name="chkenableRoutingAdvanced.AutoSize" type="System.Boolean, mscorlib">
<value>True</value>
</data>
<data name="chkenableRoutingAdvanced.ImeMode" type="System.Windows.Forms.ImeMode, System.Windows.Forms">
<value>NoControl</value>
</data>
<data name="chkenableRoutingAdvanced.Location" type="System.Drawing.Point, System.Drawing">
<value>318, 17</value>
</data>
<data name="chkenableRoutingAdvanced.Size" type="System.Drawing.Size, System.Drawing">
<value>216, 16</value>
</data>
<data name="chkenableRoutingAdvanced.TabIndex" type="System.Int32, mscorlib">
<value>26</value>
</data>
<data name="chkenableRoutingAdvanced.Text" xml:space="preserve">
<value>Enable advanced routing function</value>
</data>
<data name="&gt;&gt;chkenableRoutingAdvanced.Name" xml:space="preserve">
<value>chkenableRoutingAdvanced</value>
</data>
<data name="&gt;&gt;chkenableRoutingAdvanced.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="&gt;&gt;chkenableRoutingAdvanced.Parent" xml:space="preserve">
<value>panel1</value>
</data>
<data name="&gt;&gt;chkenableRoutingAdvanced.ZOrder" xml:space="preserve">
<value>0</value>
</data>
<data name="linkLabelRoutingDoc.AutoSize" type="System.Boolean, mscorlib">
<value>True</value>
</data>
@@ -229,7 +286,7 @@
<value>panel1</value>
</data>
<data name="&gt;&gt;linkLabelRoutingDoc.ZOrder" xml:space="preserve">
<value>0</value>
<value>1</value>
</data>
<data name="cmbdomainStrategy.Items" xml:space="preserve">
<value>AsIs</value>
@@ -259,7 +316,7 @@
<value>panel1</value>
</data>
<data name="&gt;&gt;cmbdomainStrategy.ZOrder" xml:space="preserve">
<value>1</value>
<value>2</value>
</data>
<data name="panel1.Dock" type="System.Windows.Forms.DockStyle, System.Windows.Forms">
<value>Top</value>
@@ -268,7 +325,7 @@
<value>0, 25</value>
</data>
<data name="panel1.Size" type="System.Drawing.Size, System.Drawing">
<value>765, 51</value>
<value>853, 51</value>
</data>
<data name="panel1.TabIndex" type="System.Int32, mscorlib">
<value>11</value>
@@ -312,14 +369,14 @@
<data name="menuSetDefaultRouting.Text" xml:space="preserve">
<value>Set as active routing</value>
</data>
<data name="MenuItem1.Size" type="System.Drawing.Size, System.Drawing">
<value>120, 21</value>
<data name="MenuItemAdvanced.Size" type="System.Drawing.Size, System.Drawing">
<value>129, 21</value>
</data>
<data name="MenuItem1.Text" xml:space="preserve">
<value>Edit and Function</value>
<data name="MenuItemAdvanced.Text" xml:space="preserve">
<value>Advanced Function</value>
</data>
<data name="cmsLv.Size" type="System.Drawing.Size, System.Drawing">
<value>195, 114</value>
<value>195, 92</value>
</data>
<data name="&gt;&gt;cmsLv.Name" xml:space="preserve">
<value>cmsLv</value>
@@ -327,6 +384,537 @@
<data name="&gt;&gt;cmsLv.Type" xml:space="preserve">
<value>System.Windows.Forms.ContextMenuStrip, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<metadata name="menuServer.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>139, 17</value>
</metadata>
<data name="menuImportBasicRules.Size" type="System.Drawing.Size, System.Drawing">
<value>185, 22</value>
</data>
<data name="menuImportBasicRules.Text" xml:space="preserve">
<value>Import Basic Rules</value>
</data>
<data name="MenuItemBasic.Size" type="System.Drawing.Size, System.Drawing">
<value>102, 21</value>
</data>
<data name="MenuItemBasic.Text" xml:space="preserve">
<value>Basic Function</value>
</data>
<data name="menuServer.Location" type="System.Drawing.Point, System.Drawing">
<value>0, 0</value>
</data>
<data name="menuServer.Size" type="System.Drawing.Size, System.Drawing">
<value>853, 25</value>
</data>
<data name="menuServer.TabIndex" type="System.Int32, mscorlib">
<value>15</value>
</data>
<data name="&gt;&gt;menuServer.Name" xml:space="preserve">
<value>menuServer</value>
</data>
<data name="&gt;&gt;menuServer.Type" xml:space="preserve">
<value>System.Windows.Forms.MenuStrip, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;menuServer.Parent" xml:space="preserve">
<value>$this</value>
</data>
<data name="&gt;&gt;menuServer.ZOrder" xml:space="preserve">
<value>4</value>
</data>
<data name="txtProxyIp.Dock" type="System.Windows.Forms.DockStyle, System.Windows.Forms">
<value>Fill</value>
</data>
<data name="txtProxyIp.Location" type="System.Drawing.Point, System.Drawing">
<value>3, 17</value>
</data>
<data name="txtProxyIp.Multiline" type="System.Boolean, mscorlib">
<value>True</value>
</data>
<data name="txtProxyIp.ScrollBars" type="System.Windows.Forms.ScrollBars, System.Windows.Forms">
<value>Vertical</value>
</data>
<data name="txtProxyIp.Size" type="System.Drawing.Size, System.Drawing">
<value>441, 485</value>
</data>
<data name="txtProxyIp.TabIndex" type="System.Int32, mscorlib">
<value>25</value>
</data>
<data name="&gt;&gt;txtProxyIp.Name" xml:space="preserve">
<value>txtProxyIp</value>
</data>
<data name="&gt;&gt;txtProxyIp.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="&gt;&gt;txtProxyIp.Parent" xml:space="preserve">
<value>groupBox5</value>
</data>
<data name="&gt;&gt;txtProxyIp.ZOrder" xml:space="preserve">
<value>0</value>
</data>
<data name="groupBox5.Dock" type="System.Windows.Forms.DockStyle, System.Windows.Forms">
<value>Fill</value>
</data>
<data name="groupBox5.Location" type="System.Drawing.Point, System.Drawing">
<value>392, 0</value>
</data>
<data name="groupBox5.Size" type="System.Drawing.Size, System.Drawing">
<value>447, 505</value>
</data>
<data name="groupBox5.TabIndex" type="System.Int32, mscorlib">
<value>4</value>
</data>
<data name="groupBox5.Text" xml:space="preserve">
<value>IP</value>
</data>
<data name="&gt;&gt;groupBox5.Name" xml:space="preserve">
<value>groupBox5</value>
</data>
<data name="&gt;&gt;groupBox5.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="&gt;&gt;groupBox5.Parent" xml:space="preserve">
<value>panel5</value>
</data>
<data name="&gt;&gt;groupBox5.ZOrder" xml:space="preserve">
<value>0</value>
</data>
<data name="txtProxyDomain.Dock" type="System.Windows.Forms.DockStyle, System.Windows.Forms">
<value>Fill</value>
</data>
<data name="txtProxyDomain.Location" type="System.Drawing.Point, System.Drawing">
<value>3, 17</value>
</data>
<data name="txtProxyDomain.Multiline" type="System.Boolean, mscorlib">
<value>True</value>
</data>
<data name="txtProxyDomain.ScrollBars" type="System.Windows.Forms.ScrollBars, System.Windows.Forms">
<value>Vertical</value>
</data>
<data name="txtProxyDomain.Size" type="System.Drawing.Size, System.Drawing">
<value>386, 485</value>
</data>
<data name="txtProxyDomain.TabIndex" type="System.Int32, mscorlib">
<value>24</value>
</data>
<data name="&gt;&gt;txtProxyDomain.Name" xml:space="preserve">
<value>txtProxyDomain</value>
</data>
<data name="&gt;&gt;txtProxyDomain.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="&gt;&gt;txtProxyDomain.Parent" xml:space="preserve">
<value>groupBox6</value>
</data>
<data name="&gt;&gt;txtProxyDomain.ZOrder" xml:space="preserve">
<value>0</value>
</data>
<data name="groupBox6.Dock" type="System.Windows.Forms.DockStyle, System.Windows.Forms">
<value>Left</value>
</data>
<data name="groupBox6.Location" type="System.Drawing.Point, System.Drawing">
<value>0, 0</value>
</data>
<data name="groupBox6.Size" type="System.Drawing.Size, System.Drawing">
<value>392, 505</value>
</data>
<data name="groupBox6.TabIndex" type="System.Int32, mscorlib">
<value>3</value>
</data>
<data name="groupBox6.Text" xml:space="preserve">
<value>Domain</value>
</data>
<data name="&gt;&gt;groupBox6.Name" xml:space="preserve">
<value>groupBox6</value>
</data>
<data name="&gt;&gt;groupBox6.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="&gt;&gt;groupBox6.Parent" xml:space="preserve">
<value>panel5</value>
</data>
<data name="&gt;&gt;groupBox6.ZOrder" xml:space="preserve">
<value>1</value>
</data>
<data name="panel5.Dock" type="System.Windows.Forms.DockStyle, System.Windows.Forms">
<value>Fill</value>
</data>
<data name="panel5.Location" type="System.Drawing.Point, System.Drawing">
<value>3, 3</value>
</data>
<data name="panel5.Size" type="System.Drawing.Size, System.Drawing">
<value>839, 505</value>
</data>
<data name="panel5.TabIndex" type="System.Int32, mscorlib">
<value>12</value>
</data>
<data name="&gt;&gt;panel5.Name" xml:space="preserve">
<value>panel5</value>
</data>
<data name="&gt;&gt;panel5.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="&gt;&gt;panel5.Parent" xml:space="preserve">
<value>tabPageProxy</value>
</data>
<data name="&gt;&gt;panel5.ZOrder" xml:space="preserve">
<value>0</value>
</data>
<data name="tabPageProxy.Location" type="System.Drawing.Point, System.Drawing">
<value>4, 22</value>
</data>
<data name="tabPageProxy.Padding" type="System.Windows.Forms.Padding, System.Windows.Forms">
<value>3, 3, 3, 3</value>
</data>
<data name="tabPageProxy.Size" type="System.Drawing.Size, System.Drawing">
<value>845, 511</value>
</data>
<data name="tabPageProxy.TabIndex" type="System.Int32, mscorlib">
<value>0</value>
</data>
<data name="tabPageProxy.Text" xml:space="preserve">
<value>1.Proxy Domain or IP</value>
</data>
<data name="&gt;&gt;tabPageProxy.Name" xml:space="preserve">
<value>tabPageProxy</value>
</data>
<data name="&gt;&gt;tabPageProxy.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="&gt;&gt;tabPageProxy.Parent" xml:space="preserve">
<value>tabNormal</value>
</data>
<data name="&gt;&gt;tabPageProxy.ZOrder" xml:space="preserve">
<value>0</value>
</data>
<data name="txtDirectIp.Dock" type="System.Windows.Forms.DockStyle, System.Windows.Forms">
<value>Fill</value>
</data>
<data name="txtDirectIp.Location" type="System.Drawing.Point, System.Drawing">
<value>3, 17</value>
</data>
<data name="txtDirectIp.Multiline" type="System.Boolean, mscorlib">
<value>True</value>
</data>
<data name="txtDirectIp.ScrollBars" type="System.Windows.Forms.ScrollBars, System.Windows.Forms">
<value>Vertical</value>
</data>
<data name="txtDirectIp.Size" type="System.Drawing.Size, System.Drawing">
<value>441, 485</value>
</data>
<data name="txtDirectIp.TabIndex" type="System.Int32, mscorlib">
<value>25</value>
</data>
<data name="&gt;&gt;txtDirectIp.Name" xml:space="preserve">
<value>txtDirectIp</value>
</data>
<data name="&gt;&gt;txtDirectIp.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="&gt;&gt;txtDirectIp.Parent" xml:space="preserve">
<value>groupBox3</value>
</data>
<data name="&gt;&gt;txtDirectIp.ZOrder" xml:space="preserve">
<value>0</value>
</data>
<data name="groupBox3.Dock" type="System.Windows.Forms.DockStyle, System.Windows.Forms">
<value>Fill</value>
</data>
<data name="groupBox3.Location" type="System.Drawing.Point, System.Drawing">
<value>392, 0</value>
</data>
<data name="groupBox3.Size" type="System.Drawing.Size, System.Drawing">
<value>447, 505</value>
</data>
<data name="groupBox3.TabIndex" type="System.Int32, mscorlib">
<value>4</value>
</data>
<data name="groupBox3.Text" xml:space="preserve">
<value>IP</value>
</data>
<data name="&gt;&gt;groupBox3.Name" xml:space="preserve">
<value>groupBox3</value>
</data>
<data name="&gt;&gt;groupBox3.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="&gt;&gt;groupBox3.Parent" xml:space="preserve">
<value>panel4</value>
</data>
<data name="&gt;&gt;groupBox3.ZOrder" xml:space="preserve">
<value>0</value>
</data>
<data name="txtDirectDomain.Dock" type="System.Windows.Forms.DockStyle, System.Windows.Forms">
<value>Fill</value>
</data>
<data name="txtDirectDomain.Location" type="System.Drawing.Point, System.Drawing">
<value>3, 17</value>
</data>
<data name="txtDirectDomain.Multiline" type="System.Boolean, mscorlib">
<value>True</value>
</data>
<data name="txtDirectDomain.ScrollBars" type="System.Windows.Forms.ScrollBars, System.Windows.Forms">
<value>Vertical</value>
</data>
<data name="txtDirectDomain.Size" type="System.Drawing.Size, System.Drawing">
<value>386, 485</value>
</data>
<data name="txtDirectDomain.TabIndex" type="System.Int32, mscorlib">
<value>24</value>
</data>
<data name="&gt;&gt;txtDirectDomain.Name" xml:space="preserve">
<value>txtDirectDomain</value>
</data>
<data name="&gt;&gt;txtDirectDomain.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="&gt;&gt;txtDirectDomain.Parent" xml:space="preserve">
<value>groupBox4</value>
</data>
<data name="&gt;&gt;txtDirectDomain.ZOrder" xml:space="preserve">
<value>0</value>
</data>
<data name="groupBox4.Dock" type="System.Windows.Forms.DockStyle, System.Windows.Forms">
<value>Left</value>
</data>
<data name="groupBox4.Location" type="System.Drawing.Point, System.Drawing">
<value>0, 0</value>
</data>
<data name="groupBox4.Size" type="System.Drawing.Size, System.Drawing">
<value>392, 505</value>
</data>
<data name="groupBox4.TabIndex" type="System.Int32, mscorlib">
<value>3</value>
</data>
<data name="groupBox4.Text" xml:space="preserve">
<value>Domain</value>
</data>
<data name="&gt;&gt;groupBox4.Name" xml:space="preserve">
<value>groupBox4</value>
</data>
<data name="&gt;&gt;groupBox4.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="&gt;&gt;groupBox4.Parent" xml:space="preserve">
<value>panel4</value>
</data>
<data name="&gt;&gt;groupBox4.ZOrder" xml:space="preserve">
<value>1</value>
</data>
<data name="panel4.Dock" type="System.Windows.Forms.DockStyle, System.Windows.Forms">
<value>Fill</value>
</data>
<data name="panel4.Location" type="System.Drawing.Point, System.Drawing">
<value>3, 3</value>
</data>
<data name="panel4.Size" type="System.Drawing.Size, System.Drawing">
<value>839, 505</value>
</data>
<data name="panel4.TabIndex" type="System.Int32, mscorlib">
<value>12</value>
</data>
<data name="&gt;&gt;panel4.Name" xml:space="preserve">
<value>panel4</value>
</data>
<data name="&gt;&gt;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="&gt;&gt;panel4.Parent" xml:space="preserve">
<value>tabPageDirect</value>
</data>
<data name="&gt;&gt;panel4.ZOrder" xml:space="preserve">
<value>0</value>
</data>
<data name="tabPageDirect.Location" type="System.Drawing.Point, System.Drawing">
<value>4, 22</value>
</data>
<data name="tabPageDirect.Padding" type="System.Windows.Forms.Padding, System.Windows.Forms">
<value>3, 3, 3, 3</value>
</data>
<data name="tabPageDirect.Size" type="System.Drawing.Size, System.Drawing">
<value>845, 511</value>
</data>
<data name="tabPageDirect.TabIndex" type="System.Int32, mscorlib">
<value>1</value>
</data>
<data name="tabPageDirect.Text" xml:space="preserve">
<value>2.Direct Domain or IP</value>
</data>
<data name="&gt;&gt;tabPageDirect.Name" xml:space="preserve">
<value>tabPageDirect</value>
</data>
<data name="&gt;&gt;tabPageDirect.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="&gt;&gt;tabPageDirect.Parent" xml:space="preserve">
<value>tabNormal</value>
</data>
<data name="&gt;&gt;tabPageDirect.ZOrder" xml:space="preserve">
<value>1</value>
</data>
<data name="txtBlockIp.Dock" type="System.Windows.Forms.DockStyle, System.Windows.Forms">
<value>Fill</value>
</data>
<data name="txtBlockIp.Location" type="System.Drawing.Point, System.Drawing">
<value>3, 17</value>
</data>
<data name="txtBlockIp.Multiline" type="System.Boolean, mscorlib">
<value>True</value>
</data>
<data name="txtBlockIp.ScrollBars" type="System.Windows.Forms.ScrollBars, System.Windows.Forms">
<value>Vertical</value>
</data>
<data name="txtBlockIp.Size" type="System.Drawing.Size, System.Drawing">
<value>441, 485</value>
</data>
<data name="txtBlockIp.TabIndex" type="System.Int32, mscorlib">
<value>25</value>
</data>
<data name="&gt;&gt;txtBlockIp.Name" xml:space="preserve">
<value>txtBlockIp</value>
</data>
<data name="&gt;&gt;txtBlockIp.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="&gt;&gt;txtBlockIp.Parent" xml:space="preserve">
<value>groupBox2</value>
</data>
<data name="&gt;&gt;txtBlockIp.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>447, 505</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="&gt;&gt;groupBox2.Name" xml:space="preserve">
<value>groupBox2</value>
</data>
<data name="&gt;&gt;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="&gt;&gt;groupBox2.Parent" xml:space="preserve">
<value>panel3</value>
</data>
<data name="&gt;&gt;groupBox2.ZOrder" xml:space="preserve">
<value>0</value>
</data>
<data name="txtBlockDomain.Dock" type="System.Windows.Forms.DockStyle, System.Windows.Forms">
<value>Fill</value>
</data>
<data name="txtBlockDomain.Location" type="System.Drawing.Point, System.Drawing">
<value>3, 17</value>
</data>
<data name="txtBlockDomain.Multiline" type="System.Boolean, mscorlib">
<value>True</value>
</data>
<data name="txtBlockDomain.ScrollBars" type="System.Windows.Forms.ScrollBars, System.Windows.Forms">
<value>Vertical</value>
</data>
<data name="txtBlockDomain.Size" type="System.Drawing.Size, System.Drawing">
<value>386, 485</value>
</data>
<data name="txtBlockDomain.TabIndex" type="System.Int32, mscorlib">
<value>24</value>
</data>
<data name="&gt;&gt;txtBlockDomain.Name" xml:space="preserve">
<value>txtBlockDomain</value>
</data>
<data name="&gt;&gt;txtBlockDomain.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="&gt;&gt;txtBlockDomain.Parent" xml:space="preserve">
<value>groupBox1</value>
</data>
<data name="&gt;&gt;txtBlockDomain.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, 505</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="&gt;&gt;groupBox1.Name" xml:space="preserve">
<value>groupBox1</value>
</data>
<data name="&gt;&gt;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="&gt;&gt;groupBox1.Parent" xml:space="preserve">
<value>panel3</value>
</data>
<data name="&gt;&gt;groupBox1.ZOrder" xml:space="preserve">
<value>1</value>
</data>
<data name="panel3.Dock" type="System.Windows.Forms.DockStyle, System.Windows.Forms">
<value>Fill</value>
</data>
<data name="panel3.Location" type="System.Drawing.Point, System.Drawing">
<value>3, 3</value>
</data>
<data name="panel3.Size" type="System.Drawing.Size, System.Drawing">
<value>839, 505</value>
</data>
<data name="panel3.TabIndex" type="System.Int32, mscorlib">
<value>12</value>
</data>
<data name="&gt;&gt;panel3.Name" xml:space="preserve">
<value>panel3</value>
</data>
<data name="&gt;&gt;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="&gt;&gt;panel3.Parent" xml:space="preserve">
<value>tabPageBlock</value>
</data>
<data name="&gt;&gt;panel3.ZOrder" xml:space="preserve">
<value>0</value>
</data>
<data name="tabPageBlock.Location" type="System.Drawing.Point, System.Drawing">
<value>4, 22</value>
</data>
<data name="tabPageBlock.Padding" type="System.Windows.Forms.Padding, System.Windows.Forms">
<value>3, 3, 3, 3</value>
</data>
<data name="tabPageBlock.Size" type="System.Drawing.Size, System.Drawing">
<value>845, 511</value>
</data>
<data name="tabPageBlock.TabIndex" type="System.Int32, mscorlib">
<value>2</value>
</data>
<data name="tabPageBlock.Text" xml:space="preserve">
<value>3.Block Domain or IP</value>
</data>
<data name="&gt;&gt;tabPageBlock.Name" xml:space="preserve">
<value>tabPageBlock</value>
</data>
<data name="&gt;&gt;tabPageBlock.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="&gt;&gt;tabPageBlock.Parent" xml:space="preserve">
<value>tabNormal</value>
</data>
<data name="&gt;&gt;tabPageBlock.ZOrder" xml:space="preserve">
<value>2</value>
</data>
<data name="lvRoutings.Dock" type="System.Windows.Forms.DockStyle, System.Windows.Forms">
<value>Fill</value>
</data>
@@ -351,10 +939,10 @@
<value>3, 3</value>
</data>
<data name="lvRoutings.Size" type="System.Drawing.Size, System.Drawing">
<value>751, 505</value>
<value>839, 505</value>
</data>
<data name="lvRoutings.TabIndex" type="System.Int32, mscorlib">
<value>12</value>
<value>15</value>
</data>
<data name="&gt;&gt;lvRoutings.Name" xml:space="preserve">
<value>lvRoutings</value>
@@ -363,86 +951,62 @@
<value>v2rayN.Base.ListViewFlickerFree, v2rayN, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null</value>
</data>
<data name="&gt;&gt;lvRoutings.Parent" xml:space="preserve">
<value>tabPage2</value>
<value>tabPageRuleList</value>
</data>
<data name="&gt;&gt;lvRoutings.ZOrder" xml:space="preserve">
<value>0</value>
</data>
<data name="tabPage2.Location" type="System.Drawing.Point, System.Drawing">
<data name="tabPageRuleList.Location" type="System.Drawing.Point, System.Drawing">
<value>4, 22</value>
</data>
<data name="tabPage2.Padding" type="System.Windows.Forms.Padding, System.Windows.Forms">
<data name="tabPageRuleList.Padding" type="System.Windows.Forms.Padding, System.Windows.Forms">
<value>3, 3, 3, 3</value>
</data>
<data name="tabPage2.Size" type="System.Drawing.Size, System.Drawing">
<value>757, 511</value>
<data name="tabPageRuleList.Size" type="System.Drawing.Size, System.Drawing">
<value>845, 511</value>
</data>
<data name="tabPage2.TabIndex" type="System.Int32, mscorlib">
<value>0</value>
<data name="tabPageRuleList.TabIndex" type="System.Int32, mscorlib">
<value>3</value>
</data>
<data name="tabPage2.Text" xml:space="preserve">
<value>RuleSetList</value>
<data name="tabPageRuleList.Text" xml:space="preserve">
<value>Pre-defined Rule Set List</value>
</data>
<data name="&gt;&gt;tabPage2.Name" xml:space="preserve">
<value>tabPage2</value>
<data name="&gt;&gt;tabPageRuleList.Name" xml:space="preserve">
<value>tabPageRuleList</value>
</data>
<data name="&gt;&gt;tabPage2.Type" xml:space="preserve">
<data name="&gt;&gt;tabPageRuleList.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="&gt;&gt;tabPage2.Parent" xml:space="preserve">
<value>tabControl2</value>
<data name="&gt;&gt;tabPageRuleList.Parent" xml:space="preserve">
<value>tabNormal</value>
</data>
<data name="&gt;&gt;tabPage2.ZOrder" xml:space="preserve">
<value>0</value>
<data name="&gt;&gt;tabPageRuleList.ZOrder" xml:space="preserve">
<value>3</value>
</data>
<data name="tabControl2.Dock" type="System.Windows.Forms.DockStyle, System.Windows.Forms">
<data name="tabNormal.Dock" type="System.Windows.Forms.DockStyle, System.Windows.Forms">
<value>Fill</value>
</data>
<data name="tabControl2.Location" type="System.Drawing.Point, System.Drawing">
<data name="tabNormal.Location" type="System.Drawing.Point, System.Drawing">
<value>0, 76</value>
</data>
<data name="tabControl2.Size" type="System.Drawing.Size, System.Drawing">
<value>765, 537</value>
<data name="tabNormal.Size" type="System.Drawing.Size, System.Drawing">
<value>853, 537</value>
</data>
<data name="tabControl2.TabIndex" type="System.Int32, mscorlib">
<value>14</value>
<data name="tabNormal.TabIndex" type="System.Int32, mscorlib">
<value>16</value>
</data>
<data name="&gt;&gt;tabControl2.Name" xml:space="preserve">
<value>tabControl2</value>
<data name="&gt;&gt;tabNormal.Name" xml:space="preserve">
<value>tabNormal</value>
</data>
<data name="&gt;&gt;tabControl2.Type" xml:space="preserve">
<data name="&gt;&gt;tabNormal.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="&gt;&gt;tabControl2.Parent" xml:space="preserve">
<data name="&gt;&gt;tabNormal.Parent" xml:space="preserve">
<value>$this</value>
</data>
<data name="&gt;&gt;tabControl2.ZOrder" xml:space="preserve">
<data name="&gt;&gt;tabNormal.ZOrder" xml:space="preserve">
<value>1</value>
</data>
<metadata name="menuServer.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>139, 17</value>
</metadata>
<data name="menuServer.Location" type="System.Drawing.Point, System.Drawing">
<value>0, 0</value>
</data>
<data name="menuServer.Size" type="System.Drawing.Size, System.Drawing">
<value>765, 25</value>
</data>
<data name="menuServer.TabIndex" type="System.Int32, mscorlib">
<value>15</value>
</data>
<data name="&gt;&gt;menuServer.Name" xml:space="preserve">
<value>menuServer</value>
</data>
<data name="&gt;&gt;menuServer.Type" xml:space="preserve">
<value>System.Windows.Forms.MenuStrip, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;menuServer.Parent" xml:space="preserve">
<value>$this</value>
</data>
<data name="&gt;&gt;menuServer.ZOrder" xml:space="preserve">
<value>4</value>
</data>
<metadata name="$this.Localizable" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
@@ -450,7 +1014,7 @@
<value>6, 12</value>
</data>
<data name="$this.ClientSize" type="System.Drawing.Size, System.Drawing">
<value>765, 673</value>
<value>853, 673</value>
</data>
<data name="$this.Text" xml:space="preserve">
<value>Routing Settings</value>
@@ -479,10 +1043,22 @@
<data name="&gt;&gt;menuSetDefaultRouting.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="&gt;&gt;MenuItem1.Name" xml:space="preserve">
<value>MenuItem1</value>
<data name="&gt;&gt;MenuItemAdvanced.Name" xml:space="preserve">
<value>MenuItemAdvanced</value>
</data>
<data name="&gt;&gt;MenuItem1.Type" xml:space="preserve">
<data name="&gt;&gt;MenuItemAdvanced.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="&gt;&gt;MenuItemBasic.Name" xml:space="preserve">
<value>MenuItemBasic</value>
</data>
<data name="&gt;&gt;MenuItemBasic.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="&gt;&gt;menuImportBasicRules.Name" xml:space="preserve">
<value>menuImportBasicRules</value>
</data>
<data name="&gt;&gt;menuImportBasicRules.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="&gt;&gt;$this.Name" xml:space="preserve">

View File

@@ -117,18 +117,39 @@
<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>691, 17</value>
</data>
<data name="btnClose.Text" xml:space="preserve">
<value>取消(&amp;C)</value>
</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">
<value>518, 16</value>
</data>
<data name="labRoutingTips.Text" xml:space="preserve">
<value>*设置的路由规则,用逗号(,)分隔;正则中的逗号用&lt;COMMA&gt;替代</value>
</data>
<data name="btnOK.Location" type="System.Drawing.Point, System.Drawing">
<value>598, 17</value>
</data>
<data name="btnOK.Text" xml:space="preserve">
<value>确定(&amp;O)</value>
</data>
<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">
<value>0, 474</value>
<data name="panel1.Size" type="System.Drawing.Size, System.Drawing">
<value>817, 51</value>
</data>
<data name="panel2.Size" type="System.Drawing.Size, System.Drawing">
<value>726, 60</value>
<data name="chkenableRoutingAdvanced.Size" type="System.Drawing.Size, System.Drawing">
<value>120, 16</value>
</data>
<data name="chkenableRoutingAdvanced.Text" xml:space="preserve">
<value>启用路由高级功能</value>
</data>
<data name="linkLabelRoutingDoc.Size" type="System.Drawing.Size, System.Drawing">
<value>77, 12</value>
@@ -136,8 +157,8 @@
<data name="linkLabelRoutingDoc.Text" xml:space="preserve">
<value>域名解析策略</value>
</data>
<data name="panel1.Size" type="System.Drawing.Size, System.Drawing">
<value>726, 51</value>
<data name="cmsLv.Size" type="System.Drawing.Size, System.Drawing">
<value>149, 92</value>
</data>
<data name="menuAdd.Size" type="System.Drawing.Size, System.Drawing">
<value>148, 22</value>
@@ -163,14 +184,98 @@
<data name="menuSetDefaultRouting.Text" xml:space="preserve">
<value>设为活动路由</value>
</data>
<data name="MenuItem1.Size" type="System.Drawing.Size, System.Drawing">
<value>104, 21</value>
<data name="MenuItemAdvanced.Size" type="System.Drawing.Size, System.Drawing">
<value>68, 21</value>
</data>
<data name="MenuItem1.Text" xml:space="preserve">
<value>路由规则集功能</value>
<data name="MenuItemAdvanced.Text" xml:space="preserve">
<value>高级功能</value>
</data>
<data name="cmsLv.Size" type="System.Drawing.Size, System.Drawing">
<value>149, 92</value>
<data name="menuServer.Size" type="System.Drawing.Size, System.Drawing">
<value>817, 25</value>
</data>
<data name="MenuItemBasic.Size" type="System.Drawing.Size, System.Drawing">
<value>68, 21</value>
</data>
<data name="MenuItemBasic.Text" xml:space="preserve">
<value>基础功能</value>
</data>
<data name="menuImportBasicRules.Size" type="System.Drawing.Size, System.Drawing">
<value>180, 22</value>
</data>
<data name="menuImportBasicRules.Text" xml:space="preserve">
<value>一键导入基础规则</value>
</data>
<data name="tabNormal.Size" type="System.Drawing.Size, System.Drawing">
<value>817, 469</value>
</data>
<data name="tabPageProxy.Size" type="System.Drawing.Size, System.Drawing">
<value>809, 443</value>
</data>
<data name="tabPageProxy.Text" xml:space="preserve">
<value> 1.代理的Domain或IP </value>
</data>
<data name="panel5.Size" type="System.Drawing.Size, System.Drawing">
<value>803, 437</value>
</data>
<data name="groupBox5.Size" type="System.Drawing.Size, System.Drawing">
<value>411, 437</value>
</data>
<data name="txtProxyIp.Size" type="System.Drawing.Size, System.Drawing">
<value>405, 417</value>
</data>
<data name="groupBox6.Size" type="System.Drawing.Size, System.Drawing">
<value>392, 437</value>
</data>
<data name="txtProxyDomain.Size" type="System.Drawing.Size, System.Drawing">
<value>386, 417</value>
</data>
<data name="tabPageDirect.Size" type="System.Drawing.Size, System.Drawing">
<value>809, 443</value>
</data>
<data name="tabPageDirect.Text" xml:space="preserve">
<value> 2.直连的Domain或IP </value>
</data>
<data name="panel4.Size" type="System.Drawing.Size, System.Drawing">
<value>803, 437</value>
</data>
<data name="groupBox3.Size" type="System.Drawing.Size, System.Drawing">
<value>411, 437</value>
</data>
<data name="txtDirectIp.Size" type="System.Drawing.Size, System.Drawing">
<value>405, 417</value>
</data>
<data name="groupBox4.Size" type="System.Drawing.Size, System.Drawing">
<value>392, 437</value>
</data>
<data name="txtDirectDomain.Size" type="System.Drawing.Size, System.Drawing">
<value>386, 417</value>
</data>
<data name="tabPageBlock.Size" type="System.Drawing.Size, System.Drawing">
<value>809, 443</value>
</data>
<data name="tabPageBlock.Text" xml:space="preserve">
<value> 3.阻止的Domain或IP </value>
</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">
<value>
@@ -190,22 +295,10 @@
</value>
</data>
<data name="lvRoutings.Size" type="System.Drawing.Size, System.Drawing">
<value>712, 366</value>
</data>
<data name="tabPage2.Size" type="System.Drawing.Size, System.Drawing">
<value>718, 372</value>
</data>
<data name="tabPage2.Text" xml:space="preserve">
<value>路由规则集列表</value>
</data>
<data name="tabControl2.Size" type="System.Drawing.Size, System.Drawing">
<value>726, 398</value>
</data>
<data name="menuServer.Size" type="System.Drawing.Size, System.Drawing">
<value>726, 25</value>
<value>803, 437</value>
</data>
<data name="$this.ClientSize" type="System.Drawing.Size, System.Drawing">
<value>726, 534</value>
<value>817, 605</value>
</data>
<data name="$this.Text" xml:space="preserve">
<value>路由设置</value>

View File

@@ -44,7 +44,6 @@
//
// grbMain
//
resources.ApplyResources(this.grbMain, "grbMain");
this.grbMain.Controls.Add(this.btnShare);
this.grbMain.Controls.Add(this.chkEnabled);
this.grbMain.Controls.Add(this.btnRemove);
@@ -52,6 +51,7 @@
this.grbMain.Controls.Add(this.txtRemarks);
this.grbMain.Controls.Add(this.label2);
this.grbMain.Controls.Add(this.label3);
resources.ApplyResources(this.grbMain, "grbMain");
this.grbMain.Name = "grbMain";
this.grbMain.TabStop = false;
//

View File

@@ -118,136 +118,49 @@
<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="label2.ImeMode" type="System.Windows.Forms.ImeMode, System.Windows.Forms">
<data name="btnShare.ImeMode" type="System.Windows.Forms.ImeMode, System.Windows.Forms">
<value>NoControl</value>
</data>
<data name="&gt;&gt;txtUrl.Parent" xml:space="preserve">
<value>grbMain</value>
</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">
<value>60, 16</value>
</data>
<data name="&gt;&gt;txtUrl.Name" xml:space="preserve">
<value>txtUrl</value>
</data>
<data name="&gt;&gt;picQRCode.Name" xml:space="preserve">
<value>picQRCode</value>
</data>
<data name="&gt;&gt;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="&gt;&gt;txtRemarks.Name" xml:space="preserve">
<value>txtRemarks</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="&gt;&gt;grbMain.Name" xml:space="preserve">
<value>grbMain</value>
</data>
<data name="&gt;&gt;$this.Name" xml:space="preserve">
<value>SubSettingControl</value>
</data>
<data name="picQRCode.SizeMode" type="System.Windows.Forms.PictureBoxSizeMode, System.Windows.Forms">
<value>Zoom</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="&gt;&gt;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="&gt;&gt;txtRemarks.Parent" xml:space="preserve">
<value>grbMain</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 name="btnShare.Size" type="System.Drawing.Size, System.Drawing">
<value>75, 23</value>
</data>
<data name="&gt;&gt;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="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="&gt;&gt;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="label3.AutoSize" type="System.Boolean, mscorlib">
<value>True</value>
<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="picQRCode.Size" type="System.Drawing.Size, System.Drawing">
<value>619, 200</value>
<data name="&gt;&gt;btnShare.Name" xml:space="preserve">
<value>btnShare</value>
</data>
<data name="&gt;&gt;chkEnabled.ZOrder" xml:space="preserve">
<value>1</value>
<data name="&gt;&gt;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="label3.Location" type="System.Drawing.Point, System.Drawing">
<value>12, 55</value>
</data>
<data name="btnShare.ImeMode" type="System.Windows.Forms.ImeMode, System.Windows.Forms">
<value>NoControl</value>
</data>
<data name="picQRCode.Dock" type="System.Windows.Forms.DockStyle, System.Windows.Forms">
<value>Fill</value>
</data>
<data name="&gt;&gt;grbMain.Parent" xml:space="preserve">
<value>$this</value>
</data>
<data name="picQRCode.TabIndex" type="System.Int32, mscorlib">
<value>25</value>
</data>
<data name="txtUrl.Location" type="System.Drawing.Point, System.Drawing">
<value>127, 55</value>
</data>
<data name="&gt;&gt;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="&gt;&gt;txtUrl.ZOrder" xml:space="preserve">
<value>3</value>
</data>
<data name="&gt;&gt;chkEnabled.Parent" xml:space="preserve">
<data name="&gt;&gt;btnShare.Parent" xml:space="preserve">
<value>grbMain</value>
</data>
<data name="&gt;&gt;label2.ZOrder" xml:space="preserve">
<value>5</value>
<data name="&gt;&gt;btnShare.ZOrder" xml:space="preserve">
<value>0</value>
</data>
<data name="&gt;&gt;grbMain.Type" xml:space="preserve">
<value>System.Windows.Forms.GroupBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
<data name="chkEnabled.AutoSize" type="System.Boolean, mscorlib">
<value>True</value>
</data>
<data name="label2.Size" type="System.Drawing.Size, System.Drawing">
<value>47, 12</value>
<data name="chkEnabled.ImeMode" type="System.Windows.Forms.ImeMode, System.Windows.Forms">
<value>NoControl</value>
</data>
<data name="&gt;&gt;btnRemove.Name" xml:space="preserve">
<value>btnRemove</value>
<data name="chkEnabled.Location" type="System.Drawing.Point, System.Drawing">
<value>368, 23</value>
</data>
<data name="&gt;&gt;txtUrl.Type" xml:space="preserve">
<value>System.Windows.Forms.TextBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
<data name="chkEnabled.Size" type="System.Drawing.Size, System.Drawing">
<value>60, 16</value>
</data>
<data name="chkEnabled.TabIndex" type="System.Int32, mscorlib">
<value>25</value>
</data>
<data name="chkEnabled.Text" xml:space="preserve">
<value>Enable</value>
@@ -255,130 +168,220 @@
<data name="&gt;&gt;chkEnabled.Name" xml:space="preserve">
<value>chkEnabled</value>
</data>
<data name="&gt;&gt;txtRemarks.ZOrder" xml:space="preserve">
<value>4</value>
<data name="&gt;&gt;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="&gt;&gt;chkEnabled.Parent" xml:space="preserve">
<value>grbMain</value>
</data>
<data name="&gt;&gt;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="$this.Size" type="System.Drawing.Size, System.Drawing">
<value>619, 310</value>
<data name="btnRemove.Location" type="System.Drawing.Point, System.Drawing">
<value>525, 21</value>
</data>
<data name="btnShare.Size" type="System.Drawing.Size, System.Drawing">
<data name="btnRemove.Size" type="System.Drawing.Size, System.Drawing">
<value>75, 23</value>
</data>
<data name="&gt;&gt;btnRemove.ZOrder" xml:space="preserve">
<value>2</value>
<data name="btnRemove.TabIndex" type="System.Int32, mscorlib">
<value>24</value>
</data>
<data name="&gt;&gt;btnShare.Parent" xml:space="preserve">
<value>grbMain</value>
<data name="btnRemove.Text" xml:space="preserve">
<value>Remove</value>
</data>
<data name="chkEnabled.TabIndex" type="System.Int32, mscorlib">
<value>25</value>
<data name="&gt;&gt;btnRemove.Name" xml:space="preserve">
<value>btnRemove</value>
</data>
<data name="txtUrl.TabIndex" type="System.Int32, mscorlib">
<value>23</value>
</data>
<data name="&gt;&gt;label2.Parent" xml:space="preserve">
<value>grbMain</value>
<data name="&gt;&gt;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="&gt;&gt;btnRemove.Parent" xml:space="preserve">
<value>grbMain</value>
</data>
<data name="chkEnabled.Location" type="System.Drawing.Point, System.Drawing">
<value>368, 23</value>
<data name="&gt;&gt;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="&gt;&gt;txtUrl.Name" xml:space="preserve">
<value>txtUrl</value>
</data>
<data name="&gt;&gt;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="&gt;&gt;txtUrl.Parent" xml:space="preserve">
<value>grbMain</value>
</data>
<data name="&gt;&gt;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="&gt;&gt;txtRemarks.Name" xml:space="preserve">
<value>txtRemarks</value>
</data>
<data name="&gt;&gt;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="&gt;&gt;txtRemarks.Parent" xml:space="preserve">
<value>grbMain</value>
</data>
<data name="&gt;&gt;txtRemarks.ZOrder" xml:space="preserve">
<value>4</value>
</data>
<data name="label2.AutoSize" type="System.Boolean, mscorlib">
<value>True</value>
</data>
<data name="chkEnabled.AutoSize" type="System.Boolean, mscorlib">
<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="&gt;&gt;label2.Name" xml:space="preserve">
<value>label2</value>
</data>
<data name="&gt;&gt;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="&gt;&gt;label2.Parent" xml:space="preserve">
<value>grbMain</value>
</data>
<data name="&gt;&gt;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="&gt;&gt;label3.Name" xml:space="preserve">
<value>label3</value>
</data>
<data name="&gt;&gt;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="&gt;&gt;label3.Parent" xml:space="preserve">
<value>grbMain</value>
</data>
<data name="&gt;&gt;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="&gt;&gt;grbMain.Name" xml:space="preserve">
<value>grbMain</value>
</data>
<data name="&gt;&gt;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="&gt;&gt;grbMain.Parent" xml:space="preserve">
<value>$this</value>
</data>
<data name="&gt;&gt;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">
<value>Zoom</value>
</data>
<data name="picQRCode.TabIndex" type="System.Int32, mscorlib">
<value>25</value>
</data>
<data name="&gt;&gt;picQRCode.Name" xml:space="preserve">
<value>picQRCode</value>
</data>
<data name="&gt;&gt;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="&gt;&gt;picQRCode.Parent" xml:space="preserve">
<value>$this</value>
</data>
<data name="&gt;&gt;picQRCode.ZOrder" xml:space="preserve">
<value>0</value>
</data>
<data name="label3.ImeMode" type="System.Windows.Forms.ImeMode, System.Windows.Forms">
<value>NoControl</value>
<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="&gt;&gt;label2.Name" xml:space="preserve">
<value>label2</value>
<data name="$this.Size" type="System.Drawing.Size, System.Drawing">
<value>619, 310</value>
</data>
<data name="&gt;&gt;$this.Name" xml:space="preserve">
<value>SubSettingControl</value>
</data>
<data name="&gt;&gt;$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="grbMain.Size" type="System.Drawing.Size, System.Drawing">
<value>619, 110</value>
</data>
<data name="&gt;&gt;btnShare.Name" xml:space="preserve">
<value>btnShare</value>
</data>
<data name="&gt;&gt;btnShare.ZOrder" xml:space="preserve">
<value>0</value>
</data>
<data name="chkEnabled.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="txtRemarks.TabIndex" type="System.Int32, mscorlib">
<value>11</value>
</data>
<data name="label2.Text" xml:space="preserve">
<value>Remarks</value>
</data>
<data name="label3.TabIndex" type="System.Int32, mscorlib">
<value>0</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="&gt;&gt;grbMain.ZOrder" xml:space="preserve">
<value>1</value>
</data>
<data name="label3.Text" xml:space="preserve">
<value>Address (url)</value>
</data>
<data name="&gt;&gt;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.TabIndex" type="System.Int32, mscorlib">
<value>10</value>
</data>
<data name="&gt;&gt;label3.Parent" xml:space="preserve">
<value>grbMain</value>
</data>
<data name="btnRemove.Location" type="System.Drawing.Point, System.Drawing">
<value>525, 21</value>
</data>
<data name="&gt;&gt;label3.ZOrder" xml:space="preserve">
<value>6</value>
</data>
<data name="&gt;&gt;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="&gt;&gt;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>

View File

@@ -1,4 +1,6 @@

using System.Collections.Generic;
namespace v2rayN
{
class Global
@@ -190,6 +192,8 @@ namespace v2rayN
public const string IEProxyExceptions = "localhost;127.*;10.*;172.16.*;172.17.*;172.18.*;172.19.*;172.20.*;172.21.*;172.22.*;172.23.*;172.24.*;172.25.*;172.26.*;172.27.*;172.28.*;172.29.*;172.30.*;172.31.*;192.168.*";
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" };
#endregion
#region

View File

@@ -283,7 +283,8 @@ namespace v2rayN.Handler
streamSecurity = config.vmess[index].streamSecurity,
allowInsecure = config.vmess[index].allowInsecure,
configType = config.vmess[index].configType,
flow = config.vmess[index].flow
flow = config.vmess[index].flow,
sni = config.vmess[index].sni
};
config.vmess.Insert(index + 1, vmessItem); // 插入到下一项
@@ -528,8 +529,7 @@ namespace v2rayN.Handler
vmessItem.id = vmessItem.id.TrimEx();
vmessItem.security = vmessItem.security.TrimEx();
var securitys = new HashSet<string>() { "aes-256-gcm", "aes-128-gcm", "chacha20-poly1305", "chacha20-ietf-poly1305", "none", "plain" };
if (!securitys.Contains(vmessItem.security))
if (!Global.ssSecuritys.Contains(vmessItem.security))
{
return -1;
}
@@ -615,7 +615,10 @@ namespace v2rayN.Handler
vmessItem.id = vmessItem.id.TrimEx();
vmessItem.streamSecurity = Global.StreamSecurity;
vmessItem.allowInsecure = "false";
if (Utils.IsNullOrEmpty(vmessItem.allowInsecure))
{
vmessItem.allowInsecure = config.defAllowInsecure.ToString();
}
if (index >= 0)
{
@@ -1001,6 +1004,14 @@ namespace v2rayN.Handler
foreach (var item in config.routings)
{
}
//move locked item
int index = config.routings.FindIndex(it => it.locked == true);
if (index != -1)
{
var item = Utils.DeepCopy(config.routings[index]);
config.routings.RemoveAt(index);
config.routings.Add(item);
}
if (config.routingIndex >= config.routings.Count)
{
@@ -1151,32 +1162,43 @@ namespace v2rayN.Handler
{
config.routings = new List<RoutingItem>();
}
if (config.routings.Count > 0)
if (config.routings.Count <= 0)
{
return 0;
//Bypass the mainland
var item2 = new RoutingItem();
item2.remarks = "绕过大陆(Whitelist)";
item2.url = string.Empty;
item2.rules = new List<RulesItem>();
string result2 = Utils.GetEmbedText(Global.CustomRoutingFileName + "white");
AddBatchRoutingRules(ref item2, result2);
config.routings.Add(item2);
config.routingIndex = 0;
}
if (GetLockedRoutingItem(ref config) == null)
{
var item1 = new RoutingItem();
item1.remarks = "locked";
item1.url = string.Empty;
item1.rules = new List<RulesItem>();
item1.locked = true;
string result1 = Utils.GetEmbedText(Global.CustomRoutingFileName + "locked");
AddBatchRoutingRules(ref item1, result1);
config.routings.Add(item1);
}
config.routingIndex = 0;
//Global
var item1 = new RoutingItem();
item1.remarks = "全局(Global)";
item1.url = string.Empty;
item1.rules = new List<RulesItem>();
string result = Utils.GetEmbedText(Global.CustomRoutingFileName + "global");
AddBatchRoutingRules(ref item1, result);
config.routings.Add(item1);
//Bypass the mainland
var item2 = new RoutingItem();
item2.remarks = "绕过大陆(Whitelist)";
item2.url = string.Empty;
item2.rules = new List<RulesItem>();
string result2 = Utils.GetEmbedText(Global.CustomRoutingFileName + "white");
AddBatchRoutingRules(ref item2, result2);
config.routings.Add(item2);
ToJsonFile(config);
SaveRouting(ref config);
return 0;
}
public static RoutingItem GetLockedRoutingItem(ref Config config)
{
if (config.routings == null)
{
return null;
}
return config.routings.Find(it => it.locked == true);
}
#endregion
}

View File

@@ -9,6 +9,7 @@ namespace v2rayN.Handler
class MainFormHandler
{
private static MainFormHandler instance;
Action<bool, string> updateUI;
//private DownloadHandle downloadHandle2;
//private Config _config;
@@ -164,6 +165,77 @@ namespace v2rayN.Handler
return counter;
}
public void UpdateSubscriptionProcess(Config config, Action<bool, string> update)
{
updateUI = update;
updateUI(false, UIRes.I18N("MsgUpdateSubscriptionStart"));
if (config.subItem == null || config.subItem.Count <= 0)
{
updateUI(false, UIRes.I18N("MsgNoValidSubscription"));
return;
}
for (int k = 1; k <= config.subItem.Count; k++)
{
string id = config.subItem[k - 1].id.TrimEx();
string url = config.subItem[k - 1].url.TrimEx();
string hashCode = $"{k}->";
if (config.subItem[k - 1].enabled == false)
{
continue;
}
if (Utils.IsNullOrEmpty(id) || Utils.IsNullOrEmpty(url))
{
updateUI(false, $"{hashCode}{UIRes.I18N("MsgNoValidSubscription")}");
continue;
}
DownloadHandle downloadHandle3 = new DownloadHandle();
downloadHandle3.UpdateCompleted += (sender2, args) =>
{
if (args.Success)
{
updateUI(false, $"{hashCode}{UIRes.I18N("MsgGetSubscriptionSuccessfully")}");
string result = Utils.Base64Decode(args.Msg);
if (Utils.IsNullOrEmpty(result))
{
updateUI(false, $"{hashCode}{UIRes.I18N("MsgSubscriptionDecodingFailed")}");
return;
}
ConfigHandler.RemoveServerViaSubid(ref config, id);
updateUI(false, $"{hashCode}{UIRes.I18N("MsgClearSubscription")}");
// RefreshServers();
int ret = MainFormHandler.Instance.AddBatchServers(config, result, id);
if (ret > 0)
{
// RefreshServers();
}
else
{
updateUI(false, $"{hashCode}{UIRes.I18N("MsgFailedImportSubscription")}");
}
updateUI(true, $"{hashCode}{UIRes.I18N("MsgUpdateSubscriptionEnd")}");
}
else
{
updateUI(false, args.Msg);
}
};
downloadHandle3.Error += (sender2, args) =>
{
updateUI(false, args.GetException().Message);
};
downloadHandle3.WebDownloadString(url);
updateUI(false, $"{hashCode}{UIRes.I18N("MsgStartGettingSubscriptions")}");
}
}
}
}

View File

@@ -44,7 +44,8 @@ namespace v2rayN.Handler
type = item.headerType,
host = item.requestHost,
path = item.path,
tls = item.streamSecurity
tls = item.streamSecurity,
sni = item.sni
};
url = Utils.ToJson(vmessQRCode);
@@ -90,13 +91,13 @@ namespace v2rayN.Handler
remark = "#" + Utils.UrlEncode(item.remarks);
}
string query = string.Empty;
if (!Utils.IsNullOrEmpty(item.requestHost))
if (!Utils.IsNullOrEmpty(item.sni))
{
query = string.Format("?sni={0}", Utils.UrlEncode(item.requestHost));
query = string.Format("?sni={0}", Utils.UrlEncode(item.sni));
}
url = string.Format("{0}@{1}:{2}",
item.id,
item.address,
GetIpv6(item.address),
item.port);
url = string.Format("{0}{1}{2}{3}", Global.trojanProtocol, url, query, remark);
}
@@ -128,6 +129,10 @@ namespace v2rayN.Handler
{
dicQuery.Add("security", "none");
}
if (!Utils.IsNullOrEmpty(item.sni))
{
dicQuery.Add("sni", item.sni);
}
if (!Utils.IsNullOrEmpty(item.network))
{
dicQuery.Add("type", item.network);
@@ -209,7 +214,7 @@ namespace v2rayN.Handler
url = string.Format("{0}@{1}:{2}",
item.id,
item.address,
GetIpv6(item.address),
item.port);
url = string.Format("{0}{1}{2}{3}", Global.vlessProtocol, url, query, remark);
}
@@ -224,6 +229,10 @@ namespace v2rayN.Handler
}
}
private static string GetIpv6(string address)
{
return Utils.IsIpv6(address) ? $"[{address}]" : address;
}
#endregion
#region ImportShareUrl
@@ -294,6 +303,7 @@ namespace v2rayN.Handler
vmessItem.requestHost = Utils.ToString(vmessQRCode.host);
vmessItem.path = Utils.ToString(vmessQRCode.path);
vmessItem.streamSecurity = Utils.ToString(vmessQRCode.tls);
vmessItem.sni = Utils.ToString(vmessQRCode.sni);
}
ConfigHandler.UpgradeServerVersion(ref vmessItem);
@@ -374,7 +384,7 @@ namespace v2rayN.Handler
vmessItem.id = uri.UserInfo;
var qurery = HttpUtility.ParseQueryString(uri.Query);
vmessItem.requestHost = qurery["sni"] ?? "";
vmessItem.sni = qurery["sni"] ?? "";
var remarks = uri.Fragment.Replace("#", "");
if (Utils.IsNullOrEmpty(remarks))
@@ -640,6 +650,7 @@ namespace v2rayN.Handler
item.flow = query["flow"] ?? "";
item.security = query["encryption"] ?? "none";
item.streamSecurity = query["security"] ?? "";
item.sni = query["sni"] ?? "";
item.network = query["type"] ?? "tcp";
switch (item.network)
{

View File

@@ -190,11 +190,25 @@ namespace v2rayN.Handler
{
v2rayConfig.routing.domainStrategy = config.domainStrategy;
if (config.routings != null && config.routingIndex < config.routings.Count)
if (config.enableRoutingAdvanced)
{
foreach (var item in config.routings[config.routingIndex].rules)
if (config.routings != null && config.routingIndex < config.routings.Count)
{
routingUserRule(item, ref v2rayConfig);
foreach (var item in config.routings[config.routingIndex].rules)
{
routingUserRule(item, ref v2rayConfig);
}
}
}
else
{
var lockedItem = ConfigHandler.GetLockedRoutingItem(ref config);
if (lockedItem != null)
{
foreach (var item in lockedItem.rules)
{
routingUserRule(item, ref v2rayConfig);
}
}
}
}
@@ -370,7 +384,15 @@ namespace v2rayN.Handler
serversItem.address = config.address();
serversItem.port = config.port();
serversItem.password = config.id();
serversItem.method = config.security();
if (Global.ssSecuritys.Contains(config.security()))
{
serversItem.method = config.security();
}
else
{
serversItem.method = "none";
}
serversItem.ota = false;
serversItem.level = 1;
@@ -531,6 +553,8 @@ namespace v2rayN.Handler
//远程服务器底层传输配置
streamSettings.network = config.network();
string host = config.requestHost();
string sni = config.sni();
//if tls
if (config.streamSecurity() == Global.StreamSecurity)
{
@@ -540,7 +564,11 @@ namespace v2rayN.Handler
{
allowInsecure = config.allowInsecure()
};
if (!string.IsNullOrWhiteSpace(host))
if (!string.IsNullOrWhiteSpace(sni))
{
tlsSettings.serverName = sni;
}
else if (!string.IsNullOrWhiteSpace(host))
{
tlsSettings.serverName = Utils.String2List(host)[0];
}
@@ -556,7 +584,11 @@ namespace v2rayN.Handler
{
allowInsecure = config.allowInsecure()
};
if (!string.IsNullOrWhiteSpace(host))
if (!string.IsNullOrWhiteSpace(sni))
{
xtlsSettings.serverName = sni;
}
else if (!string.IsNullOrWhiteSpace(host))
{
xtlsSettings.serverName = Utils.String2List(host)[0];
}
@@ -660,9 +692,22 @@ namespace v2rayN.Handler
streamSettings.quicSettings = quicsettings;
if (config.streamSecurity() == Global.StreamSecurity)
{
streamSettings.tlsSettings.serverName = config.address();
if (!string.IsNullOrWhiteSpace(sni))
{
streamSettings.tlsSettings.serverName = sni;
}
else
{
streamSettings.tlsSettings.serverName = config.address();
}
}
break;
case "grpc":
var grpcSettings = new GrpcSettings();
grpcSettings.serviceName = config.path();
streamSettings.grpcSettings = grpcSettings;
break;
default:
//tcp带http伪装
if (config.headerType().Equals(Global.TcpHeaderHttp))

View File

@@ -169,7 +169,11 @@ namespace v2rayN.Mode
{
get; set;
}
public bool enableRoutingAdvanced
{
get; set;
}
public ECoreType coreType
{
get; set;
@@ -342,6 +346,14 @@ namespace v2rayN.Mode
}
return vmess[index].flow.TrimEx();
}
public string sni()
{
if (index < 0)
{
return string.Empty;
}
return vmess[index].sni.TrimEx();
}
#endregion
}
@@ -568,6 +580,13 @@ namespace v2rayN.Mode
{
get; set;
}
/// <summary>
/// tls sni
/// </summary>
public string sni
{
get; set;
}
}
[Serializable]

View File

@@ -6,6 +6,7 @@ using System.Threading.Tasks;
namespace v2rayN.Mode
{
[Serializable]
public class RoutingItem
{
public string remarks
@@ -22,5 +23,10 @@ namespace v2rayN.Mode
}
public bool enabled { get; set; } = true;
public bool locked
{
get; set;
}
}
}

View File

@@ -377,6 +377,10 @@ namespace v2rayN.Mode
/// VLESS xtls
/// </summary>
public TlsSettings xtlsSettings { get; set; }
/// <summary>
/// grpc
/// </summary>
public GrpcSettings grpcSettings { get; set; }
}
@@ -508,4 +512,12 @@ namespace v2rayN.Mode
public Header header { get; set; }
}
public class GrpcSettings
{
/// <summary>
///
/// </summary>
public string serviceName { get; set; }
}
}

View File

@@ -49,5 +49,9 @@ namespace v2rayN.Mode
/// 底层传输安全
/// </summary>
public string tls { get; set; } = string.Empty;
}
/// <summary>
/// SNI
/// </summary>
public string sni { get; set; } = string.Empty;
}
}

View File

@@ -32,4 +32,4 @@ using System.Runtime.InteropServices;
// 方法是按如下所示使用“*”:
//[assembly: AssemblyVersion("1.0.*")]
//[assembly: AssemblyVersion("1.0.0")]
[assembly: AssemblyFileVersion("4.7")]
[assembly: AssemblyFileVersion("4.13")]

View File

@@ -238,7 +238,7 @@
<value>Clear original subscription content</value>
</data>
<data name="MsgDownloadV2rayCoreSuccessfully" xml:space="preserve">
<value>Download V2ray successfully</value>
<value>Download Core successfully</value>
</data>
<data name="MsgFailedImportSubscription" xml:space="preserve">
<value>Failed to import subscription content</value>
@@ -283,10 +283,10 @@
<value>Update subscription starts</value>
</data>
<data name="MsgUpdateV2rayCoreSuccessfully" xml:space="preserve">
<value>Update V2rayCore successfully</value>
<value>Update Core successfully</value>
</data>
<data name="MsgUpdateV2rayCoreSuccessfullyMore" xml:space="preserve">
<value>Update V2rayCore successfully! Restarting service...</value>
<value>Update Core successfully! Restarting service...</value>
</data>
<data name="NeedHttpGlobalProxy" xml:space="preserve">
<value> This feature relies on the Http global proxy, please set it correctly first.</value>
@@ -298,7 +298,7 @@
<value> non-Vmess service, this feature is invalid</value>
</data>
<data name="NotFoundCore" xml:space="preserve">
<value>V2ray-core not found, please download: {0}</value>
<value>Core not found, please download: {0}</value>
</data>
<data name="NoValidQRcodeFound" xml:space="preserve">
<value>Scan completed, no valid QR code found</value>
@@ -385,4 +385,4 @@
<data name="MsgNeedUrl" xml:space="preserve">
<value>Please fill in the address (Url)</value>
</data>
</root>
</root>

View File

@@ -238,7 +238,7 @@
<value>清除原订阅内容</value>
</data>
<data name="MsgDownloadV2rayCoreSuccessfully" xml:space="preserve">
<value>下载V2ray成功</value>
<value>下载Core成功</value>
</data>
<data name="MsgFailedImportSubscription" xml:space="preserve">
<value>导入订阅内容失败</value>
@@ -283,10 +283,10 @@
<value>更新订阅开始</value>
</data>
<data name="MsgUpdateV2rayCoreSuccessfully" xml:space="preserve">
<value>更新V2rayCore成功</value>
<value>更新Core成功</value>
</data>
<data name="MsgUpdateV2rayCoreSuccessfullyMore" xml:space="preserve">
<value>更新V2rayCore成功正在重启服务...</value>
<value>更新Core成功正在重启服务...</value>
</data>
<data name="NeedHttpGlobalProxy" xml:space="preserve">
<value>此功能依赖Http全局代理,请先设置正确。</value>
@@ -298,7 +298,7 @@
<value>非Vmess服务此功能无效</value>
</data>
<data name="NotFoundCore" xml:space="preserve">
<value>找不到 v2ray-core下载地址: {0}</value>
<value>找不到Core下载地址: {0}</value>
</data>
<data name="NoValidQRcodeFound" xml:space="preserve">
<value>扫描完成,未发现有效二维码</value>
@@ -385,4 +385,4 @@
<data name="MsgNeedUrl" xml:space="preserve">
<value>请填写地址(Url)</value>
</data>
</root>
</root>

View File

@@ -0,0 +1,21 @@
[
{
"domain": [
"geosite:google"
],
"outboundTag": "proxy"
},
{
"outboundTag": "direct",
"domain": [
"domain:example-example.com",
"domain:example-example2.com"
]
},
{
"outboundTag": "block",
"domain": [
"geosite:category-ads-all"
]
}
]

View File

@@ -1,15 +1,23 @@
[{
"outboundTag": "block",
"domain": [
"geosite:category-ads-all"
]
},
{
"outboundTag": "direct",
"domain": [
"geosite:cn"
]
},
[
{
"outboundTag": "direct",
"domain": [
"domain:example-example.com",
"domain:example-example2.com"
]
},
{
"outboundTag": "block",
"domain": [
"geosite:category-ads-all"
]
},
{
"outboundTag": "direct",
"domain": [
"geosite:cn"
]
},
{
"outboundTag": "direct",
"ip": [
@@ -17,8 +25,8 @@
"geoip:cn"
]
},
{
"port": "0-65535",
"outboundTag": "proxy"
}
{
"port": "0-65535",
"outboundTag": "proxy"
}
]

View File

@@ -487,6 +487,24 @@ namespace v2rayN
return Regex.IsMatch(input, pattern, RegexOptions.IgnoreCase);
}
public static bool IsIpv6(string ip)
{
IPAddress address;
if (IPAddress.TryParse(ip, out address))
{
switch (address.AddressFamily)
{
case AddressFamily.InterNetwork:
return false;
case AddressFamily.InterNetworkV6:
return true;
default:
return false;
}
}
return false;
}
#endregion
#region

View File

@@ -388,6 +388,7 @@
<None Include="Resources\sysproxy64.exe.gz" />
<EmbeddedResource Include="Sample\custom_routing_white" />
<EmbeddedResource Include="Sample\custom_routing_global" />
<EmbeddedResource Include="Sample\custom_routing_locked" />
<Protobuf Include="Protos\Statistics.proto" />
</ItemGroup>
<ItemGroup>