diff --git a/v2rayN/v2rayN/Forms/MainForm.cs b/v2rayN/v2rayN/Forms/MainForm.cs
index 8e2094ae..83100854 100644
--- a/v2rayN/v2rayN/Forms/MainForm.cs
+++ b/v2rayN/v2rayN/Forms/MainForm.cs
@@ -1364,7 +1364,7 @@ namespace v2rayN.Forms
menuExit_Click(null, null);
}
};
- (new UpdateHandle()).CheckUpdateGuiN(config, _updateUI);
+ (new UpdateHandle()).CheckUpdateGuiN(config, _updateUI, config.checkPreReleaseUpdate);
}
private void tsbCheckUpdateCore_Click(object sender, EventArgs e)
@@ -1412,7 +1412,7 @@ namespace v2rayN.Forms
AppendText(false, ResUI.MsgUpdateV2rayCoreSuccessfully);
}
};
- (new UpdateHandle()).CheckUpdateCore(type, config, _updateUI);
+ (new UpdateHandle()).CheckUpdateCore(type, config, _updateUI, config.checkPreReleaseUpdate);
}
private void tsbCheckUpdateGeo_Click(object sender, EventArgs e)
diff --git a/v2rayN/v2rayN/Forms/OptionSettingForm.Designer.cs b/v2rayN/v2rayN/Forms/OptionSettingForm.Designer.cs
index 6862f728..0d67d9b7 100644
--- a/v2rayN/v2rayN/Forms/OptionSettingForm.Designer.cs
+++ b/v2rayN/v2rayN/Forms/OptionSettingForm.Designer.cs
@@ -75,6 +75,7 @@
this.label17 = new System.Windows.Forms.Label();
this.txtautoUpdateSubInterval = new System.Windows.Forms.TextBox();
this.label3 = new System.Windows.Forms.Label();
+ this.chkEnableCheckPreReleaseUpdate = new System.Windows.Forms.CheckBox();
this.chkEnableSecurityProtocolTls13 = new System.Windows.Forms.CheckBox();
this.chkEnableAutoAdjustMainLvColWidth = new System.Windows.Forms.CheckBox();
this.btnSetLoopback = new System.Windows.Forms.Button();
@@ -407,6 +408,7 @@
this.tabPage7.Controls.Add(this.label17);
this.tabPage7.Controls.Add(this.txtautoUpdateSubInterval);
this.tabPage7.Controls.Add(this.label3);
+ this.tabPage7.Controls.Add(this.chkEnableCheckPreReleaseUpdate);
this.tabPage7.Controls.Add(this.chkEnableSecurityProtocolTls13);
this.tabPage7.Controls.Add(this.chkEnableAutoAdjustMainLvColWidth);
this.tabPage7.Controls.Add(this.btnSetLoopback);
@@ -445,6 +447,12 @@
resources.ApplyResources(this.label3, "label3");
this.label3.Name = "label3";
//
+ // chkEnableCheckPreReleaseUpdate
+ //
+ resources.ApplyResources(this.chkEnableCheckPreReleaseUpdate, "chkEnableCheckPreReleaseUpdate");
+ this.chkEnableCheckPreReleaseUpdate.Name = "chkEnableCheckPreReleaseUpdate";
+ this.chkEnableCheckPreReleaseUpdate.UseVisualStyleBackColor = true;
+ //
// chkEnableSecurityProtocolTls13
//
resources.ApplyResources(this.chkEnableSecurityProtocolTls13, "chkEnableSecurityProtocolTls13");
@@ -769,5 +777,6 @@
private System.Windows.Forms.NumericUpDown numStatisticsFreshRate;
private System.Windows.Forms.ComboBox cmbdomainStrategy4Freedom;
private System.Windows.Forms.Label label19;
+ private System.Windows.Forms.CheckBox chkEnableCheckPreReleaseUpdate;
}
}
\ No newline at end of file
diff --git a/v2rayN/v2rayN/Forms/OptionSettingForm.cs b/v2rayN/v2rayN/Forms/OptionSettingForm.cs
index 7b6a898b..4e02b5be 100644
--- a/v2rayN/v2rayN/Forms/OptionSettingForm.cs
+++ b/v2rayN/v2rayN/Forms/OptionSettingForm.cs
@@ -98,6 +98,7 @@ namespace v2rayN.Forms
txtautoUpdateInterval.Text = config.autoUpdateInterval.ToString();
txtautoUpdateSubInterval.Text = config.autoUpdateSubInterval.ToString();
+ chkEnableCheckPreReleaseUpdate.Checked = config.checkPreReleaseUpdate;
txttrayMenuServersLimit.Text = config.trayMenuServersLimit.ToString();
}
@@ -298,6 +299,7 @@ namespace v2rayN.Forms
config.autoUpdateInterval = Utils.ToInt(txtautoUpdateInterval.Text);
config.autoUpdateSubInterval = Utils.ToInt(txtautoUpdateSubInterval.Text);
+ config.checkPreReleaseUpdate = chkEnableCheckPreReleaseUpdate.Checked;
config.trayMenuServersLimit = Utils.ToInt(txttrayMenuServersLimit.Text);
return 0;
}
diff --git a/v2rayN/v2rayN/Forms/OptionSettingForm.resx b/v2rayN/v2rayN/Forms/OptionSettingForm.resx
index 81c054e8..32bc3c86 100644
--- a/v2rayN/v2rayN/Forms/OptionSettingForm.resx
+++ b/v2rayN/v2rayN/Forms/OptionSettingForm.resx
@@ -117,1916 +117,359 @@
System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
- tabPage6
-
-
- 351, 211
-
-
- groupBox1
-
-
-
- 6
-
-
- Listening port
-
-
- 8
-
-
- 317, 12
-
-
- panel2
-
-
- tabPage7
-
-
- tabPage2
-
-
- tabPage7
-
355, 16
-
- System.Windows.Forms.Button, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- 97, 21
-
-
- error
-
-
- 15, 129
-
-
- 0
-
-
-
- NoControl
-
-
- chkudpEnabled
-
-
- 100, 20
-
-
- txtpass
-
-
- 282, 23
-
-
- downlinkCapacity
-
-
- mtu
-
-
- 191, 12
-
-
- System.Windows.Forms.ComboBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- 1
-
-
- labCoreType4
-
-
- 506, 16
-
-
- 41
-
-
- 36
-
-
- 143, 20
-
-
- 10
-
-
- 120, 21
-
-
- True
-
-
- System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- 223, 398
-
-
- System.Windows.Forms.TabPage, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- Log level
-
-
- 351, 157
-
-
- groupBox1
-
-
- panel1
-
-
- tabPage6
-
-
- 11
-
-
- System.Windows.Forms.Panel, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- 35
-
-
- 6
-
-
- 45, 150
-
-
- Enable UDP
-
-
- System.Windows.Forms.CheckBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- 15, 131
-
-
- tabPage7
-
-
- 8, 41
-
-
- 45, 46
-
-
- 94, 21
-
-
- 390, 16
-
-
- groupBox1
-
-
- 2
-
-
- tabPage7
-
-
- 285, 25
-
-
- 15, 16
-
-
- 179, 12
-
-
- 97, 21
-
-
- System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- Statistics freshrate (second)
-
-
- warning
-
-
- 0
-
-
- System.Windows.Forms.CheckBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- groupBox1
-
-
- UseIP
-
-
- txtlocalPort
-
-
- System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- System.Windows.Forms.GroupBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- System.Windows.Forms.TabPage, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- tabPage6
-
-
- True
-
-
- 15
-
-
- groupBox2
-
-
- System.Windows.Forms.NumericUpDown, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- 193, 162
-
-
- 342, 17
-
-
- 95, 12
-
-
- System.Windows.Forms.ComboBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- 27, 188
-
-
- 8
-
-
- tabPage7
-
-
- 236, 66
-
-
- 1
-
-
- groupBox1
-
-
- 13
-
-
- 4
-
-
- System.Windows.Forms.CheckBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- 15, 39
-
-
- 124, 25
-
-
- True
-
-
- cmbCoreType4
-
-
- 11
-
-
- 0
-
-
- 9
-
-
- protocol
-
-
- True
-
-
- tabPage6
-
-
- 3, 3, 3, 3
-
-
- True
-
-
- chkEnableStatistics
-
-
- OptionSettingForm
-
-
- 9
-
-
- 12
-
-
- label14
-
-
- System.Windows.Forms.GroupBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- True
-
-
- Record local logs
-
-
- Automatically adjust column width after updating subscription
-
-
- Auth user
-
-
- 3, 3, 3, 3
-
-
- label15
-
-
- 43
-
-
- labCoreType3
-
-
- 5
-
-
- True
-
-
- 117, 68
-
-
- System.Windows.Forms.CheckBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- 33, 29
-
-
- 11
-
-
- 15, 192
-
-
- 117, 172
-
-
- Use semicolon (;)
-
-
- 281, 12
-
-
- tabControl1
-
-
- 12
-
-
- 3, 3, 3, 3
-
-
- groupBox1
-
-
- lbFreshrate
-
-
- labCoreType1
-
-
- 44
-
-
- 10
-
-
- 9
-
-
- 14
-
-
- 4, 4, 4, 4
-
-
- True
-
-
- NoControl
-
-
- 4, 22
-
-
- Core Type
-
-
- 736, 453
-
-
- 59, 12
-
-
- 15, 108
-
-
- True
-
-
- 2
-
-
- True
-
-
- 31
-
-
- 0
-
-
- 36
-
-
- System.Windows.Forms.TabPage, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- none
-
-
- 7
-
-
- 45, 98
-
-
- label10
-
-
- 94, 21
-
-
- 13
-
-
- True
-
-
- 78, 21
-
-
- 3
-
-
- txtsystemProxyExceptions
-
-
- 236, 104
-
-
- 42
-
-
- True
-
-
- label11
-
-
- 12
-
-
- True
-
-
- chkEnableAutoAdjustMainLvColWidth
-
-
- 0
-
-
- 7
-
-
- NoControl
-
-
- tabPage2
-
-
- chkEnableSecurityProtocolTls13
-
-
- 10
-
-
- 15, 160
-
-
- 97, 20
-
-
- 143, 20
-
-
- System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- NoControl
-
-
- 23
-
-
- cmbloglevel
-
-
- 496, 61
-
-
- label16
-
-
- 20
-
-
- v2rayN settings
-
-
- groupBox1
-
-
- System.Windows.Forms.CheckBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- True
-
-
- tabPage7
-
-
- 4
-
-
- 120, 16
-
-
- $this
-
-
- groupBox1
-
-
- NoControl
-
-
- cmbCoreType6
-
-
- True
-
-
- 663, 37
-
-
- 41
-
-
- 97, 21
-
-
- v2rayN.Forms.BaseForm, v2rayN, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null
-
-
- tabPageCoreType
-
-
- tabPageCoreType
-
-
- 496, 27
-
-
- linkDnsObjectDoc
-
-
- System.Windows.Forms.LinkLabel, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- cmbCoreType5
-
-
- tabPageCoreType
-
-
- tabPageCoreType
-
-
- 0, 463
-
-
- 143, 20
-
-
- True
-
-
- Bottom
-
-
- tti
-
-
- 468, 16
-
-
- Enable Security Protocol TLS v1.3 (subscription/update/speedtest)
-
-
- 94, 21
-
-
- 0
-
-
- NoControl
-
-
- groupBox1
-
-
- 4
-
-
- System.Windows.Forms.TextBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- tabPage6
-
-
- 6
-
-
- groupBox2
-
-
- 3
-
-
- 9
-
-
- 94, 21
-
-
- tabPage6
-
-
- Settings
-
-
- System.Windows.Forms.ComboBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- True
-
-
- 11
-
-
- 89, 12
-
-
- label12
-
-
- 0
-
-
- chkmuxEnabled
-
-
- tabPageCoreType
-
-
- 0
-
-
- Automatic update interval of and Geo (hours)
-
-
- label2
-
-
- 3
-
-
- tabPageCoreType
-
-
- groupBox1
-
-
- label6
-
-
- tabPage6
-
-
- System.Windows.Forms.TabPage, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- label13
-
-
- 46
-
-
- 0
-
-
- tabControl1
-
-
- 111, 100
-
-
- 2
-
-
- 37
-
-
- label18
-
-
- 0
-
-
- System.Windows.Forms.TextBox, 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
-
-
- UseIPv6
-
-
- True
-
-
- 7
-
-
- 1
-
-
- Automatic update interval of subscriptions (hours)
-
-
- label19
-
-
- Custom DNS (multiple, separated by commas (,))
-
-
- 2
-
-
- 30, 376
-
-
- chklogEnabled
-
-
- True
-
-
- 345, 62
-
-
- System.Windows.Forms.ComboBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- 59, 12
-
-
- 4
-
-
- 5
-
-
- 8, 17
-
-
- 41
-
-
- 111, 24
-
-
- 97, 21
-
-
- &OK
-
-
- System.Windows.Forms.Button, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- groupBox1
-
-
- txtKcpmtu
-
-
- 6
-
-
- Fill
-
-
- 3, 3
-
-
- NoControl
-
-
- 8, 52
-
-
- 4
-
-
- 102, 16
-
-
- Outbound Freedom domainStrategy
-
-
- groupBox2
-
-
- Fill
-
-
- groupBox1
-
-
- 6
-
-
- 736, 523
-
-
- System.Windows.Forms.TextBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- tabPage2
-
-
- txtKcpwriteBufferSize
-
-
- 18, 28
-
-
- 62, 21
-
-
- 736, 10
-
-
- 236, 28
-
-
- groupBox2
-
-
- groupBox1
-
-
- NoControl
-
-
- 8, 402
-
-
- 8
-
75, 23
-
- 0
-
-
- 345, 100
-
-
- 39
-
-
- 3
-
-
- 15, 63
-
-
- Exception
-
-
- cmbSystemProxyAdvancedProtocol
-
-
- tabPage7
-
-
- 38
-
-
- chkIgnoreGeoUpdateCore
-
-
- NoControl
-
-
- chksniffingEnabled
-
-
- tabPage7
-
-
- 5
-
-
- labCoreType6
-
-
- 198, 16
-
-
- numStatisticsFreshRate
-
-
- 0, 0, 0, 0
-
-
- 15, 62
-
-
- 0, 10
-
-
- readBufferSize
-
-
- NoControl
-
-
- System.Windows.Forms.TextBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- 42
-
-
- 397, 65
-
-
- 42
-
-
- tabPageCoreType
-
-
- tabPage2
-
-
- System.Windows.Forms.CheckBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- 44
-
-
- tabPage7
-
-
- 53, 12
-
-
- 2
-
-
- tabPageCoreType
-
-
- Core Type
-
-
- True
-
-
- 5
-
-
- 728, 427
-
-
+
+
7
-
- 8
-
-
- Tray right-click menu servers display limit
-
-
- NoControl
-
-
- 8, 28
-
-
- 9
-
-
- 59, 12
-
-
- chkKeepOlderDedupl
-
-
- 45
-
-
- System.Windows.Forms.TextBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- tabPage7
-
-
- 6, 12
-
-
- 84, 16
-
-
- 329, 12
-
-
- 1
-
-
- NoControl
-
-
- label5
-
-
- 59, 12
-
-
- 728, 427
-
-
- Core Type
-
-
- System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- 728, 427
-
-
- True
-
-
- 479, 41
-
-
- tabControl1
-
-
- 1
-
-
- tabPage1
-
-
- 45, 176
-
-
- 10
-
-
- System.Windows.Forms.TextBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- 9
-
-
- 3
-
-
- System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- 43
-
-
- 47
-
-
- 59, 12
-
-
- allowInsecure
-
-
- 36
-
-
- System.Windows.Forms.TextBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- 10
-
-
- tabPage7
-
-
- Core Type
-
-
- 728, 427
-
-
- True
-
-
- btnOK
-
-
- True
-
-
- 8
-
-
- cmbCoreType3
-
-
- 397, 27
-
-
- 42
-
-
- System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- System.Windows.Forms.CheckBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- 41
-
-
- 42
-
-
- 45, 124
-
-
- tabPage7
-
-
- tabControl1
-
-
- 59, 12
-
-
- 10
-
-
- Core: basic settings
-
-
- 6
-
-
- CoreType settings
-
-
- 6
-
-
- System.Windows.Forms.CheckBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- System.Windows.Forms.CheckBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- tabPage3
-
-
- 263, 12
-
-
- panel2
-
-
- tabPage7
-
-
- System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- groupBox2
-
-
- System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- 3
-
-
- chkAutoRun
-
-
- 143, 20
-
-
- System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- System.Windows.Forms.Button, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- tabPage2
-
-
- btnClose
-
-
- 638, 349
-
-
- chkdefAllowInsecure
-
-
- 1
-
-
- groupBox2
-
-
- System.Windows.Forms.CheckBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- 638, 219
-
-
- 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
-
-
- 4
-
-
- tabPage3
-
-
- 40
-
-
- 143, 20
-
-
- System.Windows.Forms.ComboBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- txtKcptti
-
-
- NoControl
-
-
- 23, 12
-
-
- 3, 3, 3, 3
-
-
- 23, 12
-
-
- 4, 22
-
-
- True
-
-
- System.Windows.Forms.ComboBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- System.Windows.Forms.CheckBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- 30
-
-
- 285, 61
-
-
- 45, 72
-
-
- System.Windows.Forms.TabControl, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- tabPageCoreType
-
-
- System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- writeBufferSize
-
-
- 117, 146
-
-
- Ignore Geo files when updating core
-
-
- 736, 60
-
-
- 39
-
-
- 38
-
-
- txtKcpdownlinkCapacity
-
-
- 117, 42
-
-
- label4
-
-
- Keep older when deduplication
-
-
- label8
-
-
- 257, 158
-
-
- NoControl
-
-
- True
-
&Cancel
-
- 15, 85
+
+ btnClose
-
- 4, 22
+
+ System.Windows.Forms.Button, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
- 351, 184
+
+ panel2
-
- NoControl
-
-
- groupBox1
-
-
- chkAllowLANConn
-
-
- txtautoUpdateSubInterval
-
-
- tabPage7
-
-
- System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- 27, 215
-
-
- 89, 12
-
-
- System.Windows.Forms.CheckBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- True
-
-
- 234, 16
-
-
- 89, 12
-
-
- 12
-
-
- Automatically start at system startup
-
-
- congestion
-
-
- System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- 107, 12
-
-
- groupBox1
-
-
- False
-
-
- 97, 20
-
-
- 5
-
-
- 11
-
-
- tabPage6
-
-
- txtuser
-
-
- tabControl1
-
-
- 107, 12
-
-
- System.Windows.Forms.ComboBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- 20
-
-
- 117, 120
-
-
- True
-
-
- 143, 20
-
-
- 345, 24
-
-
- Top
-
-
- 11
-
-
- True
-
-
- NoControl
-
-
- 4, 22
-
-
- NoControl
-
-
- 8
-
-
- 59, 12
-
-
- 39
-
-
- 18, 66
-
-
- Allow connections from the LAN
-
-
- System.Windows.Forms.TabPage, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- True
-
-
- System.Windows.Forms.Panel, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- NoControl
-
-
- 18, 104
-
-
- Set Windows10 UWP Loopback
-
-
- txtautoUpdateInterval
-
-
- 9
-
-
- 246, 16
-
-
- tabPage1
-
-
- labCoreType2
-
-
- 2
-
-
- 94, 21
-
-
- Fill
-
-
- True
-
-
- 13
-
-
- txtKcpreadBufferSize
-
-
- System.Windows.Forms.TextBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- True
-
-
- 6
-
-
- Turn on Mux Multiplexing
-
-
- System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- 4, 22
-
-
- tabPageCoreType
-
-
- groupBox1
-
-
- 7
-
-
- 94, 21
-
-
- Turn on Sniffing
-
-
- socks
-
-
- tabPageCoreType
-
-
- 117, 94
-
-
- 14
-
-
- 2
-
-
- 29
-
-
- http
-
-
- True
-
-
- NoControl
-
-
- Vertical
-
-
- 8
-
-
- True
-
-
- tabPageCoreType
-
-
- 37
-
-
- label1
-
-
- 5
-
-
- groupBox1
-
-
- 37
-
-
- $this
-
-
- 728, 427
-
-
- 3
-
-
- label9
-
-
- True
-
-
- tabPage7
-
-
- txttrayMenuServersLimit
-
-
- Support DnsObject
-
-
- True
-
-
- 267, 16
-
-
- NoControl
-
-
- txtKcpuplinkCapacity
-
-
- 3
-
-
- tabPage6
-
-
- 40
-
-
- 224, 29
-
-
- 40
-
-
- System.Windows.Forms.TabPage, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- 722, 421
-
-
- 4
+
+ 0
True
-
- 224, 65
-
-
- System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- Vertical
-
-
- Core Type
-
-
- System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- 4, 22
-
-
- cmbCoreType2
-
-
- 8, 346
-
-
- 38
-
-
+
+
NoControl
-
- UseIPv4
+
+ 397, 65
-
- 20, 143
+
+ 79, 15
-
- System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- Core Type
-
-
- 44
-
-
- True
-
-
- System proxy settings
-
-
- 15
-
-
- 126, 16
-
-
- cmbCoreType1
-
-
- label3
-
-
- 5
-
-
- tabPage6
-
-
- 2
-
-
- label7
-
-
- NoControl
-
-
- tabPage6
-
-
- 59, 12
-
-
- System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- txtremoteDNS
+
+ 39
Auth pass
-
- tabPage7
+
+ label16
+
+
+ System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ groupBox1
+
+
+ 0
+
+
+ True
+
+
+ NoControl
+
+
+ 224, 65
+
+
+ 79, 15
+
+
+ 38
+
+
+ Auth user
+
+
+ label4
+
+
+ System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ groupBox1
+
+
+ 1
+
+
+ 496, 61
+
+
+ 120, 25
+
+
+ 37
+
+
+ txtpass
+
+
+ System.Windows.Forms.TextBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ groupBox1
+
+
+ 2
+
+
+ 285, 61
+
+
+ 97, 25
+
+
+ 36
+
+
+ txtuser
+
+
+ System.Windows.Forms.TextBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ groupBox1
+
+
+ 3
+
+
+ True
+
+
+ NoControl
+
+
+ 15, 192
+
+
+ 133, 19
+
+
+ 35
+
+
+ allowInsecure
+
+
+ chkdefAllowInsecure
+
+
+ System.Windows.Forms.CheckBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ groupBox1
+
+
+ 4
+
+
+ True
+
+
+ 15, 63
+
+
+ 269, 19
+
+
+ 29
+
+
+ Allow connections from the LAN
+
+
+ chkAllowLANConn
+
+
+ System.Windows.Forms.CheckBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ groupBox1
+
+
+ 5
+
+
+ True
+
+
+ NoControl
+
+
+ 496, 27
+
+
+ 157, 19
+
+
+ 31
+
+
+ Turn on Sniffing
+
+
+ chksniffingEnabled
+
+
+ System.Windows.Forms.CheckBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ groupBox1
+
+
+ 6
+
+
+ True
+
+
+ 15, 129
+
+
+ 229, 19
+
+
+ 20
+
+
+ Turn on Mux Multiplexing
+
+
+ chkmuxEnabled
+
+
+ System.Windows.Forms.CheckBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ groupBox1
+
+
+ 7
+
+
+ False
+
+
+ socks
+
+
+ http
+
+
+ 285, 25
+
+
+ 97, 23
+
+
+ 12
+
+
+ cmbprotocol
+
+
+ System.Windows.Forms.ComboBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ groupBox1
+
+
+ 8
+
+
+ True
+
+
+ 224, 29
+
+
+ 71, 15
+
+
+ 11
+
+
+ protocol
+
+
+ label1
System.Windows.Forms.Label, 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
+
+ groupBox1
-
- 40
+
+ 9
-
+
+ True
+
+
+ 397, 27
+
+
+ 109, 19
+
+
+ 10
+
+
+ Enable UDP
+
+
+ chkudpEnabled
+
+
System.Windows.Forms.CheckBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
- 204, 16
+
+ groupBox1
-
+
+ 10
+
+
True
-
- True
+
+ 15, 160
-
- 12
+
+ 165, 19
-
- 47
+
+ 9
-
- 2
+
+ Record local logs
-
- System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+ chklogEnabled
-
- Core: DNS settings
+
+ System.Windows.Forms.CheckBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
- 45
+
+ groupBox1
-
- label17
-
-
- 59, 12
-
-
- 27, 161
-
-
- 0, 0
-
-
- Enable Statistics (Realtime netspeed and traffic records. Require restart)
-
-
- System.Windows.Forms.TextBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- $this
-
-
- System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- panel2
+
+ 11
debug
@@ -2034,190 +477,1774 @@
info
-
- Core: KCP settings
+
+ warning
-
- tabControl1
+
+ error
-
- labCoreType5
+
+ none
-
- 111, 62
+
+ 257, 158
-
- System.Windows.Forms.TextBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+ 97, 23
-
- 305, 12
+
+ 6
-
- 38
+
+ cmbloglevel
-
- 1
-
-
- 4
-
-
- chkKcpcongestion
-
-
- 1
-
-
- 0
-
-
- 84, 16
-
-
+
System.Windows.Forms.ComboBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
- 33
+
+ groupBox1
-
- 7
+
+ 12
-
- System.Windows.Forms.TextBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- 101, 12
-
-
- System.Windows.Forms.TextBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- 269, 12
-
-
- 728, 427
-
-
- NoControl
-
-
- tabPageCoreType
-
-
- tabPage6
-
-
- 728, 427
-
-
- System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- 638, 20
-
-
- 29
-
-
+
True
-
- 6, 283
+
+ 193, 162
-
- 11
+
+ 79, 15
-
- 45
+
+ 8
-
- cmbprotocol
+
+ Log level
-
- 174, 16
+
+ label5
-
+
System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
- 39
+
+ groupBox1
-
- 4
+
+ 13
-
+
+ 124, 25
+
+
+ 78, 25
+
+
3
-
- System.Windows.Forms.ComboBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+ txtlocalPort
-
- tabPage6
+
+ System.Windows.Forms.TextBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
- tabPage2
-
-
- btnSetLoopback
-
-
- True
-
-
- cmbdomainStrategy4Freedom
-
-
- Do not use proxy server for addresses beginning with
-
-
- 0, 0
-
-
- System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- NoControl
-
-
- 75, 23
-
-
- 8, 371
-
-
- uplinkCapacity
-
-
- 10
+
+ groupBox1
14
-
+
+ True
+
+
+ 33, 29
+
+
+ 119, 15
+
+
+ 2
+
+
+ Listening port
+
+
+ label2
+
+
+ System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ groupBox1
+
+
+ 15
+
+
+ Fill
+
+
+ 3, 3
+
+
+ 967, 549
+
+
+ 6
+
+
+ groupBox1
+
+
+ System.Windows.Forms.GroupBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ tabPage1
+
+
+ 0
+
+
+ 4, 25
+
+
+ 3, 3, 3, 3
+
+
+ 973, 555
+
+
+ 0
+
+
+ Core: basic settings
+
+
+ tabPage1
+
+
+ System.Windows.Forms.TabPage, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
tabControl1
-
- Advanced proxy settings, protocol selection (optional)
+
+ 0
AsIs
-
+
+ UseIP
+
+
+ UseIPv4
+
+
+ UseIPv6
+
+
+ 223, 398
+
+
+ 100, 23
+
+
+ 41
+
+
+ cmbdomainStrategy4Freedom
+
+
+ System.Windows.Forms.ComboBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ tabPage2
+
+
+ 0
+
+
+ True
+
+
+ NoControl
+
+
+ 8, 402
+
+
+ 255, 15
+
+
+ 42
+
+
+ Outbound Freedom domainStrategy
+
+
+ label19
+
+
System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
+
+ tabPage2
+
+
+ 1
+
+
+ True
+
+
NoControl
+
+ 342, 17
+
+
+ 0, 0, 0, 0
+
+
+ 143, 15
+
+
+ 40
+
+
+ Support DnsObject
+
+
+ linkDnsObjectDoc
+
+
+ System.Windows.Forms.LinkLabel, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ tabPage2
+
+
+ 2
+
+
+ 8, 41
+
+
+ True
+
+
+ Vertical
+
+
+ 638, 349
+
+
+ 39
+
+
+ txtremoteDNS
+
+
+ System.Windows.Forms.TextBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ tabPage2
+
+
+ 3
+
+
+ True
+
+
+ NoControl
+
+
+ 8, 17
+
+
+ 375, 15
+
+
+ 38
+
+
+ Custom DNS (multiple, separated by commas (,))
+
+
+ label14
+
+
+ System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ tabPage2
+
+
+ 4
+
+
+ 4, 25
+
+
+ 973, 555
+
+
+ 4
+
+
+ Core: DNS settings
+
+
+ tabPage2
+
+
+ System.Windows.Forms.TabPage, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ tabControl1
+
+
+ 1
+
+
+ True
+
+
+ 20, 143
+
+
+ 109, 19
+
+
+ 20
+
+
+ congestion
+
+
+ chkKcpcongestion
+
+
+ System.Windows.Forms.CheckBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ tabPage6
+
+
+ 0
+
+
+ 345, 100
+
+
+ 94, 25
+
+
+ 15
+
+
+ txtKcpwriteBufferSize
+
+
+ System.Windows.Forms.TextBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ tabPage6
+
+
+ 1
+
+
+ True
+
+
+ 236, 104
+
+
+ 127, 15
+
+
+ 14
+
+
+ writeBufferSize
+
+
+ label10
+
+
+ System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ tabPage6
+
+
+ 2
+
+
+ 111, 100
+
+
+ 94, 25
+
+
+ 13
+
+
+ txtKcpreadBufferSize
+
+
+ System.Windows.Forms.TextBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ tabPage6
+
+
+ 3
+
+
+ True
+
+
+ 18, 104
+
+
+ 119, 15
+
+
+ 12
+
+
+ readBufferSize
+
+
+ label11
+
+
+ System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ tabPage6
+
+
+ 4
+
+
+ 345, 62
+
+
+ 94, 25
+
+
+ 11
+
+
+ txtKcpdownlinkCapacity
+
+
+ System.Windows.Forms.TextBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ tabPage6
+
+
+ 5
+
+
+ True
+
+
+ 236, 66
+
+
+ 135, 15
+
+
+ 10
+
+
+ downlinkCapacity
+
+
+ label8
+
+
+ System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ tabPage6
+
+
+ 6
+
+
+ 111, 62
+
+
+ 94, 25
+
+
+ 9
+
+
+ txtKcpuplinkCapacity
+
+
+ System.Windows.Forms.TextBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ tabPage6
+
+
+ 7
+
+
+ True
+
+
+ 18, 66
+
+
+ 119, 15
+
+
+ 8
+
+
+ uplinkCapacity
+
+
+ label9
+
+
+ System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ tabPage6
+
+
+ 8
+
+
+ 345, 24
+
+
+ 94, 25
+
+
+ 7
+
+
+ txtKcptti
+
+
+ System.Windows.Forms.TextBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ tabPage6
+
+
+ 9
+
+
+ True
+
+
+ 236, 28
+
+
+ 31, 15
+
+
+ 6
+
+
+ tti
+
+
+ label7
+
+
+ System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ tabPage6
+
+
+ 10
+
+
+ 111, 24
+
+
+ 94, 25
+
+
+ 5
+
+
+ txtKcpmtu
+
+
+ System.Windows.Forms.TextBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ tabPage6
+
+
+ 11
+
+
+ True
+
+
+ 18, 28
+
+
+ 31, 15
+
+
+ 4
+
+
+ mtu
+
+
+ label6
+
+
+ System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ tabPage6
+
+
+ 12
+
+
+ 4, 25
+
+
+ 3, 3, 3, 3
+
+
+ 973, 555
+
+
+ 2
+
+
+ Core: KCP settings
+
tabPage6
+
+ System.Windows.Forms.TabPage, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ tabControl1
+
+
+ 2
+
+
+ 663, 37
+
+
+ 62, 25
+
+
+ 47
+
+
+ numStatisticsFreshRate
+
+
+ System.Windows.Forms.NumericUpDown, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ tabPage7
+
+
+ 0
+
+
+ 339, 222
+
+
+ 97, 25
+
+
+ 45
+
+
+ txttrayMenuServersLimit
+
+
+ System.Windows.Forms.TextBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ tabPage7
+
+
+ 1
+
+
+ True
+
+
+ NoControl
+
+
+ 15, 226
+
+
+ 351, 15
+
+
+ 44
+
+
+ Tray right-click menu servers display limit
+
+
+ label17
+
+
+ System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ tabPage7
+
+
+ 2
+
+
+ 339, 195
+
+
+ 97, 25
+
+
+ 43
+
+
+ txtautoUpdateSubInterval
+
+
+ System.Windows.Forms.TextBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ tabPage7
+
+
+ 3
+
+
+ True
+
+
+ NoControl
+
+
+ 15, 199
+
+
+ 407, 15
+
+
+ 42
+
+
+ Automatic update interval of subscriptions (hours)
+
+
+ label3
+
+
+ System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ tabPage7
+
+
+ 4
+
+
+ NoControl
+
+
+ 15, 153
+
+
+ 506, 16
+
+
+ 41
+
+
+ Check for pre-release updates
+
+
+ chkEnableCheckPreReleaseUpdate
+
+
+ System.Windows.Forms.CheckBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ tabPage7
+
+
+ 5
+
+
+ 15, 131
+
+
+ 506, 16
+
+
+ 41
+
+
+ Enable Security Protocol TLS v1.3 (subscription/update/speedtest)
+
+
+ chkEnableSecurityProtocolTls13
+
+
+ System.Windows.Forms.CheckBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ tabPage7
+
+
+ 6
+
+
+ True
+
+
+ NoControl
+
+
+ 15, 108
+
+
+ 517, 19
+
+
+ 40
+
+
+ Automatically adjust column width after updating subscription
+
+
+ chkEnableAutoAdjustMainLvColWidth
+
+
+ System.Windows.Forms.CheckBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ tabPage7
+
+
+ 7
+
+
+ NoControl
+
+
+ 30, 376
+
+
+ 282, 23
+
+
+ 39
+
+
+ Set Windows10 UWP Loopback
+
+
+ btnSetLoopback
+
+
+ System.Windows.Forms.Button, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ tabPage7
+
+
+ 8
+
+
+ 339, 168
+
+
+ 97, 25
+
+
+ 38
+
+
+ txtautoUpdateInterval
+
+
+ System.Windows.Forms.TextBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ tabPage7
+
+
+ 9
+
+
+ True
+
+
+ NoControl
+
+
+ 15, 172
+
+
+ 359, 15
+
+
+ 37
+
+
+ Automatic update interval of and Geo (hours)
+
+
+ label15
+
+
+ System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ tabPage7
+
+
+ 10
+
+
+ True
+
+
+ NoControl
+
+
+ 15, 85
+
+
+ 309, 19
+
+
+ 36
+
+
+ Ignore Geo files when updating core
+
+
+ chkIgnoreGeoUpdateCore
+
+
+ System.Windows.Forms.CheckBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ tabPage7
+
+
+ 11
+
+
+ True
+
+
+ NoControl
+
+
+ 15, 62
+
+
+ 261, 19
+
+
+ 33
+
+
+ Keep older when deduplication
+
+
+ chkKeepOlderDedupl
+
+
+ System.Windows.Forms.CheckBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ tabPage7
+
+
+ 12
+
+
+ True
+
+
+ NoControl
+
+
+ 479, 41
+
+
+ 239, 15
+
+
+ 30
+
+
+ Statistics freshrate (second)
+
+
+ lbFreshrate
+
+
+ System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ tabPage7
+
+
+ 13
+
+
+ True
+
+
+ NoControl
+
+
+ 15, 39
+
+
+ 621, 19
+
+
+ 29
+
+
+ Enable Statistics (Realtime netspeed and traffic records. Require restart)
+
+
+ chkEnableStatistics
+
+
+ System.Windows.Forms.CheckBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ tabPage7
+
+
+ 14
+
+
+ True
+
+
+ 15, 16
+
+
+ 325, 19
+
+
+ 23
+
+
+ Automatically start at system startup
+
+
+ chkAutoRun
+
+
+ System.Windows.Forms.CheckBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ tabPage7
+
+
+ 15
+
+
+ 4, 25
+
+
+ 3, 3, 3, 3
+
+
+ 973, 555
+
+
+ 3
+
+
+ v2rayN settings
+
+
+ tabPage7
+
+
+ System.Windows.Forms.TabPage, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ tabControl1
+
+
+ 3
+
+
+ 117, 172
+
+
+ 143, 23
+
+
+ 46
+
+
+ cmbCoreType6
+
+
+ System.Windows.Forms.ComboBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ tabPageCoreType
+
+
+ 0
+
+
+ True
+
+
+ NoControl
+
+
+ 45, 176
+
+
+ 79, 15
+
+
+ 47
+
+
+ Core Type
+
+
+ labCoreType6
+
+
+ System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ tabPageCoreType
+
1
-
+
+ 117, 146
+
+
+ 143, 23
+
+
+ 44
+
+
+ cmbCoreType5
+
+
+ System.Windows.Forms.ComboBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ tabPageCoreType
+
+
+ 2
+
+
+ True
+
+
+ NoControl
+
+
+ 45, 150
+
+
+ 79, 15
+
+
+ 45
+
+
+ Core Type
+
+
+ labCoreType5
+
+
+ System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ tabPageCoreType
+
+
+ 3
+
+
+ 117, 120
+
+
+ 143, 23
+
+
+ 42
+
+
+ cmbCoreType4
+
+
+ System.Windows.Forms.ComboBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ tabPageCoreType
+
+
+ 4
+
+
+ True
+
+
+ NoControl
+
+
+ 45, 124
+
+
+ 79, 15
+
+
+ 43
+
+
+ Core Type
+
+
+ labCoreType4
+
+
+ System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ tabPageCoreType
+
+
+ 5
+
+
+ 117, 94
+
+
+ 143, 23
+
+
+ 40
+
+
+ cmbCoreType3
+
+
+ System.Windows.Forms.ComboBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ tabPageCoreType
+
+
+ 6
+
+
+ True
+
+
+ NoControl
+
+
+ 45, 98
+
+
+ 79, 15
+
+
+ 41
+
+
+ Core Type
+
+
+ labCoreType3
+
+
+ System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ tabPageCoreType
+
+
+ 7
+
+
+ 117, 68
+
+
+ 143, 23
+
+
+ 38
+
+
+ cmbCoreType2
+
+
+ System.Windows.Forms.ComboBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ tabPageCoreType
+
+
+ 8
+
+
+ True
+
+
+ NoControl
+
+
+ 45, 72
+
+
+ 79, 15
+
+
+ 39
+
+
+ Core Type
+
+
+ labCoreType2
+
+
+ System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ tabPageCoreType
+
+
+ 9
+
+
+ 117, 42
+
+
+ 143, 23
+
+
+ 36
+
+
+ cmbCoreType1
+
+
+ System.Windows.Forms.ComboBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ tabPageCoreType
+
+
+ 10
+
+
+ True
+
+
+ NoControl
+
+
+ 45, 46
+
+
+ 79, 15
+
+
+ 37
+
+
+ Core Type
+
+
+ labCoreType1
+
+
+ System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ tabPageCoreType
+
+
+ 11
+
+
+ 4, 25
+
+
+ 3, 3, 3, 3
+
+
+ 973, 555
+
+
+ 6
+
+
+ CoreType settings
+
+
+ tabPageCoreType
+
+
+ System.Windows.Forms.TabPage, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ tabControl1
+
+
+ 4
+
+
+ True
+
+
+ NoControl
+
+
+ 8, 346
+
+
+ 439, 15
+
+
+ 45
+
+
+ Advanced proxy settings, protocol selection (optional)
+
+
+ label18
+
+
+ System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ groupBox2
+
+
+ 0
+
+
+ 8, 371
+
+
+ 638, 23
+
+
+ 44
+
+
+ cmbSystemProxyAdvancedProtocol
+
+
+ System.Windows.Forms.ComboBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ groupBox2
+
+
+ 1
+
+
+ True
+
+
+ NoControl
+
+
+ 6, 283
+
+
+ 143, 15
+
+
+ 42
+
+
+ Use semicolon (;)
+
+
+ label13
+
+
+ System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ groupBox2
+
+
+ 2
+
+
+ True
+
+
+ NoControl
+
+
+ 8, 28
+
+
+ 423, 15
+
+
+ 40
+
+
+ Do not use proxy server for addresses beginning with
+
+
+ label12
+
+
+ System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ groupBox2
+
+
+ 3
+
+
+ 8, 52
+
+
+ True
+
+
+ Vertical
+
+
+ 638, 219
+
+
+ 41
+
+
+ txtsystemProxyExceptions
+
+
+ System.Windows.Forms.TextBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ groupBox2
+
+
+ 4
+
+
+ Fill
+
+
+ 0, 0
+
+
+ 973, 555
+
+
+ 42
+
+
+ Exception
+
+
+ groupBox2
+
+
+ System.Windows.Forms.GroupBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ tabPage3
+
+
+ 0
+
+
+ 4, 25
+
+
+ 973, 555
+
+
+ 5
+
+
+ System proxy settings
+
+
+ tabPage3
+
+
+ System.Windows.Forms.TabPage, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ tabControl1
+
+
+ 5
+
+
+ Fill
+
+
+ 0, 10
+
+
+ 981, 584
+
+
+ 10
+
+
+ tabControl1
+
+
+ System.Windows.Forms.TabControl, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ $this
+
+
+ 0
+
+
+ 267, 16
+
+
+ 75, 23
+
+
+ 8
+
+
+ &OK
+
+
+ btnOK
+
+
+ System.Windows.Forms.Button, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ panel2
+
+
+ 1
+
+
+ Bottom
+
+
+ 0, 594
+
+
+ 981, 60
+
+
+ 11
+
+
+ panel2
+
+
+ System.Windows.Forms.Panel, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ $this
+
+
+ 1
+
+
+ Top
+
+
+ 0, 0
+
+
+ 981, 10
+
+
+ 9
+
+
+ panel1
+
+
+ System.Windows.Forms.Panel, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ $this
+
+
2
True
+
+ 8, 15
+
+
+ 981, 654
+
+
+ 5, 5, 5, 5
+
+
+ Settings
+
+
+ OptionSettingForm
+
+
+ v2rayN.Forms.BaseForm, v2rayN, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null
+
\ No newline at end of file
diff --git a/v2rayN/v2rayN/Forms/OptionSettingForm.zh-Hans.resx b/v2rayN/v2rayN/Forms/OptionSettingForm.zh-Hans.resx
index 20b1d8f5..09aed75f 100644
--- a/v2rayN/v2rayN/Forms/OptionSettingForm.zh-Hans.resx
+++ b/v2rayN/v2rayN/Forms/OptionSettingForm.zh-Hans.resx
@@ -388,4 +388,7 @@
参数设置
+
+ 检查Pre-Release更新
+
\ No newline at end of file
diff --git a/v2rayN/v2rayN/Handler/LazyConfig.cs b/v2rayN/v2rayN/Handler/LazyConfig.cs
index 890123cd..c8671cd5 100644
--- a/v2rayN/v2rayN/Handler/LazyConfig.cs
+++ b/v2rayN/v2rayN/Handler/LazyConfig.cs
@@ -72,7 +72,7 @@ namespace v2rayN.Handler
{
coreType = ECoreType.v2rayN,
coreUrl = Global.NUrl,
- coreLatestUrl = Global.NUrl + "/latest",
+ coreReleaseApiUrl = Global.NUrl.Replace(@"https://github.com", @"https://api.github.com/repos"),
coreDownloadUrl32 = Global.NUrl + "/download/{0}/v2rayN.zip",
coreDownloadUrl64 = Global.NUrl + "/download/{0}/v2rayN.zip",
});
@@ -83,7 +83,7 @@ namespace v2rayN.Handler
coreExes = new List { "wv2ray", "v2ray" },
arguments = "",
coreUrl = Global.v2flyCoreUrl,
- coreLatestUrl = Global.v2flyCoreUrl + "/latest",
+ coreReleaseApiUrl = Global.v2flyCoreUrl.Replace(@"https://github.com", @"https://api.github.com/repos"),
coreDownloadUrl32 = Global.v2flyCoreUrl + "/download/{0}/v2ray-windows-{1}.zip",
coreDownloadUrl64 = Global.v2flyCoreUrl + "/download/{0}/v2ray-windows-{1}.zip",
match = "V2Ray",
@@ -96,7 +96,7 @@ namespace v2rayN.Handler
coreExes = new List { "v2ray" },
arguments = "run",
coreUrl = Global.SagerNetCoreUrl,
- coreLatestUrl = Global.SagerNetCoreUrl + "/latest",
+ coreReleaseApiUrl = Global.SagerNetCoreUrl.Replace(@"https://github.com", @"https://api.github.com/repos"),
coreDownloadUrl32 = Global.SagerNetCoreUrl + "/download/{0}/v2ray-windows-{1}.zip",
coreDownloadUrl64 = Global.SagerNetCoreUrl + "/download/{0}/v2ray-windows-{1}.zip",
match = "V2Ray",
@@ -109,7 +109,7 @@ namespace v2rayN.Handler
coreExes = new List { "xray" },
arguments = "",
coreUrl = Global.xrayCoreUrl,
- coreLatestUrl = Global.xrayCoreUrl + "/latest",
+ coreReleaseApiUrl = Global.xrayCoreUrl.Replace(@"https://github.com", @"https://api.github.com/repos"),
coreDownloadUrl32 = Global.xrayCoreUrl + "/download/{0}/Xray-windows-{1}.zip",
coreDownloadUrl64 = Global.xrayCoreUrl + "/download/{0}/Xray-windows-{1}.zip",
match = "Xray",
@@ -122,7 +122,7 @@ namespace v2rayN.Handler
coreExes = new List { "clash-windows-amd64-v3", "clash-windows-amd64", "clash-windows-386", "clash" },
arguments = "-f config.json",
coreUrl = Global.clashCoreUrl,
- coreLatestUrl = Global.clashCoreUrl + "/latest",
+ coreReleaseApiUrl = Global.clashCoreUrl.Replace(@"https://github.com", @"https://api.github.com/repos"),
coreDownloadUrl32 = Global.clashCoreUrl + "/download/{0}/clash-windows-386-{0}.zip",
coreDownloadUrl64 = Global.clashCoreUrl + "/download/{0}/clash-windows-amd64-{0}.zip",
match = "v",
@@ -135,7 +135,7 @@ namespace v2rayN.Handler
coreExes = new List { "Clash.Meta-windows-amd64-compatible", "Clash.Meta-windows-amd64", "Clash.Meta-windows-386", "Clash.Meta", "clash" },
arguments = "-f config.json",
coreUrl = Global.clashMetaCoreUrl,
- coreLatestUrl = Global.clashMetaCoreUrl + "/latest",
+ coreReleaseApiUrl = Global.clashMetaCoreUrl.Replace(@"https://github.com", @"https://api.github.com/repos"),
coreDownloadUrl32 = Global.clashMetaCoreUrl + "/download/{0}/Clash.Meta-windows-386-{0}.zip",
coreDownloadUrl64 = Global.clashMetaCoreUrl + "/download/{0}/Clash.Meta-windows-amd64-compatible-{0}.zip",
match = "v",
@@ -148,7 +148,7 @@ namespace v2rayN.Handler
coreExes = new List { "hysteria-tun-windows-6.0-amd64", "hysteria-tun-windows-6.0-386", "hysteria" },
arguments = "",
coreUrl = Global.hysteriaCoreUrl,
- coreLatestUrl = Global.hysteriaCoreUrl + "/latest",
+ coreReleaseApiUrl = Global.hysteriaCoreUrl.Replace(@"https://github.com", @"https://api.github.com/repos"),
coreDownloadUrl32 = Global.hysteriaCoreUrl + "/download/{0}/hysteria-tun-windows-6.0-386.exe",
coreDownloadUrl64 = Global.hysteriaCoreUrl + "/download/{0}/hysteria-tun-windows-6.0-amd64.exe",
});
diff --git a/v2rayN/v2rayN/Handler/UpdateHandle.cs b/v2rayN/v2rayN/Handler/UpdateHandle.cs
index cf430a01..4e56f3ad 100644
--- a/v2rayN/v2rayN/Handler/UpdateHandle.cs
+++ b/v2rayN/v2rayN/Handler/UpdateHandle.cs
@@ -1,11 +1,14 @@
using System;
+using System.Collections.Generic;
using System.Diagnostics;
using System.IO;
+using System.Linq;
using System.Text;
using System.Text.RegularExpressions;
using System.Threading;
using System.Threading.Tasks;
using System.Windows.Forms;
+using Newtonsoft.Json;
using v2rayN.Base;
using v2rayN.Mode;
using v2rayN.Resx;
@@ -31,7 +34,7 @@ namespace v2rayN.Handler
}
}
- public void CheckUpdateGuiN(Config config, Action update)
+ public void CheckUpdateGuiN(Config config, Action update, bool preRelease)
{
_config = config;
_updateFunc = update;
@@ -97,11 +100,11 @@ namespace v2rayN.Handler
}
};
_updateFunc(false, string.Format(ResUI.MsgStartUpdating, "v2rayN"));
- CheckUpdateAsync(ECoreType.v2rayN);
+ CheckUpdateAsync(ECoreType.v2rayN, preRelease);
}
- public void CheckUpdateCore(ECoreType type, Config config, Action update)
+ public void CheckUpdateCore(ECoreType type, Config config, Action update, bool preRelease)
{
_config = config;
_updateFunc = update;
@@ -152,7 +155,7 @@ namespace v2rayN.Handler
}
};
_updateFunc(false, string.Format(ResUI.MsgStartUpdating, "Core"));
- CheckUpdateAsync(type);
+ CheckUpdateAsync(type, preRelease);
}
@@ -305,17 +308,17 @@ namespace v2rayN.Handler
#region private
- private async void CheckUpdateAsync(ECoreType type)
+ private async void CheckUpdateAsync(ECoreType type, bool preRelease)
{
try
{
var coreInfo = LazyConfig.Instance.GetCoreInfo(type);
- string url = coreInfo.coreLatestUrl;
+ string url = coreInfo.coreReleaseApiUrl;
- var result = await (new DownloadHandle()).UrlRedirectAsync(url, true);
+ var result = await (new DownloadHandle()).DownloadStringAsync(url, true, "");
if (!Utils.IsNullOrEmpty(result))
{
- responseHandler(type, result);
+ responseHandler(type, result, preRelease);
}
else
{
@@ -391,11 +394,20 @@ namespace v2rayN.Handler
return "";
}
}
- private void responseHandler(ECoreType type, string redirectUrl)
+ private void responseHandler(ECoreType type, string gitHubReleaseApi, bool preRelease)
{
try
{
- string version = redirectUrl.Substring(redirectUrl.LastIndexOf("/", StringComparison.Ordinal) + 1);
+ var gitHubReleases = JsonConvert.DeserializeObject>(gitHubReleaseApi);
+ string version;
+ if (preRelease)
+ {
+ version = gitHubReleases!.First().TagName;
+ }
+ else
+ {
+ version = gitHubReleases!.First(r => r.Prerelease == false).TagName;
+ }
var coreInfo = LazyConfig.Instance.GetCoreInfo(type);
string curVersion;
diff --git a/v2rayN/v2rayN/Mode/Config.cs b/v2rayN/v2rayN/Mode/Config.cs
index b498ef18..4397c1fa 100644
--- a/v2rayN/v2rayN/Mode/Config.cs
+++ b/v2rayN/v2rayN/Mode/Config.cs
@@ -137,6 +137,8 @@ namespace v2rayN.Mode
public int autoUpdateInterval { get; set; } = 0;
public int autoUpdateSubInterval { get; set; } = 0;
+
+ public bool checkPreReleaseUpdate { get; set; } = false;
public bool enableSecurityProtocolTls13
{
diff --git a/v2rayN/v2rayN/Mode/CoreInfo.cs b/v2rayN/v2rayN/Mode/CoreInfo.cs
index c47bc709..29a9d756 100644
--- a/v2rayN/v2rayN/Mode/CoreInfo.cs
+++ b/v2rayN/v2rayN/Mode/CoreInfo.cs
@@ -14,7 +14,7 @@ namespace v2rayN.Mode
public string coreUrl { get; set; }
- public string coreLatestUrl { get; set; }
+ public string coreReleaseApiUrl { get; set; }
public string coreDownloadUrl32 { get; set; }
diff --git a/v2rayN/v2rayN/Mode/GitHubRelease.cs b/v2rayN/v2rayN/Mode/GitHubRelease.cs
new file mode 100644
index 00000000..9296d991
--- /dev/null
+++ b/v2rayN/v2rayN/Mode/GitHubRelease.cs
@@ -0,0 +1,69 @@
+using System;
+using System.Collections.Generic;
+using Newtonsoft.Json;
+
+namespace v2rayN.Mode;
+
+public class Asset
+{
+ [JsonProperty("url")] public string Url { get; set; }
+
+ [JsonProperty("id")] public int Id { get; set; }
+
+ [JsonProperty("node_id")] public string NodeId { get; set; }
+
+ [JsonProperty("name")] public string Name { get; set; }
+
+ [JsonProperty("label")] public object Label { get; set; }
+
+ [JsonProperty("content_type")] public string ContentType { get; set; }
+
+ [JsonProperty("state")] public string State { get; set; }
+
+ [JsonProperty("size")] public int Size { get; set; }
+
+ [JsonProperty("download_count")] public int DownloadCount { get; set; }
+
+ [JsonProperty("created_at")] public DateTime CreatedAt { get; set; }
+
+ [JsonProperty("updated_at")] public DateTime UpdatedAt { get; set; }
+
+ [JsonProperty("browser_download_url")] public string BrowserDownloadUrl { get; set; }
+}
+
+public class GitHubRelease
+{
+ [JsonProperty("url")] public string Url { get; set; }
+
+ [JsonProperty("assets_url")] public string AssetsUrl { get; set; }
+
+ [JsonProperty("upload_url")] public string UploadUrl { get; set; }
+
+ [JsonProperty("html_url")] public string HtmlUrl { get; set; }
+
+ [JsonProperty("id")] public int Id { get; set; }
+
+ [JsonProperty("node_id")] public string NodeId { get; set; }
+
+ [JsonProperty("tag_name")] public string TagName { get; set; }
+
+ [JsonProperty("target_commitish")] public string TargetCommitish { get; set; }
+
+ [JsonProperty("name")] public string Name { get; set; }
+
+ [JsonProperty("draft")] public bool Draft { get; set; }
+
+ [JsonProperty("prerelease")] public bool Prerelease { get; set; }
+
+ [JsonProperty("created_at")] public DateTime CreatedAt { get; set; }
+
+ [JsonProperty("published_at")] public DateTime PublishedAt { get; set; }
+
+ [JsonProperty("assets")] public List Assets { get; set; }
+
+ [JsonProperty("tarball_url")] public string TarballUrl { get; set; }
+
+ [JsonProperty("zipball_url")] public string ZipballUrl { get; set; }
+
+ [JsonProperty("body")] public string Body { get; set; }
+}
\ No newline at end of file
diff --git a/v2rayN/v2rayN/v2rayN.csproj b/v2rayN/v2rayN/v2rayN.csproj
index 10d89345..95273060 100644
--- a/v2rayN/v2rayN/v2rayN.csproj
+++ b/v2rayN/v2rayN/v2rayN.csproj
@@ -2,6 +2,7 @@
+ preview
Debug
AnyCPU
{0A9785E6-D256-4B73-9757-4EF59955FD1E}
@@ -209,6 +210,7 @@
+