diff --git a/v2rayN/v2rayN/Forms/AddServerForm.Designer.cs b/v2rayN/v2rayN/Forms/AddServerForm.Designer.cs index 33aa7ade..ae575f01 100644 --- a/v2rayN/v2rayN/Forms/AddServerForm.Designer.cs +++ b/v2rayN/v2rayN/Forms/AddServerForm.Designer.cs @@ -65,6 +65,8 @@ this.cmbSecurity = new System.Windows.Forms.ComboBox(); this.label5 = new System.Windows.Forms.Label(); this.panAddr = new System.Windows.Forms.Panel(); + this.cmbCoreType = new System.Windows.Forms.ComboBox(); + this.labCoreType = new System.Windows.Forms.Label(); this.label6 = new System.Windows.Forms.Label(); this.label1 = new System.Windows.Forms.Label(); this.txtAddress = new System.Windows.Forms.TextBox(); @@ -76,8 +78,6 @@ this.panTop = new System.Windows.Forms.Panel(); this.panTran = new System.Windows.Forms.Panel(); this.transportControl = new v2rayN.Forms.ServerTransportControl(); - this.cmbCoreType = new System.Windows.Forms.ComboBox(); - this.labCoreType = new System.Windows.Forms.Label(); this.groupBox1.SuspendLayout(); this.panSocks.SuspendLayout(); this.panSs.SuspendLayout(); @@ -329,6 +329,18 @@ resources.ApplyResources(this.panAddr, "panAddr"); this.panAddr.Name = "panAddr"; // + // cmbCoreType + // + this.cmbCoreType.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList; + this.cmbCoreType.FormattingEnabled = true; + resources.ApplyResources(this.cmbCoreType, "cmbCoreType"); + this.cmbCoreType.Name = "cmbCoreType"; + // + // labCoreType + // + resources.ApplyResources(this.labCoreType, "labCoreType"); + this.labCoreType.Name = "labCoreType"; + // // label6 // resources.ApplyResources(this.label6, "label6"); @@ -390,18 +402,6 @@ resources.ApplyResources(this.transportControl, "transportControl"); this.transportControl.Name = "transportControl"; // - // cmbCoreType - // - this.cmbCoreType.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList; - this.cmbCoreType.FormattingEnabled = true; - resources.ApplyResources(this.cmbCoreType, "cmbCoreType"); - this.cmbCoreType.Name = "cmbCoreType"; - // - // labCoreType - // - resources.ApplyResources(this.labCoreType, "labCoreType"); - this.labCoreType.Name = "labCoreType"; - // // AddServerForm // resources.ApplyResources(this, "$this"); diff --git a/v2rayN/v2rayN/Forms/AddServerForm.resx b/v2rayN/v2rayN/Forms/AddServerForm.resx index 31a88ee9..e3643990 100644 --- a/v2rayN/v2rayN/Forms/AddServerForm.resx +++ b/v2rayN/v2rayN/Forms/AddServerForm.resx @@ -143,10 +143,613 @@ 0 + + label17 + + + System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + panSocks + + + 0 + + + txtSecurity4 + + + System.Windows.Forms.TextBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + panSocks + + + 1 + + + label18 + + + System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + panSocks + + + 2 + + + txtId4 + + + System.Windows.Forms.TextBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + panSocks + + + 3 + + + 303, 163 + + + 82, 39 + + + 31 + + + False + + + panSocks + + + System.Windows.Forms.Panel, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + groupBox1 + + + 0 + + + txtId3 + + + System.Windows.Forms.TextBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + panSs + + + 0 + + + label15 + + + System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + panSs + + + 1 + + + cmbSecurity3 + + + System.Windows.Forms.ComboBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + panSs + + + 2 + + + label16 + + + System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + panSs + + + 3 + + + 142, 163 + + + 82, 39 + + + 30 + + + False + + + panSs + + + System.Windows.Forms.Panel, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + groupBox1 + + + 1 + + + label12 + + + System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + panTrojan + + + 0 + + + cmbFlow6 + + + System.Windows.Forms.ComboBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + panTrojan + + + 1 + + + txtId6 + + + System.Windows.Forms.TextBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + panTrojan + + + 2 + + + label14 + + + System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + panTrojan + + + 3 + + + 534, 163 + + + 82, 39 + + + 29 + + + False + + + panTrojan + + + System.Windows.Forms.Panel, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + groupBox1 + + + 2 + + + label7 + + + System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + panVless + + + 0 + + + cmbFlow5 + + + System.Windows.Forms.ComboBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + panVless + + + 1 + + + txtId5 + + + System.Windows.Forms.TextBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + panVless + + + 2 + + + label9 + + + System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + panVless + + + 3 + + + label10 + + + System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + panVless + + + 4 + + + btnGUID5 + + + System.Windows.Forms.Button, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + panVless + + + 5 + + + cmbSecurity5 + + + System.Windows.Forms.ComboBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + panVless + + + 6 + + + label11 + + + System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + panVless + + + 7 + + + 396, 166 + + + 92, 36 + + + 27 + + + False + + + panVless + + + System.Windows.Forms.Panel, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + groupBox1 + + + 3 + + + label3 + + + System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + panVmess + + + 0 + + + txtId + + + System.Windows.Forms.TextBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + panVmess + + + 1 + + + btnGUID + + + System.Windows.Forms.Button, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + panVmess + + + 2 + + + label4 + + + System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + panVmess + + + 3 + + + label8 + + + System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + panVmess + + + 4 + + + txtAlterId + + + System.Windows.Forms.TextBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + panVmess + + + 5 + + + cmbSecurity + + + System.Windows.Forms.ComboBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + panVmess + + + 6 + + + label5 + + + System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + panVmess + + + 7 + + + 16, 163 + + + 82, 39 + + + 25 + + + False + + + panVmess + + + System.Windows.Forms.Panel, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + groupBox1 + + + 4 + + + cmbCoreType + + + System.Windows.Forms.ComboBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + panAddr + + + 0 + + + labCoreType + + + System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + panAddr + + + 1 + + + label6 + + + System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + panAddr + + + 2 + + + label1 + + + System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + panAddr + + + 3 + + + txtAddress + + + System.Windows.Forms.TextBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + panAddr + + + 4 + + + label2 + + + System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + panAddr + + + 5 + + + txtPort + + + System.Windows.Forms.TextBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + panAddr + + + 6 + + + txtRemarks + + + System.Windows.Forms.TextBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + panAddr + + + 7 + + + + Top + + + 3, 17 + + + 723, 100 + + + 24 + + + panAddr + + + System.Windows.Forms.Panel, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + groupBox1 + + + 5 + + + Fill + + + 0, 10 + + + 729, 226 + + + 3 + + + Server + + + groupBox1 + + + System.Windows.Forms.GroupBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + $this + + + 0 + True - NoControl @@ -246,30 +849,6 @@ 3 - - 303, 163 - - - 82, 39 - - - 31 - - - False - - - panSocks - - - System.Windows.Forms.Panel, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - groupBox1 - - - 0 - 126, 7 @@ -372,30 +951,6 @@ 3 - - 142, 163 - - - 82, 39 - - - 30 - - - False - - - panSs - - - System.Windows.Forms.Panel, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - groupBox1 - - - 1 - True @@ -498,30 +1053,6 @@ 3 - - 534, 163 - - - 82, 39 - - - 29 - - - False - - - panTrojan - - - System.Windows.Forms.Panel, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - groupBox1 - - - 2 - True @@ -735,30 +1266,6 @@ 7 - - 396, 166 - - - 92, 36 - - - 27 - - - False - - - panVless - - - System.Windows.Forms.Panel, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - groupBox1 - - - 3 - True @@ -954,30 +1461,6 @@ 7 - - 16, 163 - - - 82, 39 - - - 25 - - - False - - - panVmess - - - System.Windows.Forms.Panel, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - groupBox1 - - - 4 - 625, 8 @@ -1173,56 +1656,41 @@ 7 - - Top - - - 3, 17 - - - 723, 100 - - - 24 - - - panAddr - - - System.Windows.Forms.Panel, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + btnOK - - groupBox1 + + System.Windows.Forms.Button, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - 5 + + panBottom - - Fill + + 1 - - 0, 10 + + Bottom - - 729, 221 + + 0, 501 - - 3 + + 729, 60 - - Server + + 7 - - groupBox1 + + panBottom - - System.Windows.Forms.GroupBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + System.Windows.Forms.Panel, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - + $this - - 0 + + 2 303, 17 @@ -1248,30 +1716,6 @@ 1 - - Bottom - - - 0, 461 - - - 729, 60 - - - 7 - - - panBottom - - - System.Windows.Forms.Panel, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - $this - - - 2 - Top @@ -1303,7 +1747,7 @@ 0, 0 - 729, 230 + 729, 265 0 @@ -1312,7 +1756,7 @@ transportControl - v2rayN.Forms.ServerTransportControl, v2rayN, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null + v2rayN.Forms.ServerTransportControl, v2rayN, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null panTran @@ -1324,10 +1768,10 @@ Bottom - 0, 231 + 0, 236 - 729, 230 + 729, 265 9 @@ -1354,7 +1798,7 @@ 6, 12 - 729, 521 + 729, 561 Edit or add a [VMess] server @@ -1363,6 +1807,6 @@ AddServerForm - v2rayN.Forms.BaseServerForm, v2rayN, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null + v2rayN.Forms.BaseServerForm, v2rayN, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null \ No newline at end of file diff --git a/v2rayN/v2rayN/Forms/ServerTransportControl.Designer.cs b/v2rayN/v2rayN/Forms/ServerTransportControl.Designer.cs index ba748ccd..ae9ce189 100644 --- a/v2rayN/v2rayN/Forms/ServerTransportControl.Designer.cs +++ b/v2rayN/v2rayN/Forms/ServerTransportControl.Designer.cs @@ -31,6 +31,8 @@ System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(ServerTransportControl)); this.gbTransport = new System.Windows.Forms.GroupBox(); this.panTlsMore = new System.Windows.Forms.Panel(); + this.labfingerprint = new System.Windows.Forms.Label(); + this.cmbFingerprint = new System.Windows.Forms.ComboBox(); this.clbAlpn = new System.Windows.Forms.CheckedListBox(); this.label1 = new System.Windows.Forms.Label(); this.txtSNI = new System.Windows.Forms.TextBox(); @@ -78,6 +80,8 @@ // // panTlsMore // + this.panTlsMore.Controls.Add(this.labfingerprint); + this.panTlsMore.Controls.Add(this.cmbFingerprint); this.panTlsMore.Controls.Add(this.clbAlpn); this.panTlsMore.Controls.Add(this.label1); this.panTlsMore.Controls.Add(this.txtSNI); @@ -87,6 +91,18 @@ resources.ApplyResources(this.panTlsMore, "panTlsMore"); this.panTlsMore.Name = "panTlsMore"; // + // labfingerprint + // + resources.ApplyResources(this.labfingerprint, "labfingerprint"); + this.labfingerprint.Name = "labfingerprint"; + // + // cmbFingerprint + // + this.cmbFingerprint.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList; + this.cmbFingerprint.FormattingEnabled = true; + resources.ApplyResources(this.cmbFingerprint, "cmbFingerprint"); + this.cmbFingerprint.Name = "cmbFingerprint"; + // // clbAlpn // this.clbAlpn.CheckOnClick = true; @@ -246,5 +262,7 @@ private System.Windows.Forms.ComboBox cmbHeaderType; private System.Windows.Forms.Label label1; private System.Windows.Forms.CheckedListBox clbAlpn; + private System.Windows.Forms.Label labfingerprint; + private System.Windows.Forms.ComboBox cmbFingerprint; } } diff --git a/v2rayN/v2rayN/Forms/ServerTransportControl.cs b/v2rayN/v2rayN/Forms/ServerTransportControl.cs index c35f10a6..ae9243a7 100644 --- a/v2rayN/v2rayN/Forms/ServerTransportControl.cs +++ b/v2rayN/v2rayN/Forms/ServerTransportControl.cs @@ -32,6 +32,7 @@ namespace v2rayN.Forms { cmbStreamSecurity.Items.Add(Global.StreamSecurityX); } + cmbFingerprint.Items.AddRange(Global.fingerprints.ToArray()); } public void BindingServer(VmessItem item) @@ -45,6 +46,7 @@ namespace v2rayN.Forms cmbStreamSecurity.Text = vmessItem.streamSecurity; cmbAllowInsecure.Text = vmessItem.allowInsecure; txtSNI.Text = vmessItem.sni; + cmbFingerprint.Text = vmessItem.fingerprint; if (vmessItem.alpn != null) { @@ -68,7 +70,8 @@ namespace v2rayN.Forms cmbStreamSecurity.Text = ""; cmbAllowInsecure.Text = ""; txtPath.Text = ""; - txtSNI.Text = ""; + txtSNI.Text = ""; + cmbFingerprint.Text = ""; for (int i = 0; i < clbAlpn.Items.Count; i++) { clbAlpn.SetItemChecked(i, false); @@ -84,6 +87,7 @@ namespace v2rayN.Forms string streamSecurity = cmbStreamSecurity.Text; string allowInsecure = cmbAllowInsecure.Text; string sni = txtSNI.Text; + string fingerprint = cmbFingerprint.Text; vmessItem.network = network; vmessItem.headerType = headerType; @@ -92,6 +96,7 @@ namespace v2rayN.Forms vmessItem.streamSecurity = streamSecurity; vmessItem.allowInsecure = allowInsecure; vmessItem.sni = sni; + vmessItem.fingerprint = fingerprint; var alpn = new List(); for (int i = 0; i < clbAlpn.Items.Count; i++) diff --git a/v2rayN/v2rayN/Forms/ServerTransportControl.resx b/v2rayN/v2rayN/Forms/ServerTransportControl.resx index 61cd439f..9a6b44c6 100644 --- a/v2rayN/v2rayN/Forms/ServerTransportControl.resx +++ b/v2rayN/v2rayN/Forms/ServerTransportControl.resx @@ -118,6 +118,65 @@ System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + True + + + + NoControl + + + + 16, 95 + + + 4, 0, 4, 0 + + + 143, 15 + + + 46 + + + fingerprint(uTLS) + + + labfingerprint + + + System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + panTlsMore + + + 0 + + + 172, 90 + + + 4, 4, 4, 4 + + + 189, 23 + + + 45 + + + cmbFingerprint + + + System.Windows.Forms.ComboBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + panTlsMore + + + 1 + 70 @@ -127,12 +186,14 @@ http/1.1 - - 313, 7 + 407, 9 + + + 4, 4, 4, 4 - 172, 20 + 239, 24 44 @@ -147,20 +208,22 @@ panTlsMore - 0 + 2 True - NoControl - 241, 11 + 321, 14 + + + 4, 0, 4, 0 - 29, 12 + 39, 15 43 @@ -178,13 +241,16 @@ panTlsMore - 1 + 3 - 100, 39 + 133, 49 + + + 4, 4, 4, 4 - 385, 21 + 512, 25 1 @@ -199,7 +265,7 @@ panTlsMore - 2 + 4 True @@ -208,10 +274,13 @@ NoControl - 12, 43 + 16, 54 + + + 4, 0, 4, 0 - 23, 12 + 31, 15 32 @@ -229,7 +298,7 @@ panTlsMore - 3 + 5 True @@ -238,10 +307,13 @@ NoControl - 12, 11 + 16, 14 + + + 4, 0, 4, 0 - 83, 12 + 111, 15 31 @@ -259,7 +331,7 @@ panTlsMore - 4 + 6 @@ -271,10 +343,13 @@ false - 100, 7 + 133, 9 + + + 4, 4, 4, 4 - 80, 20 + 105, 23 0 @@ -289,13 +364,16 @@ panTlsMore - 5 + 7 - 200, 149 + 267, 186 + + + 4, 4, 4, 4 - 500, 71 + 667, 131 33 @@ -319,10 +397,13 @@ NoControl - 350, 32 + 467, 40 + + + 4, 0, 4, 0 - 113, 12 + 151, 15 15 @@ -343,13 +424,16 @@ 1 - 127, 124 + 169, 155 + + + 4, 4, 4, 4 True - 396, 20 + 527, 24 4 @@ -367,10 +451,13 @@ 2 - 192, 28 + 256, 35 + + + 4, 4, 4, 4 - 143, 20 + 189, 23 1 @@ -394,10 +481,13 @@ NoControl - 9, 32 + 12, 40 + + + 4, 0, 4, 0 - 167, 12 + 223, 15 13 @@ -424,10 +514,13 @@ NoControl - 9, 128 + 12, 160 + + + 4, 0, 4, 0 - 29, 12 + 39, 15 27 @@ -454,10 +547,13 @@ NoControl - 529, 128 + 705, 160 + + + 4, 0, 4, 0 - 11, 12 + 15, 15 24 @@ -484,10 +580,13 @@ NoControl - 464, 96 + 619, 120 + + + 4, 0, 4, 0 - 11, 12 + 15, 15 23 @@ -514,10 +613,13 @@ NoControl - 9, 160 + 12, 200 + + + 4, 0, 4, 0 - 23, 12 + 31, 15 22 @@ -538,10 +640,13 @@ 8 - 127, 156 + 169, 195 + + + 4, 4, 4, 4 - 60, 20 + 79, 23 5 @@ -565,10 +670,13 @@ NoControl - 282, 64 + 376, 80 + + + 4, 0, 4, 0 - 11, 12 + 15, 15 20 @@ -589,13 +697,16 @@ 10 - 158, 92 + 211, 115 + + + 4, 4, 4, 4 True - 300, 20 + 399, 24 3 @@ -619,10 +730,13 @@ NoControl - 9, 64 + 12, 80 + + + 4, 0, 4, 0 - 95, 12 + 127, 15 19 @@ -649,10 +763,13 @@ NoControl - 9, 96 + 12, 120 + + + 4, 0, 4, 0 - 143, 12 + 191, 15 17 @@ -673,10 +790,13 @@ 13 - 127, 60 + 169, 75 + + + 4, 4, 4, 4 - 143, 20 + 189, 23 2 @@ -699,8 +819,14 @@ 0, 0 + + 4, 4, 4, 4 + + + 4, 4, 4, 4 + - 723, 223 + 964, 325 22 @@ -724,10 +850,13 @@ True - 6, 12 + 8, 15 + + + 4, 4, 4, 4 - 723, 223 + 964, 325 ServerTransportControl diff --git a/v2rayN/v2rayN/Global.cs b/v2rayN/v2rayN/Global.cs index 22da556f..1c8fe14c 100644 --- a/v2rayN/v2rayN/Global.cs +++ b/v2rayN/v2rayN/Global.cs @@ -214,8 +214,9 @@ namespace v2rayN public static readonly List xtlsFlows = new List { "", "xtls-rprx-origin", "xtls-rprx-origin-udp443", "xtls-rprx-direct", "xtls-rprx-direct-udp443" }; public static readonly List networks = new List { "tcp", "kcp", "ws", "h2", "quic", "grpc" }; public static readonly List kcpHeaderTypes = new List { "srtp", "utp", "wechat-video", "dtls", "wireguard" }; - public static readonly List coreTypes = new List { "v2fly", "SagerNet", "Xray" , "v2fly_v5" }; + public static readonly List coreTypes = new List { "v2fly", "SagerNet", "Xray", "v2fly_v5" }; public static readonly List domainMatchers = new List { "linear", "mph", "" }; + public static readonly List fingerprints = new List { "chrome", "firefox", "safari", "randomized", "" }; public const string GrpcgunMode = "gun"; public const string GrpcmultiMode = "multi"; public const string CheckMark = "√"; diff --git a/v2rayN/v2rayN/Handler/V2rayConfigHandler.cs b/v2rayN/v2rayN/Handler/V2rayConfigHandler.cs index 1f09b30a..c5062f9b 100644 --- a/v2rayN/v2rayN/Handler/V2rayConfigHandler.cs +++ b/v2rayN/v2rayN/Handler/V2rayConfigHandler.cs @@ -597,7 +597,8 @@ namespace v2rayN.Handler TlsSettings tlsSettings = new TlsSettings { allowInsecure = Utils.ToBool(node.allowInsecure), - alpn = node.GetAlpn() + alpn = node.GetAlpn(), + fingerprint = node.fingerprint }; if (!string.IsNullOrWhiteSpace(sni)) { @@ -618,7 +619,8 @@ namespace v2rayN.Handler TlsSettings xtlsSettings = new TlsSettings { allowInsecure = Utils.ToBool(node.allowInsecure), - alpn = node.GetAlpn() + alpn = node.GetAlpn(), + fingerprint = node.fingerprint }; if (!string.IsNullOrWhiteSpace(sni)) { diff --git a/v2rayN/v2rayN/Mode/Config.cs b/v2rayN/v2rayN/Mode/Config.cs index 4397c1fa..6349b123 100644 --- a/v2rayN/v2rayN/Mode/Config.cs +++ b/v2rayN/v2rayN/Mode/Config.cs @@ -133,11 +133,11 @@ namespace v2rayN.Mode get; set; } public string systemProxyAdvancedProtocol { get; set; } - + public int autoUpdateInterval { get; set; } = 0; public int autoUpdateSubInterval { get; set; } = 0; - + public bool checkPreReleaseUpdate { get; set; } = false; public bool enableSecurityProtocolTls13 @@ -573,6 +573,8 @@ namespace v2rayN.Mode { get; set; } + + public string fingerprint { get; set; } } [Serializable] diff --git a/v2rayN/v2rayN/Mode/V2rayConfig.cs b/v2rayN/v2rayN/Mode/V2rayConfig.cs index 8b108d5f..d843dfe7 100644 --- a/v2rayN/v2rayN/Mode/V2rayConfig.cs +++ b/v2rayN/v2rayN/Mode/V2rayConfig.cs @@ -422,6 +422,12 @@ namespace v2rayN.Mode { get; set; } + + /// + /// "chrome" | "firefox" | "safari" | "randomized" + /// + public string fingerprint { get; set; } + } public class TcpSettings