diff --git a/v2rayN/v2rayN/Forms/AddServer5Form.Designer.cs b/v2rayN/v2rayN/Forms/AddServer5Form.Designer.cs index 423b7386..e6558407 100644 --- a/v2rayN/v2rayN/Forms/AddServer5Form.Designer.cs +++ b/v2rayN/v2rayN/Forms/AddServer5Form.Designer.cs @@ -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(); @@ -87,14 +89,15 @@ // // 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); // // groupBox1 // + resources.ApplyResources(this.groupBox1, "groupBox1"); this.groupBox1.Controls.Add(this.cmbFlow); this.groupBox1.Controls.Add(this.label4); this.groupBox1.Controls.Add(this.btnGUID); @@ -111,12 +114,12 @@ this.groupBox1.Controls.Add(this.label2); this.groupBox1.Controls.Add(this.txtAddress); this.groupBox1.Controls.Add(this.label1); - resources.ApplyResources(this.groupBox1, "groupBox1"); this.groupBox1.Name = "groupBox1"; this.groupBox1.TabStop = false; // // cmbFlow // + resources.ApplyResources(this.cmbFlow, "cmbFlow"); this.cmbFlow.FormattingEnabled = true; this.cmbFlow.Items.AddRange(new object[] { resources.GetString("cmbFlow.Items"), @@ -124,7 +127,6 @@ resources.GetString("cmbFlow.Items2"), resources.GetString("cmbFlow.Items3"), resources.GetString("cmbFlow.Items4")}); - resources.ApplyResources(this.cmbFlow, "cmbFlow"); this.cmbFlow.Name = "cmbFlow"; // // label4 @@ -146,6 +148,7 @@ // // groupBox2 // + resources.ApplyResources(this.groupBox2, "groupBox2"); this.groupBox2.Controls.Add(this.label24); this.groupBox2.Controls.Add(this.label23); this.groupBox2.Controls.Add(this.panTlsMore); @@ -166,7 +169,6 @@ this.groupBox2.Controls.Add(this.label11); this.groupBox2.Controls.Add(this.label10); this.groupBox2.Controls.Add(this.cmbHeaderType); - resources.ApplyResources(this.groupBox2, "groupBox2"); this.groupBox2.Name = "groupBox2"; this.groupBox2.TabStop = false; // @@ -182,11 +184,23 @@ // // panTlsMore // + resources.ApplyResources(this.panTlsMore, "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"); @@ -194,13 +208,13 @@ // // 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")}); - resources.ApplyResources(this.cmbAllowInsecure, "cmbAllowInsecure"); this.cmbAllowInsecure.Name = "cmbAllowInsecure"; // // label9 @@ -220,6 +234,7 @@ // // cmbNetwork // + resources.ApplyResources(this.cmbNetwork, "cmbNetwork"); this.cmbNetwork.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList; this.cmbNetwork.FormattingEnabled = true; this.cmbNetwork.Items.AddRange(new object[] { @@ -228,7 +243,6 @@ resources.GetString("cmbNetwork.Items2"), resources.GetString("cmbNetwork.Items3"), resources.GetString("cmbNetwork.Items4")}); - resources.ApplyResources(this.cmbNetwork, "cmbNetwork"); this.cmbNetwork.Name = "cmbNetwork"; this.cmbNetwork.SelectedIndexChanged += new System.EventHandler(this.cmbNetwork_SelectedIndexChanged); // @@ -269,13 +283,13 @@ // // 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"), resources.GetString("cmbStreamSecurity.Items2")}); - resources.ApplyResources(this.cmbStreamSecurity, "cmbStreamSecurity"); this.cmbStreamSecurity.Name = "cmbStreamSecurity"; this.cmbStreamSecurity.SelectedIndexChanged += new System.EventHandler(this.cmbStreamSecurity_SelectedIndexChanged); // @@ -301,6 +315,7 @@ // // cmbHeaderType // + resources.ApplyResources(this.cmbHeaderType, "cmbHeaderType"); this.cmbHeaderType.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList; this.cmbHeaderType.FormattingEnabled = true; this.cmbHeaderType.Items.AddRange(new object[] { @@ -311,7 +326,6 @@ resources.GetString("cmbHeaderType.Items4"), resources.GetString("cmbHeaderType.Items5"), resources.GetString("cmbHeaderType.Items6")}); - resources.ApplyResources(this.cmbHeaderType, "cmbHeaderType"); this.cmbHeaderType.Name = "cmbHeaderType"; // // label8 @@ -321,11 +335,11 @@ // // cmbSecurity // + resources.ApplyResources(this.cmbSecurity, "cmbSecurity"); this.cmbSecurity.DropDownStyle = System.Windows.Forms.ComboBoxStyle.Simple; this.cmbSecurity.FormattingEnabled = true; this.cmbSecurity.Items.AddRange(new object[] { resources.GetString("cmbSecurity.Items")}); - resources.ApplyResources(this.cmbSecurity, "cmbSecurity"); this.cmbSecurity.Name = "cmbSecurity"; // // txtRemarks @@ -375,9 +389,9 @@ // // 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 @@ -394,42 +408,42 @@ // // menuServer // + resources.ApplyResources(this.menuServer, "menuServer"); this.menuServer.Items.AddRange(new System.Windows.Forms.ToolStripItem[] { this.MenuItem1}); - resources.ApplyResources(this.menuServer, "menuServer"); this.menuServer.Name = "menuServer"; // // MenuItem1 // + resources.ApplyResources(this.MenuItem1, "MenuItem1"); this.MenuItem1.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] { this.MenuItemImportClient, this.MenuItemImportServer, this.toolStripSeparator1, this.MenuItemImportClipboard}); this.MenuItem1.Name = "MenuItem1"; - resources.ApplyResources(this.MenuItem1, "MenuItem1"); // // MenuItemImportClient // - this.MenuItemImportClient.Name = "MenuItemImportClient"; resources.ApplyResources(this.MenuItemImportClient, "MenuItemImportClient"); + this.MenuItemImportClient.Name = "MenuItemImportClient"; this.MenuItemImportClient.Click += new System.EventHandler(this.MenuItemImportClient_Click); // // MenuItemImportServer // - this.MenuItemImportServer.Name = "MenuItemImportServer"; resources.ApplyResources(this.MenuItemImportServer, "MenuItemImportServer"); + this.MenuItemImportServer.Name = "MenuItemImportServer"; this.MenuItemImportServer.Click += new System.EventHandler(this.MenuItemImportServer_Click); // // toolStripSeparator1 // - this.toolStripSeparator1.Name = "toolStripSeparator1"; resources.ApplyResources(this.toolStripSeparator1, "toolStripSeparator1"); + this.toolStripSeparator1.Name = "toolStripSeparator1"; // // MenuItemImportClipboard // - this.MenuItemImportClipboard.Name = "MenuItemImportClipboard"; resources.ApplyResources(this.MenuItemImportClipboard, "MenuItemImportClipboard"); + this.MenuItemImportClipboard.Name = "MenuItemImportClipboard"; this.MenuItemImportClipboard.Click += new System.EventHandler(this.MenuItemImportClipboard_Click); // // AddServer5Form @@ -509,5 +523,7 @@ 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; } } \ No newline at end of file diff --git a/v2rayN/v2rayN/Forms/AddServer5Form.cs b/v2rayN/v2rayN/Forms/AddServer5Form.cs index 32c7e48c..1a389b3d 100644 --- a/v2rayN/v2rayN/Forms/AddServer5Form.cs +++ b/v2rayN/v2rayN/Forms/AddServer5Form.cs @@ -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) { diff --git a/v2rayN/v2rayN/Forms/AddServer5Form.resx b/v2rayN/v2rayN/Forms/AddServer5Form.resx index e4c57a41..73b868d3 100644 --- a/v2rayN/v2rayN/Forms/AddServer5Form.resx +++ b/v2rayN/v2rayN/Forms/AddServer5Form.resx @@ -117,1270 +117,1324 @@ System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + 6 + - - 396, 17 - - - 75, 23 - - - - 4 - - - &Cancel - - - btnClose - - - System.Windows.Forms.Button, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - panel2 - - - 0 - - - - - - xtls-rprx-origin - - - xtls-rprx-origin-udp443 - - - xtls-rprx-direct - - - xtls-rprx-direct-udp443 - - - 127, 123 - - - 211, 20 - - - 24 - - - cmbFlow - - - System.Windows.Forms.ComboBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - groupBox1 - - - 0 - - - True - - - - NoControl - - - 12, 127 - - - 29, 12 - - - 25 - - - Flow - - - label4 - - - System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - groupBox1 + + 113, 12 1 - - 411, 91 - - - 75, 23 - - - 23 - - - &Generate - - - btnGUID - - - System.Windows.Forms.Button, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - groupBox1 - - - 2 - - - True - 353, 189 - - 113, 12 - - - 22 - - - * Fill in manually - - - label13 - - - System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - groupBox1 - - - 3 - - - True - - - NoControl - - - 529, 207 - - - 119, 12 - - - 35 - - - 3)QUIC key/Kcp seed - - - label24 - - - System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - groupBox2 - - - 0 - - - True - - - NoControl - - - 465, 140 - - - 89, 12 - - - 34 - - - 4)QUIC securty - - - label23 - - - System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - groupBox2 - - - 1 - - - True - - - NoControl - - - 12, 11 - - - 83, 12 - - - 31 - - - allowInsecure - - - label21 - - - System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - panTlsMore - - - 0 - - - - - - true - - - false - - - 107, 7 - - - 91, 20 - - - 30 - - - cmbAllowInsecure - - - System.Windows.Forms.ComboBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - panTlsMore - - - 1 - - - 284, 232 - - - 338, 35 - - - 33 - - - panTlsMore - - - System.Windows.Forms.Panel, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - groupBox2 - - - 2 - - - True - - - 353, 32 - - - 113, 12 - - - 15 - - - *Default value tcp - - - label9 - - - System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - groupBox2 - - - 3 - - - True - - - 464, 124 - - - 203, 12 - - - 29 - - - 3)h2 host Separated by commas (,) - - - label20 - - - System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - groupBox2 - - - 4 - - - 127, 169 - - - True - - - 396, 54 - - - 28 - - - txtPath - - - System.Windows.Forms.TextBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - groupBox2 - - - 5 - - - tcp - - - kcp - - - ws - - - h2 - - - quic - - - 192, 28 - - - 143, 20 - - - 12 - - - cmbNetwork - - - System.Windows.Forms.ComboBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - groupBox2 - - - 6 - - - True - - - 9, 32 - - - 167, 12 - - - 13 - - - Transport protocol(network) - - - label7 - - - System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - groupBox2 - - - 7 - - - True - - - 9, 169 - - - 29, 12 - - - 27 - - - Path - - - label19 - - - System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - groupBox2 - - - 8 - - - True - - - 529, 189 - - - 59, 12 - - - 26 - - - 2)h2 path - - - label18 - - - System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - groupBox2 - - - 9 - - - True - - - 464, 109 - - - 59, 12 - - - 25 - - - 2)ws host - - - label17 - - - System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - groupBox2 - - - 10 - - - True - - - 529, 172 - - - 59, 12 - - - 24 - - - 1)ws path - - - label16 - - - System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - groupBox2 - - - 11 - - - True - - - 464, 94 - - - 215, 12 - - - 23 - - - 1)http host Separated by commas (,) - - - label14 - - - System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - groupBox2 - - - 12 - - - True - - - 9, 243 - - - 23, 12 - - - 22 - - - TLS - - - label15 - - - System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - groupBox2 - - - 13 - - - - - - tls - xtls - - 127, 239 + + 8 - - 143, 20 + + Path - - 21 + + 83, 12 - - cmbStreamSecurity + + Transport protocol(network) - - System.Windows.Forms.ComboBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + 9 - - groupBox2 + + panTlsMore - - 14 + + groupBox1 - - True + + 1 - - 282, 68 + + 6, 12 - - 299, 12 - - - 20 - - - *tcp or kcp or QUIC camouflage type, default none - - - label12 - - - System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - groupBox2 - - - 15 - - - 158, 100 - - - True - - - 300, 53 - - - 16 - - - txtRequestHost - - - System.Windows.Forms.TextBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - groupBox2 - - - 16 - - - True - - - 9, 68 - - - 95, 12 - - - 19 - - - Camouflage type - - - label11 - - - System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - groupBox2 - - - 17 - - - True - - - 9, 100 - - - 143, 12 - - - 17 - - - Camouflage domain(host) - - - label10 - - - System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - groupBox2 - - - 18 - - - none - - - http - - - srtp - - - utp - - - wechat-video - - - dtls - - - wireguard - - - 127, 64 - - - 143, 20 - - - 18 - - - cmbHeaderType + + label15 System.Windows.Forms.ComboBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - groupBox2 + + cmbStreamSecurity + + + 3)h2 host Separated by commas (,) + + + + Top + + + 6 + + + + 3 + + + 17 + + + false + + + System.Windows.Forms.ToolStripSeparator, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 19 - - Bottom - - - 3, 215 - - - 723, 281 - - - 21 - - - Transport - - - groupBox2 - - - System.Windows.Forms.GroupBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - groupBox1 - - - 4 - - + True - - NoControl - - - 353, 157 - - - 119, 12 - - - 14 - - - *Recommended (none) - - - label8 + + System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - + + 297, 7 + + + System.Windows.Forms.TextBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + 127, 123 + + + cmbAllowInsecure + + + 21 + + + 411, 91 + + + 18 + + groupBox1 - - 5 + + 59, 12 + + + 1)ws path + + + 19 + + + True + + + 26 + + + System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + txtId + + + label5 + + + True + + + 729, 499 + + + + + + 12, 95 + + + groupBox2 + + + tls + + + System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + toolStripSeparator1 + + + 299, 12 + + + 4 none - - 127, 154 - - - 211, 20 - - - 6 - - - cmbSecurity - - - System.Windows.Forms.ComboBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - + groupBox1 - - 6 + + 127, 91 + + + 16 + + + utp + + + Bottom + + + &Cancel + + + txtSNI + + + label10 + + + 723, 281 + + + 5 + + + label21 + + + 359, 21 + + + System.Windows.Forms.MenuStrip, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + Edit or add a [VLESS] server + + + 143, 12 + + + groupBox2 + + + tcp + + + panTlsMore + + + NoControl + + + 21 + + + label11 + + + 158, 100 + + + SNI + + + 0 + + + 2 + + + 29, 12 + + + System.Windows.Forms.Panel, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + 234, 6 + + + 237, 22 + + + 3)QUIC key/Kcp seed + + + 127, 59 + + + System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + txtPort + + + 4 + + + groupBox2 + + + 100, 7 + + + label16 127, 185 - - 211, 21 + + True - - 11 + + System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + NoControl + + + NoControl + + + System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Windows.Forms.TextBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + True + + + System.Windows.Forms.Button, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + 29, 12 + + + True + + + ws + + + 13 + + + 15 + + + System.Windows.Forms.Panel, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + 65, 12 + + + 9, 169 + + + System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + 15 + + + xtls-rprx-origin-udp443 + + + label17 + + + panel1 + + + groupBox2 + + + 5 + + + 215, 12 + + + 0, 0 + + + 396, 17 + + + Import configuration file + + + 500, 35 + + + 12, 63 + + + MenuItemImportClient + + + System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + &Generate + + + 127, 154 txtRemarks - - System.Windows.Forms.TextBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + 29, 12 - + + v2rayN.Forms.BaseServerForm, v2rayN, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null + + + groupBox2 + + + panel2 + + + panTlsMore + + + True + + + cmbNetwork + + + 200, 232 + + + 95, 12 + + + System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + 353, 32 + + + System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + label22 + + + 22 + + + 211, 20 + + groupBox1 - - 7 - - + True 12, 189 + + groupBox2 + + + 127, 27 + + + label12 + + + Flow + + + True + + + 282, 68 + + + 12 + + + *tcp or kcp or QUIC camouflage type, default none + + + 25 + + + label23 + + + groupBox1 + + + 9, 68 + + + 119, 12 + + + $this + + + System.Windows.Forms.GroupBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Windows.Forms.ComboBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + 1 + + + 33 + + + 6 + + + 0 + + + 47, 12 + + + System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + label8 + + + System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + 9, 32 + + + System.Windows.Forms.ComboBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + 2 + + + 35 + + + 13 + + + System.Windows.Forms.TextBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + 11 + + + True + + + 464, 94 + + + label9 + + + cmbFlow + + + label20 + + + wechat-video + + + label18 + + + MenuItem1 + + + label1 + + + 13 + + + label7 + + + System.Windows.Forms.Button, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + 211, 20 + + + groupBox2 + + + True + + + groupBox2 + + + True + + + btnClose + + + System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + label19 + + + 143, 21 + 95, 12 - - 10 - - - Alias (remarks) - - - label6 - - - System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - groupBox1 - - 8 + + 0, 35 - + + System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + txtPath + + + 729, 60 + + + allowInsecure + + + True + + + True + + + 464, 124 + + + quic + + + panTlsMore + + + groupBox2 + + + h2 + + + kcp + + + 127, 64 + + + 7 + + + NoControl + + + 211, 21 + + True 12, 158 - - 65, 12 - - - 8 - - - Encryption - - - label5 - - - System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - groupBox1 - - - 9 - - - 127, 91 - - - 278, 21 - - - 5 - - - txtId - - - System.Windows.Forms.TextBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + 18 groupBox1 - - 10 - - - True - - - 12, 95 - - - 53, 12 - - - 4 - - - UUID(id) - - - label3 - - - System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - groupBox1 - - - 11 - - - 127, 59 - - - 143, 21 - - - 3 - - - txtPort - - - System.Windows.Forms.TextBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - groupBox1 - - - 12 - - - True - - - 12, 63 - - - 29, 12 - - - 2 - - - Port + + 143, 20 label2 - - System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + 729, 594 - + + groupBox2 + + + 60, 20 + + + groupBox2 + + + 119, 12 + + + 278, 21 + + + True + + + 200, 21 + + + 4 + + + 80, 20 + + + 53, 12 + + + 27 + + + groupBox2 + + + 17 + + + Port + + + groupBox2 + + + Fill + + + 12 + + + groupBox2 + + + System.Windows.Forms.GroupBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + groupBox1 - - 13 + + 28 - - 127, 27 + + 2 - - 359, 21 + + 75, 23 - - 1 + + xtls-rprx-direct - - txtAddress + + True - - System.Windows.Forms.TextBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + 11 groupBox1 - - 14 + + 8 - + + *Recommended (none) + + + groupBox1 + + + NoControl + + + 34 + + + System.Windows.Forms.ComboBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + 1 + + + 6 + + + 10 + + + 35 + + + true + + True + + 3, 215 + + + 529, 189 + + + 10 + + + btnOK + + + 75, 23 + + + Import server configuration + + + 465, 140 + + + True + + + System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + 22 + + + 396, 54 + + + 300, 53 + 12, 31 - - 47, 12 + + 14 + + + System.Windows.Forms.TextBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + dtls + + + label4 + + + MenuItemImportServer + + + System.Windows.Forms.ComboBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + groupBox2 + + + panel2 + + + 14 + + + 5 + + + System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + 0, 534 + + + groupBox1 + + + UUID(id) + + + AddServer5Form + + + wireguard + + + 24 + + + groupBox1 + + + 729, 10 + + + Server + + + System.Windows.Forms.ComboBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + 303, 17 + + + 2)ws host + + + txtAddress + + + True + + + 2)h2 path + + + True + + + 0 + + + System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + 167, 12 + + + 8 + + + Transport + + + groupBox2 + + + * Fill in manually + + + System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + 12 + + + True + + + System.Windows.Forms.TextBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + 29 + + + 1 + + + System.Windows.Forms.Button, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + 3 + + + True + + + groupBox1 + + + 162, 21 + + + Bottom + + + System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + txtRequestHost + + + btnGUID + + + System.Windows.Forms.TextBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + Alias (remarks) + + + 127, 169 + + + 4 + + + System.Windows.Forms.TextBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + &OK + + + 7 + + + 3 + + + http + + + True + + + 34 + + + 9 + + + groupBox2 + + + Camouflage type + + + menuServer + + + 20 + + + TLS + + + $this + + + 1 + + + 5 + + + 89, 12 + + + srtp + + + MenuItemImportClipboard + + + label13 + + + True + + + $this + + + 3 + + + groupBox1 + + + 237, 22 + + + 143, 20 + + + panTlsMore + + + 8 + + + 24 + + + 15 0 + + System.Windows.Forms.Panel, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + 113, 12 + + + System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + 192, 28 + + + 203, 12 + + + System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + 23, 12 + + + 30 + + + 14 + + + System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + 23 + + + 23 + + + 25 + + + 2 + + + 9, 100 + + + label3 + + + 7 + + + groupBox1 + + + xtls-rprx-direct-udp443 + + + Import URL from clipboard + + + 464, 109 + + + System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + Camouflage domain(host) + + + 0 + + + 529, 172 + + + *Default value tcp + + + 31 + + + 127, 239 + + + 9, 243 + + + 353, 157 + + + Encryption + + + none + + + System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + 0 + Address - - label1 - - - System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - groupBox1 - - - 15 - - - Fill - - - 0, 35 - - - 729, 499 - - + 3 - - Server - - + groupBox1 - - System.Windows.Forms.GroupBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - $this - - - 0 - - - 303, 17 - - - 75, 23 - - - 5 - - - &OK - - - btnOK - - - System.Windows.Forms.Button, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - panel2 - - - 1 - - - Bottom - - - 0, 534 - - - 729, 60 - - - 7 - - - panel2 - - - System.Windows.Forms.Panel, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - $this - - - 1 - - - Top - - - 0, 25 - - - 729, 10 - - - 6 - - - panel1 - - - System.Windows.Forms.Panel, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - $this - - - 2 - - - 17, 17 - - - 237, 22 - - - Import client configuration - - - 237, 22 - - - Import server configuration - - - 234, 6 - 237, 22 - - Import URL from clipboard + + 16 - - 162, 21 + + 3 - - Import configuration file + + - - 0, 0 + + groupBox2 - - 729, 25 + + xtls-rprx-origin - - 8 + + Import client configuration - - menuServer + + 12, 127 - - System.Windows.Forms.MenuStrip, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + 4)QUIC securty + + + 0, 25 + + + System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + cmbSecurity + + + groupBox2 + + + 267, 11 + + + 75, 23 + + + 23, 12 + + + groupBox1 + + + 12, 11 + + + System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + groupBox2 + + + NoControl + + + 1)http host Separated by commas (,) + + + + + + label24 + + + 59, 12 + + + panel2 + + + 11 + + + groupBox2 $this - - 3 + + True + + label6 + + + 59, 12 + + + 10 + + + 729, 25 + + + cmbHeaderType + + + System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + 529, 207 + + + 2 + + + label14 + + + zh-Hans + True 25 - - 6, 12 - - - 729, 594 - - - Edit or add a [VLESS] server - - - MenuItem1 - - - System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - MenuItemImportClient - - - System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - MenuItemImportServer - - - System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - toolStripSeparator1 - - - System.Windows.Forms.ToolStripSeparator, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - MenuItemImportClipboard - - - System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - AddServer5Form - - - v2rayN.Forms.BaseServerForm, v2rayN, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null - + + 17, 17 + \ No newline at end of file diff --git a/v2rayN/v2rayN/Forms/AddServer5Form.zh-Hans.resx b/v2rayN/v2rayN/Forms/AddServer5Form.zh-Hans.resx index 46ec6353..841c0bd2 100644 --- a/v2rayN/v2rayN/Forms/AddServer5Form.zh-Hans.resx +++ b/v2rayN/v2rayN/Forms/AddServer5Form.zh-Hans.resx @@ -120,9 +120,6 @@ 取消(&C) - - 服务器 - 220, 20 @@ -139,9 +136,6 @@ *手填,方便识别管理 - - 底层传输方式(transport) - 149, 12 @@ -161,7 +155,7 @@ 跳过证书验证(allowInsecure) - 223, 7 + 181, 7 353, 36 @@ -259,6 +253,9 @@ 127, 67 + + 底层传输方式(transport) + 353, 158 @@ -304,19 +301,12 @@ 地址(address) + + 服务器 + 确定(&O) - - - False - - - 92, 21 - - - 导入配置文件 - 171, 22 @@ -338,6 +328,16 @@ 从剪贴板导入URL + + + False + + + 92, 21 + + + 导入配置文件 + 编辑或添加[VLESS]服务器 diff --git a/v2rayN/v2rayN/Forms/AddServer6Form.Designer.cs b/v2rayN/v2rayN/Forms/AddServer6Form.Designer.cs index f14d46e4..fc67c5ec 100644 --- a/v2rayN/v2rayN/Forms/AddServer6Form.Designer.cs +++ b/v2rayN/v2rayN/Forms/AddServer6Form.Designer.cs @@ -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; } } \ No newline at end of file diff --git a/v2rayN/v2rayN/Forms/AddServer6Form.cs b/v2rayN/v2rayN/Forms/AddServer6Form.cs index 6911714f..e7d35165 100644 --- a/v2rayN/v2rayN/Forms/AddServer6Form.cs +++ b/v2rayN/v2rayN/Forms/AddServer6Form.cs @@ -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) { diff --git a/v2rayN/v2rayN/Forms/AddServer6Form.resx b/v2rayN/v2rayN/Forms/AddServer6Form.resx index 6d3c8975..7add00f3 100644 --- a/v2rayN/v2rayN/Forms/AddServer6Form.resx +++ b/v2rayN/v2rayN/Forms/AddServer6Form.resx @@ -117,107 +117,332 @@ System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - groupBox1 + + + 113, 12 - - Server address + + 312, 185 + + + 53, 12 - - 3 + + True - - System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + label6 + + + True + + + groupBox1 + + + panel2 + + + 24 + + + 11 + + + allowInsecure Bottom - - NoControl - - - txtPort - - - True - Alias (remarks) - - System.Windows.Forms.Button, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + 3 - - btnOK + + Password - - txtRemarks + + System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - 194, 21 + + NoControl - - System.Windows.Forms.Panel, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - AddServer6Form - - - label1 - - - 359, 21 - - - System.Windows.Forms.TextBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - + groupBox1 - - System.Windows.Forms.TextBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - panel2 - - - 12, 155 + + cmbStreamSecurity Fill - - 53, 12 + + groupBox1 - - 127, 123 + + NoControl - - 194, 21 + + 89, 12 + + + 127, 27 + + + 6 + + + Edit or add a [Trojan] server + + + 60, 20 + + + 5 + + + groupBox1 + + + 303, 17 + + + System.Windows.Forms.Panel, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + 4 + + + 0 + + + 359, 21 + + + 1 + + + True + + + System.Windows.Forms.TextBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + groupBox1 + + + 12 + + + groupBox1 + + + label1 + + + 25 + + + 0, 0 + + + groupBox1 + + + True + + + 22 + + + 75, 23 + + + True + + + 13 + + + 127, 91 + + + panel2 + + + 3 + + + 5 + + + 2 + + + System.Windows.Forms.TextBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + groupBox1 groupBox1 - - 6, 12 + + cmbAllowInsecure - - 396, 17 + + txtId - - True + + 12, 156 - - label3 + + System.Windows.Forms.TextBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - 127, 154 + + System.Windows.Forms.TextBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - True + + 12, 31 + + + 1 + + + 1 + + + AddServer6Form + + + 2 + + + System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + groupBox1 + + + System.Windows.Forms.ComboBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + 127, 59 + + + 80, 20 + + + 4 + + + 0 + + + System.Windows.Forms.Button, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + 32 + + + 547, 60 + + + System.Windows.Forms.TextBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + $this + + + 71, 12 + + + $this + + + groupBox1 + + + + + + 23 + + + txtPort + + + panel2 + + + 11 + + + 547, 10 + + + 0, 10 + + + 9 + + + 26 + + + label4 + + + &OK + + + 5 + + + groupBox1 + + + btnClose + + + txtSNI + + + 0 + + + 23, 12 + + + 12, 93 + + + 2 + + + 194, 21 + + + 194, 21 + + + System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + true + + + 1 + + + System.Windows.Forms.Button, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 6 @@ -225,313 +450,208 @@ 7 - - groupBox1 - - - 113, 12 - - - 12, 93 - - - 10 - - - Server - - - 3 - - - System.Windows.Forms.Button, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - 0 - - - txtRequestHost - - - System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - 547, 60 - - - System.Windows.Forms.TextBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - groupBox1 - - - 359, 21 - - - Edit or add a [Trojan] server - - - 359, 21 - - - System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - * - - - groupBox1 - - - * Fill in manually - - - 11 - - - 10 - - - 71, 12 - - - 24 - - - label4 - - - txtId - - - 303, 17 - - - $this - - - 75, 23 - - - btnClose - - - Host(SNI) - - - label6 - - - 5 - - - System.Windows.Forms.TextBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - Password - - - 75, 23 - - - 1 - - - txtAddress - - - groupBox1 - - - Top - - - 0, 10 - - - 4 - - - System.Windows.Forms.TextBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - 547, 221 - - - 2 - - - groupBox1 - - - 4 - - - 3 - - - 127, 27 - - - 5 - - - groupBox1 - - - System.Windows.Forms.Panel, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - 23 - - - 127, 59 - - - System.Windows.Forms.GroupBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - True - - - True - - - 89, 12 - - - groupBox1 - - - 0 - - - 547, 10 - - - 8 - - - &Cancel - - - 12, 31 - - - &OK - - - System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - 0 - - - Server port - - - 4 - - - 337, 158 - - - True - - - 12, 62 - - - 127, 91 - - - 12, 126 - - - 7 - - - $this - - - 59, 12 - - - 1 - - - groupBox1 - - - 0, 0 - - - 1 - label13 - - 5 + + 359, 21 - - 95, 12 + + System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - label2 - - - 2 - - - panel2 - - - 0, 231 - - - 22 - - - 9 - - - 547, 291 - - - 0 + + groupBox1 v2rayN.Forms.BaseServerForm, v2rayN, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null - - groupBox1 + + label3 - - $this + + Server port - - 6 + + System.Windows.Forms.Panel, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - + + Top + + + 396, 17 + + System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - 1 + + 0, 231 - - panel2 + + tls - - panel1 + + txtRemarks + + + 33 + + + NoControl + + + 12, 189 + + + &Cancel + + + True + + + xtls + + + 6, 12 + + + label21 + + + Server address + + + false + + + TLS + + + 95, 12 + + + System.Windows.Forms.ComboBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + 127, 185 System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - 2 + + * Fill in manually + + + 14 + + + label2 + + + groupBox1 + + + panel1 + + + 12, 62 + + + 547, 291 + + + btnOK + + + 0 + + + $this + + + 547, 221 + + + 8 + + + 75, 23 + + + 10 + + + System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + 83, 12 + + + 337, 125 + + + True + + + 4 + + + 7 + + + 127, 121 + + + * + + + txtAddress + + + 23, 12 + + + 224, 189 + + + groupBox1 + + + label15 + + + groupBox1 + + + Server + + + 127, 152 + + + 10 + + + 12, 125 + + + True + + + SNI + + + 359, 21 + + + System.Windows.Forms.GroupBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + 3 True + + zh-Hans + \ No newline at end of file diff --git a/v2rayN/v2rayN/Forms/AddServer6Form.zh-Hans.resx b/v2rayN/v2rayN/Forms/AddServer6Form.zh-Hans.resx index 375c223d..dd715fc9 100644 --- a/v2rayN/v2rayN/Forms/AddServer6Form.zh-Hans.resx +++ b/v2rayN/v2rayN/Forms/AddServer6Form.zh-Hans.resx @@ -120,16 +120,29 @@ 取消(&C) - - 服务器 + + + 167, 12 - - 域名(SNI) + + 跳过证书验证(allowInsecure) + + + 406, 185 + + + 107, 12 + + + 底层传输安全(tls) + + + + False *手填,方便识别管理 - 83, 12 @@ -154,6 +167,9 @@ 服务器地址 + + 服务器 + 确定(&O) diff --git a/v2rayN/v2rayN/Forms/AddServerForm.Designer.cs b/v2rayN/v2rayN/Forms/AddServerForm.Designer.cs index a96b32ab..7db28ff7 100644 --- a/v2rayN/v2rayN/Forms/AddServerForm.Designer.cs +++ b/v2rayN/v2rayN/Forms/AddServerForm.Designer.cs @@ -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(); @@ -87,14 +89,15 @@ // // 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); // // groupBox1 // + resources.ApplyResources(this.groupBox1, "groupBox1"); this.groupBox1.Controls.Add(this.btnGUID); this.groupBox1.Controls.Add(this.label13); this.groupBox1.Controls.Add(this.groupBox2); @@ -111,7 +114,6 @@ this.groupBox1.Controls.Add(this.label2); this.groupBox1.Controls.Add(this.txtAddress); this.groupBox1.Controls.Add(this.label1); - resources.ApplyResources(this.groupBox1, "groupBox1"); this.groupBox1.Name = "groupBox1"; this.groupBox1.TabStop = false; // @@ -129,6 +131,7 @@ // // groupBox2 // + resources.ApplyResources(this.groupBox2, "groupBox2"); this.groupBox2.Controls.Add(this.label24); this.groupBox2.Controls.Add(this.label23); this.groupBox2.Controls.Add(this.panTlsMore); @@ -149,7 +152,6 @@ this.groupBox2.Controls.Add(this.label11); this.groupBox2.Controls.Add(this.label10); this.groupBox2.Controls.Add(this.cmbHeaderType); - resources.ApplyResources(this.groupBox2, "groupBox2"); this.groupBox2.Name = "groupBox2"; this.groupBox2.TabStop = false; // @@ -165,11 +167,23 @@ // // panTlsMore // + resources.ApplyResources(this.panTlsMore, "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"); @@ -177,13 +191,13 @@ // // 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")}); - resources.ApplyResources(this.cmbAllowInsecure, "cmbAllowInsecure"); this.cmbAllowInsecure.Name = "cmbAllowInsecure"; // // label9 @@ -203,6 +217,7 @@ // // cmbNetwork // + resources.ApplyResources(this.cmbNetwork, "cmbNetwork"); this.cmbNetwork.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList; this.cmbNetwork.FormattingEnabled = true; this.cmbNetwork.Items.AddRange(new object[] { @@ -211,7 +226,6 @@ resources.GetString("cmbNetwork.Items2"), resources.GetString("cmbNetwork.Items3"), resources.GetString("cmbNetwork.Items4")}); - resources.ApplyResources(this.cmbNetwork, "cmbNetwork"); this.cmbNetwork.Name = "cmbNetwork"; this.cmbNetwork.SelectedIndexChanged += new System.EventHandler(this.cmbNetwork_SelectedIndexChanged); // @@ -252,12 +266,12 @@ // // 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")}); - resources.ApplyResources(this.cmbStreamSecurity, "cmbStreamSecurity"); this.cmbStreamSecurity.Name = "cmbStreamSecurity"; this.cmbStreamSecurity.SelectedIndexChanged += new System.EventHandler(this.cmbStreamSecurity_SelectedIndexChanged); // @@ -283,6 +297,7 @@ // // cmbHeaderType // + resources.ApplyResources(this.cmbHeaderType, "cmbHeaderType"); this.cmbHeaderType.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList; this.cmbHeaderType.FormattingEnabled = true; this.cmbHeaderType.Items.AddRange(new object[] { @@ -293,7 +308,6 @@ resources.GetString("cmbHeaderType.Items4"), resources.GetString("cmbHeaderType.Items5"), resources.GetString("cmbHeaderType.Items6")}); - resources.ApplyResources(this.cmbHeaderType, "cmbHeaderType"); this.cmbHeaderType.Name = "cmbHeaderType"; // // label8 @@ -303,6 +317,7 @@ // // cmbSecurity // + resources.ApplyResources(this.cmbSecurity, "cmbSecurity"); this.cmbSecurity.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList; this.cmbSecurity.FormattingEnabled = true; this.cmbSecurity.Items.AddRange(new object[] { @@ -310,7 +325,6 @@ resources.GetString("cmbSecurity.Items1"), resources.GetString("cmbSecurity.Items2"), resources.GetString("cmbSecurity.Items3")}); - resources.ApplyResources(this.cmbSecurity, "cmbSecurity"); this.cmbSecurity.Name = "cmbSecurity"; // // txtRemarks @@ -370,9 +384,9 @@ // // 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 @@ -389,42 +403,42 @@ // // menuServer // + resources.ApplyResources(this.menuServer, "menuServer"); this.menuServer.Items.AddRange(new System.Windows.Forms.ToolStripItem[] { this.MenuItem1}); - resources.ApplyResources(this.menuServer, "menuServer"); this.menuServer.Name = "menuServer"; // // MenuItem1 // + resources.ApplyResources(this.MenuItem1, "MenuItem1"); this.MenuItem1.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] { this.MenuItemImportClient, this.MenuItemImportServer, this.toolStripSeparator1, this.MenuItemImportClipboard}); this.MenuItem1.Name = "MenuItem1"; - resources.ApplyResources(this.MenuItem1, "MenuItem1"); // // MenuItemImportClient // - this.MenuItemImportClient.Name = "MenuItemImportClient"; resources.ApplyResources(this.MenuItemImportClient, "MenuItemImportClient"); + this.MenuItemImportClient.Name = "MenuItemImportClient"; this.MenuItemImportClient.Click += new System.EventHandler(this.MenuItemImportClient_Click); // // MenuItemImportServer // - this.MenuItemImportServer.Name = "MenuItemImportServer"; resources.ApplyResources(this.MenuItemImportServer, "MenuItemImportServer"); + this.MenuItemImportServer.Name = "MenuItemImportServer"; this.MenuItemImportServer.Click += new System.EventHandler(this.MenuItemImportServer_Click); // // toolStripSeparator1 // - this.toolStripSeparator1.Name = "toolStripSeparator1"; resources.ApplyResources(this.toolStripSeparator1, "toolStripSeparator1"); + this.toolStripSeparator1.Name = "toolStripSeparator1"; // // MenuItemImportClipboard // - this.MenuItemImportClipboard.Name = "MenuItemImportClipboard"; resources.ApplyResources(this.MenuItemImportClipboard, "MenuItemImportClipboard"); + this.MenuItemImportClipboard.Name = "MenuItemImportClipboard"; this.MenuItemImportClipboard.Click += new System.EventHandler(this.MenuItemImportClipboard_Click); // // AddServerForm @@ -504,5 +518,7 @@ 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; } } \ No newline at end of file diff --git a/v2rayN/v2rayN/Forms/AddServerForm.cs b/v2rayN/v2rayN/Forms/AddServerForm.cs index ab54fd9b..99eb4916 100644 --- a/v2rayN/v2rayN/Forms/AddServerForm.cs +++ b/v2rayN/v2rayN/Forms/AddServerForm.cs @@ -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) { diff --git a/v2rayN/v2rayN/Forms/AddServerForm.resx b/v2rayN/v2rayN/Forms/AddServerForm.resx index 156f1f49..adff72fe 100644 --- a/v2rayN/v2rayN/Forms/AddServerForm.resx +++ b/v2rayN/v2rayN/Forms/AddServerForm.resx @@ -117,1202 +117,1295 @@ System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - 396, 17 - - - 75, 23 - - - + 4 - - &Cancel + + + 113, 12 - - btnClose - - - System.Windows.Forms.Button, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - panel2 - - - 0 - - - 411, 83 - - - 75, 23 - - - 23 - - - &Generate - - - btnGUID - - - System.Windows.Forms.Button, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - groupBox1 - - - 0 - - - True + + 9 285, 175 - - 113, 12 + + 127, 64 - - 22 - - - * Fill in manually - - - label13 - - - System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - groupBox1 - - - 1 - - - True - - - - NoControl - - - 529, 207 - - - 119, 12 - - - 35 - - - 3)QUIC key/Kcp seed - - - label24 - - - System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - groupBox2 - - - 0 - - - True - - - NoControl - - - 465, 146 - - - 89, 12 - - - 34 - - - 4)QUIC securty - - - label23 - - - System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - groupBox2 - - - 1 - - - True - - - 12, 11 - - - 83, 12 - - - 31 - - - allowInsecure - - - label21 - - - System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - panTlsMore - - - 0 - - - - - - true - - - false - - - 107, 7 - - - 91, 20 - - - 30 - - - cmbAllowInsecure - - - System.Windows.Forms.ComboBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - panTlsMore - - - 1 - - - 284, 234 - - - 338, 35 - - - 33 - - - panTlsMore - - - System.Windows.Forms.Panel, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - groupBox2 - - - 2 - - - True - - - 350, 32 - - - 113, 12 - - - 15 - - - *Default value tcp - - - label9 - - - System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - groupBox2 - - - 3 - - - True - - - 464, 130 - - - 203, 12 - - - 29 - - - 3)h2 host Separated by commas (,) - - - label20 - - - System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - groupBox2 - - - 4 - - - 127, 169 - - - True - - - 396, 54 - - - 28 - - - txtPath - - - System.Windows.Forms.TextBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - groupBox2 - - - 5 - - - tcp - - - kcp - - - ws - - - h2 - - - quic - - - 192, 28 - - - 143, 20 - - - 12 - - - cmbNetwork - - - System.Windows.Forms.ComboBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - groupBox2 - - + 6 - - True - - - 9, 32 - - - 167, 12 - - - 13 - - - Transport protocol(network) - - - label7 - - - System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - groupBox2 - - - 7 - - - True - - - 9, 169 - - - 29, 12 - - - 27 - Path - - label19 + + 83, 12 - - System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + Transport protocol(network) - - groupBox2 + + 7 - - 8 + + groupBox1 - - True - - - 529, 189 - - - 59, 12 - - - 26 - - - 2)h2 path - - - label18 - - - System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - groupBox2 - - - 9 - - - True - - - 464, 115 - - - 59, 12 - - - 25 - - - 2)ws host - - - label17 - - - System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - groupBox2 - - - 10 - - - True - - - 529, 172 - - - 59, 12 - - - 24 - - - 1)ws path - - - label16 - - - System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - groupBox2 - - - 11 - - - True - - - 464, 100 - - - 215, 12 - - - 23 - - - 1)http host Separated by commas (,) - - - label14 - - - System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - groupBox2 - - - 12 - - - True - - - 9, 243 - - - 23, 12 - - - 22 - - - TLS + + 1 label15 - - System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - groupBox2 - - - 13 - - - - - - tls - - - 127, 239 - - - 143, 20 - - - 21 + + System.Windows.Forms.ComboBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 cmbStreamSecurity - - System.Windows.Forms.ComboBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + 143, 20 - + + 200, 21 + + + + Top + + + 6 + + + + 3 + + + 17 + + + false + + + System.Windows.Forms.ToolStripSeparator, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + 19 + + + True + + + System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + 300, 7 + + + System.Windows.Forms.TextBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + 21 + + + 411, 83 + + + groupBox1 + + + 75, 23 + + + 59, 12 + + + 1)ws path + + + 19 + + + True + + + 26 + + + System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + txtId + + + True + + + 729, 499 + + + + + + 12, 89 + + groupBox2 - - 14 + + tls - + + True + + + 299, 12 + + + aes-128-gcm + + + groupBox1 + + + 127, 85 + + + 16 + + + utp + + + 12, 175 + + + &Cancel + + + txtSNI + + + label10 + + + 723, 281 + + + 5 + + + label21 + + + 359, 21 + + + System.Windows.Forms.MenuStrip, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + Edit or add a [VMess] server + + + 143, 12 + + + groupBox2 + + + toolStripSeparator1 + + + panTlsMore + + + NoControl + + + 21 + + + label11 + + + 5 + + + SNI + + + 158, 100 + + + 2 + + + 29, 12 + + + System.Windows.Forms.Panel, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + 237, 22 + + + 3)QUIC key/Kcp seed + + + 127, 56 + + + System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + txtPort + + + 2 + + + groupBox2 + + + Bottom + + + True + + + 127, 171 + + + System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + NoControl + + + System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Windows.Forms.TextBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + True + + + System.Windows.Forms.Button, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + 29, 12 + + + ws + + + 13 + + + 9, 66 + + + 15 + + + Import server configuration + + + 6, 12 + + + 1 + + + 7 + + + 15 + + + label17 + + + panel1 + + + groupBox2 + + + 215, 12 + + + 0, 0 + + + 396, 17 + + + 500, 35 + + + 12, 60 + + + MenuItemImportClient + + + System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + &Generate + + + Encryption method (security) + + + none + + + txtRemarks + + + 47, 12 + + + v2rayN.Forms.BaseServerForm, v2rayN, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null + + + groupBox2 + + + true + + + panTlsMore + + + True + + + 127, 114 + + + 200, 234 + + + 95, 12 + + + 350, 32 + + + cmbNetwork + + + System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + label22 + + + 22 + + + groupBox1 + + + True + + + System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + 24 + + + 127, 27 + + + label12 + + + label2 + + + AlterId + + True 282, 66 - - 299, 12 - - - 20 + + 12 *tcp or kcp or QUIC camouflage type, default none - - label12 + + 25 + + + label23 + + + groupBox1 + + + 60, 20 + + + $this + + + System.Windows.Forms.GroupBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Windows.Forms.ComboBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + 33 + + + 6 + + + 0 + + + 2 + + + System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + label8 + + + System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + label13 + + + System.Windows.Forms.ComboBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + txtAlterId + + + 35 + + + 13 + + + 11 + + + System.Windows.Forms.TextBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + 11 + + + True + + + 464, 100 + + + label9 + + + label20 + + + 127, 169 + + + System.Windows.Forms.Button, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + groupBox1 + + + label18 + + + MenuItem1 + + + label1 + + + 13 System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - + + 143, 20 + + groupBox2 - - 15 - - - 158, 100 - - + True - - 300, 53 + + btnClose - - 16 + + label7 - - txtRequestHost + + Address - - System.Windows.Forms.TextBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + label19 - - groupBox2 + + 143, 21 - - 16 - - - True - - - 9, 66 - - + 95, 12 - - 19 + + groupBox1 - - Camouflage type + + 0, 35 - - label11 + + panTlsMore - - System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + 729, 60 + + + allowInsecure + + + True + + + True + + + 464, 130 + + + quic + + + panTlsMore groupBox2 + + h2 + + + kcp + + + 7 + + + 143, 21 + + + 529, 172 + + + 18 + + + 12, 147 + + + 18 + + + groupBox1 + + + 34 + + + 3, 215 + + + 729, 594 + + + groupBox2 + + + 234, 6 + + + groupBox2 + + + 119, 12 + + + 278, 21 + + + True + + + True + + + 4 + + + 80, 20 + + + 53, 12 + + + 27 + + + groupBox2 + 17 - - True + + Port - - 9, 100 - - - 143, 12 - - - 17 - - - Camouflage domain(host) - - - label10 - - - System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - + groupBox2 - - 18 + + Fill - - none + + chacha20-poly1305 - - http + + 12 - - srtp - - - utp - - - wechat-video - - - dtls - - - wireguard - - - 127, 64 - - - 143, 20 - - - 18 - - - cmbHeaderType - - - System.Windows.Forms.ComboBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - groupBox2 - - - 19 - - - Bottom - - - 3, 215 - - - 723, 281 - - - 21 - - - Transport - - + groupBox2 System.Windows.Forms.GroupBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - groupBox1 - - - 2 - - - True - - - 353, 147 - - - 119, 12 - - - 14 - - - *Recommended (auto) - - - label8 - - - System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - groupBox1 - - - 3 - - - aes-128-gcm - - - chacha20-poly1305 - - - auto - - - none - - - 195, 143 - - - 143, 20 - - - 6 - - - cmbSecurity - - - System.Windows.Forms.ComboBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - groupBox1 - - - 4 - - - 127, 171 - - - 143, 21 - - - 11 - - - txtRemarks - - - System.Windows.Forms.TextBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - groupBox1 - - 5 - - - True - - - 12, 175 - - - 95, 12 - - - 10 - - - Alias (remarks) - - - label6 - - - System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - groupBox1 - - - 6 - - - True - - - 12, 147 - - - 173, 12 - - - 8 - - - Encryption method (security) - - - label5 - - - System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - groupBox1 - - - 7 - - - 127, 114 - - - 143, 21 - - - 7 - - - txtAlterId - - - System.Windows.Forms.TextBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - groupBox1 - - - 8 - - - True - - - 12, 118 - - - 47, 12 - - - 6 - - - AlterId - - - label4 - - - System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - groupBox1 - - - 9 - - - 127, 85 - - - 278, 21 - - - 5 - - - txtId - - - System.Windows.Forms.TextBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - groupBox1 - - - 10 - - - True - - - 12, 89 - - - 53, 12 - - - 4 - - - UUID(id) - - - label3 - - - System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - groupBox1 - - - 11 - - - 127, 56 - - - 143, 21 - - - 3 - - - txtPort - - - System.Windows.Forms.TextBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - groupBox1 - - - 12 - - - True - - - 12, 60 - - - 29, 12 - - - 2 - - - Port - - - label2 - - - System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - groupBox1 - - - 13 - - - 127, 27 - - - 359, 21 - - - 1 - - - txtAddress - - - System.Windows.Forms.TextBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - groupBox1 - - - 14 - - - True - - - 12, 31 - - - 47, 12 - - - 0 - - - Address - - - label1 - - - System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - groupBox1 - - - 15 - - - Fill - - - 0, 35 - - - 729, 499 - - - 3 - - - Server - - - groupBox1 - - - System.Windows.Forms.GroupBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - $this - - - 0 - - - 303, 17 - - - 75, 23 - - - 5 - - - &OK - - - btnOK - - - System.Windows.Forms.Button, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - panel2 - - - 1 - - - Bottom - - - 0, 534 - - - 729, 60 - - - 7 - - - panel2 - System.Windows.Forms.Panel, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - $this - - - 1 - - - Top - - - 0, 25 - - - 729, 10 - - - 6 - - - panel1 - - - System.Windows.Forms.Panel, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - $this - - + 2 - - 17, 17 - - - 237, 22 + + 75, 23 - - Import client configuration + + 4 - - 237, 22 + + True - - Import server configuration + + 11 - - 234, 6 - - - 237, 22 - - - Import URL from clipboard - - - 162, 21 - - - Import configuration file - - - 0, 0 - - - 729, 25 + + groupBox1 8 + + *Recommended (auto) + + + 195, 143 + + + groupBox1 + + + panel2 + + + 32 + + + 23 + + + 1 + + + 6 + + + 10 + + + groupBox2 + + + 14 + + + True + + + 173, 12 + + + Import configuration file + + + wechat-video + + + 9, 32 + + + btnOK + + + 729, 10 + + + 100, 7 + + + 465, 146 + + + True + + + System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + 22 + + + 396, 54 + + + 300, 53 + + + 12, 31 + + + 14 + + + System.Windows.Forms.TextBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + dtls + + + 47, 12 + + + label4 + + + groupBox2 + + + panel2 + + + System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + 0, 534 + + + groupBox1 + + + AddServerForm + + + wireguard + + + groupBox1 + + + Server + + + System.Windows.Forms.ComboBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + 303, 17 + + + 2)ws host + + + txtAddress + + + True + + + 2)h2 path + + + True + + + 0 + + + System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + 167, 12 + + + 8 + + + Transport + + + groupBox2 + + + * Fill in manually + + + System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + 12 + + + True + + + 12, 11 + + + System.Windows.Forms.TextBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + 29 + + + 1 + + + System.Windows.Forms.Button, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + 143, 21 + + + 1 + + + True + + + txtPath + + + 162, 21 + + + Bottom + + + System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + txtRequestHost + + + System.Windows.Forms.TextBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + btnGUID + + + System.Windows.Forms.TextBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + Alias (remarks) + + + groupBox2 + + + 3)h2 host Separated by commas (,) + + + 4 + + + 9, 169 + + + &OK + + + 7 + + + 3 + + + http + + + True + + + 529, 189 + + + 9 + + + groupBox2 + menuServer - - System.Windows.Forms.MenuStrip, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + 20 + + + TLS + + + 1 + + + 3 + + + UUID(id) + + + $this + + + MenuItemImportClipboard + + + True + + + $this + + + 3 + + + groupBox1 + + + cmbAllowInsecure + + + 237, 22 + + + 143, 20 + + + panTlsMore + + + 8 + + + 0 + + + 15 + + + 0 + + + System.Windows.Forms.Panel, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + 113, 12 + + + System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + 192, 28 + + + 203, 12 + + + System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + 23, 12 + + + 30 + + + 14 + + + System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + 23 + + + 10 + + + auto + + + System.Windows.Forms.TextBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + 6 + + + 464, 115 + + + 2 + + + 9, 100 + + + label3 + + + srtp + + + 5 + + + System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + 89, 12 + + + Import URL from clipboard + + + True + + + System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + Camouflage domain(host) + + + System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + *Default value tcp + + + MenuItemImportServer + + + 5 + + + 31 + + + 127, 239 + + + 9, 243 + + + 353, 147 + + + none + + + System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + 8 + + + groupBox1 + + + label5 + + + cmbSecurity + + + 3 + + + label16 + + + groupBox1 + + + 237, 22 + + + 16 + + + 3 + + + 28 + + + + + + groupBox2 + + + Import client configuration + + + 12, 118 + + + 4)QUIC securty + + + 0, 25 + + + System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + 0 + + + tcp + + + groupBox2 + + + 270, 11 + + + 75, 23 + + + 23, 12 + + + System.Windows.Forms.ComboBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + groupBox1 + + + Camouflage type + + + 0 + + + groupBox2 + + + NoControl + + + 1)http host Separated by commas (,) + + + 33 + + + label24 + + + 59, 12 + + + panel2 + + + 119, 12 + + + groupBox2 $this - - 3 + + True + + + label6 + + + 59, 12 + + + 10 + + + 729, 25 + + + cmbHeaderType + + + System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + 529, 207 + + + label14 True @@ -1320,49 +1413,7 @@ 114 - - 6, 12 - - - 729, 594 - - - Edit or add a [VMess] server - - - MenuItem1 - - - System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - MenuItemImportClient - - - System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - MenuItemImportServer - - - System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - toolStripSeparator1 - - - System.Windows.Forms.ToolStripSeparator, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - MenuItemImportClipboard - - - System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - AddServerForm - - - v2rayN.Forms.BaseServerForm, v2rayN, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null - + + 17, 17 + \ No newline at end of file diff --git a/v2rayN/v2rayN/Forms/AddServerForm.zh-Hans.resx b/v2rayN/v2rayN/Forms/AddServerForm.zh-Hans.resx index 489f5fd2..4bbfcc1f 100644 --- a/v2rayN/v2rayN/Forms/AddServerForm.zh-Hans.resx +++ b/v2rayN/v2rayN/Forms/AddServerForm.zh-Hans.resx @@ -120,18 +120,12 @@ 取消(&C) - - 服务器 - 生成(&G) *手填,方便识别管理 - - 底层传输方式(transport) - 149, 12 @@ -152,7 +146,7 @@ 跳过证书验证(allowInsecure) - 223, 7 + 180, 7 350, 36 @@ -250,6 +244,9 @@ 127, 67 + + 底层传输方式(transport) + 113, 12 @@ -298,15 +295,12 @@ 地址(address) + + 服务器 + 确定(&O) - - 92, 21 - - - 导入配置文件 - 171, 22 @@ -328,6 +322,12 @@ 从剪贴板导入URL + + 92, 21 + + + 导入配置文件 + 编辑或添加[VMess]服务器 diff --git a/v2rayN/v2rayN/Forms/MainForm.cs b/v2rayN/v2rayN/Forms/MainForm.cs index d472f40b..b13e60cc 100644 --- a/v2rayN/v2rayN/Forms/MainForm.cs +++ b/v2rayN/v2rayN/Forms/MainForm.cs @@ -1398,69 +1398,15 @@ namespace v2rayN.Forms /// 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) - { - RefreshServers(); - } - 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) diff --git a/v2rayN/v2rayN/Handler/ConfigHandler.cs b/v2rayN/v2rayN/Handler/ConfigHandler.cs index 0fccf551..2636752f 100644 --- a/v2rayN/v2rayN/Handler/ConfigHandler.cs +++ b/v2rayN/v2rayN/Handler/ConfigHandler.cs @@ -614,7 +614,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) { diff --git a/v2rayN/v2rayN/Handler/MainFormHandler.cs b/v2rayN/v2rayN/Handler/MainFormHandler.cs index 7f21abe6..6842a5b9 100644 --- a/v2rayN/v2rayN/Handler/MainFormHandler.cs +++ b/v2rayN/v2rayN/Handler/MainFormHandler.cs @@ -9,6 +9,7 @@ namespace v2rayN.Handler class MainFormHandler { private static MainFormHandler instance; + Action updateUI; //private DownloadHandle downloadHandle2; //private Config _config; @@ -164,6 +165,77 @@ namespace v2rayN.Handler return counter; } - + + + public void UpdateSubscriptionProcess(Config config, Action 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")}"); + } + + } + } } diff --git a/v2rayN/v2rayN/Handler/ShareHandler.cs b/v2rayN/v2rayN/Handler/ShareHandler.cs index 157988c8..b523f145 100644 --- a/v2rayN/v2rayN/Handler/ShareHandler.cs +++ b/v2rayN/v2rayN/Handler/ShareHandler.cs @@ -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,9 +91,9 @@ 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, @@ -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); @@ -294,6 +299,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 +380,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 +646,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) { diff --git a/v2rayN/v2rayN/Handler/V2rayConfigHandler.cs b/v2rayN/v2rayN/Handler/V2rayConfigHandler.cs index b10e4974..e72a4c20 100644 --- a/v2rayN/v2rayN/Handler/V2rayConfigHandler.cs +++ b/v2rayN/v2rayN/Handler/V2rayConfigHandler.cs @@ -208,7 +208,7 @@ namespace v2rayN.Handler foreach (var item in lockedItem.rules) { routingUserRule(item, ref v2rayConfig); - } + } } } } @@ -553,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) { @@ -562,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]; } @@ -578,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]; } @@ -682,7 +692,14 @@ 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; default: diff --git a/v2rayN/v2rayN/Mode/Config.cs b/v2rayN/v2rayN/Mode/Config.cs index a7733912..90189fe9 100644 --- a/v2rayN/v2rayN/Mode/Config.cs +++ b/v2rayN/v2rayN/Mode/Config.cs @@ -346,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 } @@ -572,6 +580,13 @@ namespace v2rayN.Mode { get; set; } + /// + /// tls sni + /// + public string sni + { + get; set; + } } [Serializable] diff --git a/v2rayN/v2rayN/Mode/VmessQRCode.cs b/v2rayN/v2rayN/Mode/VmessQRCode.cs index 0a9cc8ab..32fdbbd1 100644 --- a/v2rayN/v2rayN/Mode/VmessQRCode.cs +++ b/v2rayN/v2rayN/Mode/VmessQRCode.cs @@ -49,5 +49,9 @@ namespace v2rayN.Mode /// 底层传输安全 /// public string tls { get; set; } = string.Empty; - } + /// + /// SNI + /// + public string sni { get; set; } = string.Empty; + } } diff --git a/v2rayN/v2rayN/Properties/AssemblyInfo.cs b/v2rayN/v2rayN/Properties/AssemblyInfo.cs index 7eb30d8a..bc383876 100644 --- a/v2rayN/v2rayN/Properties/AssemblyInfo.cs +++ b/v2rayN/v2rayN/Properties/AssemblyInfo.cs @@ -32,4 +32,4 @@ using System.Runtime.InteropServices; // 方法是按如下所示使用“*”: //[assembly: AssemblyVersion("1.0.*")] //[assembly: AssemblyVersion("1.0.0")] -[assembly: AssemblyFileVersion("4.11")] +[assembly: AssemblyFileVersion("4.12")]