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