Compare commits

...

18 Commits
5.31 ... 5.33

Author SHA1 Message Date
2dust
8dadfe6579 Update AssemblyInfo.cs 2022-08-15 19:54:08 +08:00
2dust
6c06de63e4 Restore gui config 2022-08-15 19:53:38 +08:00
2dust
54a122ae34 Improve core tip 2022-08-14 19:36:20 +08:00
2dust
7a0daee443 Merge pull request #2556 from qianxu2001/master
适配 hysteria v1.2.0
2022-08-14 19:15:40 +08:00
qianxu2001
88b5e29092 适配 hysteria v1.2.0
适配 hysteria v1.2.0
2022-08-14 11:01:33 +08:00
2dust
b3ea08dd99 Update v2rayN.csproj 2022-08-13 19:35:56 +08:00
2dust
95794bc5b2 Remove restore location on startup 2022-08-12 20:24:52 +08:00
2dust
3275454bd6 clear auto run 2022-08-12 20:24:15 +08:00
2dust
7f5bb86127 Update v2rayN.csproj 2022-08-06 19:46:47 +08:00
2dust
cf1ae8f240 Update AssemblyInfo.cs 2022-08-05 20:54:04 +08:00
2dust
9b2261918f Refactor UI 2022-08-05 20:53:40 +08:00
2dust
f74071691f Update current group subscription 2022-08-05 20:52:08 +08:00
2dust
6d5e02860e Remember the information filter 2022-08-05 20:50:58 +08:00
2dust
ffa2acb2f5 fix UI 2022-08-05 20:38:03 +08:00
2dust
25b4ff771e fix Pre-Release Updates 2022-08-05 20:28:20 +08:00
2dust
7a48617fea Merge pull request #2530 from InterestingDarkness/master
Add Check for Pre-Release Updates
2022-08-05 20:18:04 +08:00
InterestingDarkness
800807b47a Add Check for Pre-Release Updates 2022-08-05 15:06:44 +08:00
2dust
eaf11c6998 bug fix 2022-08-04 17:07:50 +08:00
25 changed files with 3107 additions and 2165 deletions

View File

@@ -42,11 +42,11 @@
this.menuAddServers = new System.Windows.Forms.ToolStripMenuItem(); this.menuAddServers = new System.Windows.Forms.ToolStripMenuItem();
this.menuScanScreen = new System.Windows.Forms.ToolStripMenuItem(); this.menuScanScreen = new System.Windows.Forms.ToolStripMenuItem();
this.toolStripSeparator1 = new System.Windows.Forms.ToolStripSeparator(); this.toolStripSeparator1 = new System.Windows.Forms.ToolStripSeparator();
this.menuServerFilter = new System.Windows.Forms.ToolStripMenuItem();
this.menuRemoveServer = new System.Windows.Forms.ToolStripMenuItem(); this.menuRemoveServer = new System.Windows.Forms.ToolStripMenuItem();
this.menuRemoveDuplicateServer = new System.Windows.Forms.ToolStripMenuItem(); this.menuRemoveDuplicateServer = new System.Windows.Forms.ToolStripMenuItem();
this.menuCopyServer = new System.Windows.Forms.ToolStripMenuItem(); this.menuCopyServer = new System.Windows.Forms.ToolStripMenuItem();
this.menuSetDefaultServer = new System.Windows.Forms.ToolStripMenuItem(); this.menuSetDefaultServer = new System.Windows.Forms.ToolStripMenuItem();
this.menuServerFilter = new System.Windows.Forms.ToolStripMenuItem();
this.toolStripSeparator3 = new System.Windows.Forms.ToolStripSeparator(); this.toolStripSeparator3 = new System.Windows.Forms.ToolStripSeparator();
this.menuMoveToGroup = new System.Windows.Forms.ToolStripMenuItem(); this.menuMoveToGroup = new System.Windows.Forms.ToolStripMenuItem();
this.menuMoveEvent = new System.Windows.Forms.ToolStripMenuItem(); this.menuMoveEvent = new System.Windows.Forms.ToolStripMenuItem();
@@ -68,9 +68,9 @@
this.menuExport2ServerConfig = new System.Windows.Forms.ToolStripMenuItem(); this.menuExport2ServerConfig = new System.Windows.Forms.ToolStripMenuItem();
this.menuExport2ShareUrl = new System.Windows.Forms.ToolStripMenuItem(); this.menuExport2ShareUrl = new System.Windows.Forms.ToolStripMenuItem();
this.menuExport2SubContent = new System.Windows.Forms.ToolStripMenuItem(); this.menuExport2SubContent = new System.Windows.Forms.ToolStripMenuItem();
this.tsbServer = new System.Windows.Forms.ToolStripDropDownButton();
this.tabGroup = new System.Windows.Forms.TabControl(); this.tabGroup = new System.Windows.Forms.TabControl();
this.qrCodeControl = new v2rayN.Forms.QRCodeControl(); this.qrCodeControl = new v2rayN.Forms.QRCodeControl();
this.tsbServer = new System.Windows.Forms.ToolStripDropDownButton();
this.scBig = new System.Windows.Forms.SplitContainer(); this.scBig = new System.Windows.Forms.SplitContainer();
this.gbServers = new System.Windows.Forms.GroupBox(); this.gbServers = new System.Windows.Forms.GroupBox();
this.mainMsgControl = new v2rayN.Forms.MainMsgControl(); this.mainMsgControl = new v2rayN.Forms.MainMsgControl();
@@ -96,6 +96,8 @@
this.tsbSubSetting = new System.Windows.Forms.ToolStripMenuItem(); this.tsbSubSetting = new System.Windows.Forms.ToolStripMenuItem();
this.tsbSubUpdate = new System.Windows.Forms.ToolStripMenuItem(); this.tsbSubUpdate = new System.Windows.Forms.ToolStripMenuItem();
this.tsbSubUpdateViaProxy = new System.Windows.Forms.ToolStripMenuItem(); this.tsbSubUpdateViaProxy = new System.Windows.Forms.ToolStripMenuItem();
this.tsbSubGroupUpdate = new System.Windows.Forms.ToolStripMenuItem();
this.tsbSubGroupUpdateViaProxy = new System.Windows.Forms.ToolStripMenuItem();
this.tsbQRCodeSwitch = new System.Windows.Forms.ToolStripButton(); this.tsbQRCodeSwitch = new System.Windows.Forms.ToolStripButton();
this.toolStripSeparator8 = new System.Windows.Forms.ToolStripSeparator(); this.toolStripSeparator8 = new System.Windows.Forms.ToolStripSeparator();
this.tsbSetting = new System.Windows.Forms.ToolStripDropDownButton(); this.tsbSetting = new System.Windows.Forms.ToolStripDropDownButton();
@@ -128,6 +130,7 @@
this.tsbPromotion = new System.Windows.Forms.ToolStripButton(); this.tsbPromotion = new System.Windows.Forms.ToolStripButton();
this.toolStripSeparator11 = new System.Windows.Forms.ToolStripSeparator(); this.toolStripSeparator11 = new System.Windows.Forms.ToolStripSeparator();
this.tsbClose = new System.Windows.Forms.ToolStripButton(); this.tsbClose = new System.Windows.Forms.ToolStripButton();
this.tsbRestoreGuiNConfig = new System.Windows.Forms.ToolStripMenuItem();
((System.ComponentModel.ISupportInitialize)(this.scServers)).BeginInit(); ((System.ComponentModel.ISupportInitialize)(this.scServers)).BeginInit();
this.scServers.Panel1.SuspendLayout(); this.scServers.Panel1.SuspendLayout();
this.scServers.Panel2.SuspendLayout(); this.scServers.Panel2.SuspendLayout();
@@ -191,11 +194,11 @@
this.menuAddServers, this.menuAddServers,
this.menuScanScreen, this.menuScanScreen,
this.toolStripSeparator1, this.toolStripSeparator1,
this.menuServerFilter,
this.menuRemoveServer, this.menuRemoveServer,
this.menuRemoveDuplicateServer, this.menuRemoveDuplicateServer,
this.menuCopyServer, this.menuCopyServer,
this.menuSetDefaultServer, this.menuSetDefaultServer,
this.menuServerFilter,
this.toolStripSeparator3, this.toolStripSeparator3,
this.menuMoveToGroup, this.menuMoveToGroup,
this.menuMoveEvent, this.menuMoveEvent,
@@ -270,6 +273,12 @@
this.toolStripSeparator1.Name = "toolStripSeparator1"; this.toolStripSeparator1.Name = "toolStripSeparator1";
resources.ApplyResources(this.toolStripSeparator1, "toolStripSeparator1"); resources.ApplyResources(this.toolStripSeparator1, "toolStripSeparator1");
// //
// menuServerFilter
//
this.menuServerFilter.Name = "menuServerFilter";
resources.ApplyResources(this.menuServerFilter, "menuServerFilter");
this.menuServerFilter.Click += new System.EventHandler(this.menuServerFilter_Click);
//
// menuRemoveServer // menuRemoveServer
// //
this.menuRemoveServer.Name = "menuRemoveServer"; this.menuRemoveServer.Name = "menuRemoveServer";
@@ -294,12 +303,6 @@
resources.ApplyResources(this.menuSetDefaultServer, "menuSetDefaultServer"); resources.ApplyResources(this.menuSetDefaultServer, "menuSetDefaultServer");
this.menuSetDefaultServer.Click += new System.EventHandler(this.menuSetDefaultServer_Click); this.menuSetDefaultServer.Click += new System.EventHandler(this.menuSetDefaultServer_Click);
// //
// menuServerFilter
//
this.menuServerFilter.Name = "menuServerFilter";
resources.ApplyResources(this.menuServerFilter, "menuServerFilter");
this.menuServerFilter.Click += new System.EventHandler(this.menuServerFilter_Click);
//
// toolStripSeparator3 // toolStripSeparator3
// //
this.toolStripSeparator3.Name = "toolStripSeparator3"; this.toolStripSeparator3.Name = "toolStripSeparator3";
@@ -427,13 +430,6 @@
resources.ApplyResources(this.menuExport2SubContent, "menuExport2SubContent"); resources.ApplyResources(this.menuExport2SubContent, "menuExport2SubContent");
this.menuExport2SubContent.Click += new System.EventHandler(this.menuExport2SubContent_Click); this.menuExport2SubContent.Click += new System.EventHandler(this.menuExport2SubContent_Click);
// //
// tsbServer
//
this.tsbServer.DropDown = this.cmsLv;
this.tsbServer.Image = global::v2rayN.Properties.Resources.server;
resources.ApplyResources(this.tsbServer, "tsbServer");
this.tsbServer.Name = "tsbServer";
//
// tabGroup // tabGroup
// //
resources.ApplyResources(this.tabGroup, "tabGroup"); resources.ApplyResources(this.tabGroup, "tabGroup");
@@ -446,6 +442,13 @@
resources.ApplyResources(this.qrCodeControl, "qrCodeControl"); resources.ApplyResources(this.qrCodeControl, "qrCodeControl");
this.qrCodeControl.Name = "qrCodeControl"; this.qrCodeControl.Name = "qrCodeControl";
// //
// tsbServer
//
this.tsbServer.DropDown = this.cmsLv;
this.tsbServer.Image = global::v2rayN.Properties.Resources.server;
resources.ApplyResources(this.tsbServer, "tsbServer");
this.tsbServer.Name = "tsbServer";
//
// scBig // scBig
// //
resources.ApplyResources(this.scBig, "scBig"); resources.ApplyResources(this.scBig, "scBig");
@@ -612,7 +615,9 @@
this.tsbSub.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] { this.tsbSub.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] {
this.tsbSubSetting, this.tsbSubSetting,
this.tsbSubUpdate, this.tsbSubUpdate,
this.tsbSubUpdateViaProxy}); this.tsbSubUpdateViaProxy,
this.tsbSubGroupUpdate,
this.tsbSubGroupUpdateViaProxy});
this.tsbSub.Image = global::v2rayN.Properties.Resources.sub; this.tsbSub.Image = global::v2rayN.Properties.Resources.sub;
resources.ApplyResources(this.tsbSub, "tsbSub"); resources.ApplyResources(this.tsbSub, "tsbSub");
this.tsbSub.Name = "tsbSub"; this.tsbSub.Name = "tsbSub";
@@ -635,6 +640,18 @@
resources.ApplyResources(this.tsbSubUpdateViaProxy, "tsbSubUpdateViaProxy"); resources.ApplyResources(this.tsbSubUpdateViaProxy, "tsbSubUpdateViaProxy");
this.tsbSubUpdateViaProxy.Click += new System.EventHandler(this.tsbSubUpdateViaProxy_Click); this.tsbSubUpdateViaProxy.Click += new System.EventHandler(this.tsbSubUpdateViaProxy_Click);
// //
// tsbSubGroupUpdate
//
this.tsbSubGroupUpdate.Name = "tsbSubGroupUpdate";
resources.ApplyResources(this.tsbSubGroupUpdate, "tsbSubGroupUpdate");
this.tsbSubGroupUpdate.Click += new System.EventHandler(this.tsbSubGroupUpdate_Click);
//
// tsbSubGroupUpdateViaProxy
//
this.tsbSubGroupUpdateViaProxy.Name = "tsbSubGroupUpdateViaProxy";
resources.ApplyResources(this.tsbSubGroupUpdateViaProxy, "tsbSubGroupUpdateViaProxy");
this.tsbSubGroupUpdateViaProxy.Click += new System.EventHandler(this.tsbSubGroupUpdateViaProxy_Click);
//
// tsbQRCodeSwitch // tsbQRCodeSwitch
// //
this.tsbQRCodeSwitch.CheckOnClick = true; this.tsbQRCodeSwitch.CheckOnClick = true;
@@ -657,7 +674,8 @@
this.tsbGlobalHotkeySetting, this.tsbGlobalHotkeySetting,
this.tsbGroupSetting, this.tsbGroupSetting,
this.toolStripSeparator14, this.toolStripSeparator14,
this.tsbBackupGuiNConfig}); this.tsbBackupGuiNConfig,
this.tsbRestoreGuiNConfig});
this.tsbSetting.Image = global::v2rayN.Properties.Resources.option; this.tsbSetting.Image = global::v2rayN.Properties.Resources.option;
resources.ApplyResources(this.tsbSetting, "tsbSetting"); resources.ApplyResources(this.tsbSetting, "tsbSetting");
this.tsbSetting.Name = "tsbSetting"; this.tsbSetting.Name = "tsbSetting";
@@ -848,6 +866,12 @@
this.tsbClose.Name = "tsbClose"; this.tsbClose.Name = "tsbClose";
this.tsbClose.Click += new System.EventHandler(this.tsbClose_Click); this.tsbClose.Click += new System.EventHandler(this.tsbClose_Click);
// //
// tsbRestoreGuiNConfig
//
this.tsbRestoreGuiNConfig.Name = "tsbRestoreGuiNConfig";
resources.ApplyResources(this.tsbRestoreGuiNConfig, "tsbRestoreGuiNConfig");
this.tsbRestoreGuiNConfig.Click += new System.EventHandler(this.tsbRestoreGuiNConfig_Click);
//
// MainForm // MainForm
// //
resources.ApplyResources(this, "$this"); resources.ApplyResources(this, "$this");
@@ -981,6 +1005,9 @@
private System.Windows.Forms.ToolStripSeparator toolStripSeparator16; private System.Windows.Forms.ToolStripSeparator toolStripSeparator16;
private System.Windows.Forms.ToolStripMenuItem menuSortServerResult; private System.Windows.Forms.ToolStripMenuItem menuSortServerResult;
private System.Windows.Forms.ToolStripMenuItem tsbCheckUpdateSagerNetCore; private System.Windows.Forms.ToolStripMenuItem tsbCheckUpdateSagerNetCore;
private System.Windows.Forms.ToolStripMenuItem tsbSubGroupUpdate;
private System.Windows.Forms.ToolStripMenuItem tsbSubGroupUpdateViaProxy;
private System.Windows.Forms.ToolStripMenuItem tsbRestoreGuiNConfig;
} }
} }

View File

@@ -20,7 +20,7 @@ namespace v2rayN.Forms
private List<VmessItem> lstSelecteds = new List<VmessItem>(); private List<VmessItem> lstSelecteds = new List<VmessItem>();
private StatisticsHandler statistics; private StatisticsHandler statistics;
private List<VmessItem> lstVmess; private List<VmessItem> lstVmess;
private string groupId = string.Empty; private string _groupId = string.Empty;
private string serverFilter = string.Empty; private string serverFilter = string.Empty;
#region Window #region Window
@@ -158,10 +158,18 @@ namespace v2rayN.Forms
{ {
scServers.Panel2Collapsed = true; scServers.Panel2Collapsed = true;
if (!config.uiItem.mainLocation.IsEmpty) //if (!config.uiItem.mainLocation.IsEmpty)
{ //{
Location = config.uiItem.mainLocation; // if (config.uiItem.mainLocation.X >= SystemInformation.WorkingArea.Width
} // || config.uiItem.mainLocation.Y >= SystemInformation.WorkingArea.Height)
// {
// Location = new Point(0, 0);
// }
// else
// {
// Location = config.uiItem.mainLocation;
// }
//}
if (!config.uiItem.mainSize.IsEmpty) if (!config.uiItem.mainSize.IsEmpty)
{ {
Width = config.uiItem.mainSize.Width; Width = config.uiItem.mainSize.Width;
@@ -218,13 +226,17 @@ namespace v2rayN.Forms
private void RefreshServers() private void RefreshServers()
{ {
lstVmess = config.vmess lstVmess = config.vmess
.Where(it => Utils.IsNullOrEmpty(groupId) || it.groupId == groupId) .Where(it => Utils.IsNullOrEmpty(_groupId) || it.groupId == _groupId)
.Where(it => Utils.IsNullOrEmpty(serverFilter) || it.remarks.Contains(serverFilter)) .Where(it => Utils.IsNullOrEmpty(serverFilter) || it.remarks.Contains(serverFilter))
.OrderBy(it => it.sort) .OrderBy(it => it.sort)
.ToList(); .ToList();
ConfigHandler.SetDefaultServer(config, lstVmess); ConfigHandler.SetDefaultServer(config, lstVmess);
RefreshServersView(); BeginInvoke(new Action(() =>
{
RefreshServersView();
}));
RefreshServersMenu(); RefreshServersMenu();
} }
@@ -289,11 +301,11 @@ namespace v2rayN.Forms
for (int k = 0; k < lstVmess.Count; k++) for (int k = 0; k < lstVmess.Count; k++)
{ {
string def = string.Empty; string def = (k + 1).ToString();
VmessItem item = lstVmess[k]; VmessItem item = lstVmess[k];
if (config.IsActiveNode(item)) if (config.IsActiveNode(item))
{ {
def = "√"; def = Global.CheckMark;
} }
ListViewItem lvItem = new ListViewItem(def); ListViewItem lvItem = new ListViewItem(def);
@@ -483,9 +495,9 @@ namespace v2rayN.Forms
{ {
return; return;
} }
groupId = string.Empty; _groupId = string.Empty;
//groupId = tabGroup.TabPages[tabGroup.SelectedIndex].Name; //groupId = tabGroup.TabPages[tabGroup.SelectedIndex].Name;
groupId = tabGroup.SelectedTab.Name; _groupId = tabGroup.SelectedTab.Name;
RefreshServers(); RefreshServers();
@@ -596,7 +608,7 @@ namespace v2rayN.Forms
fm = new AddServerForm(); fm = new AddServerForm();
} }
fm.vmessItem = index >= 0 ? lstVmess[index] : null; fm.vmessItem = index >= 0 ? lstVmess[index] : null;
fm.groupId = groupId; fm.groupId = _groupId;
fm.eConfigType = configType; fm.eConfigType = configType;
if (fm.ShowDialog() == DialogResult.OK) if (fm.ShowDialog() == DialogResult.OK)
{ {
@@ -799,6 +811,7 @@ namespace v2rayN.Forms
if (statistics != null) if (statistics != null)
{ {
statistics.ClearAllServerStatistics(); statistics.ClearAllServerStatistics();
RefreshServers();
} }
} }
@@ -943,13 +956,13 @@ namespace v2rayN.Forms
{ {
if (config.IsActiveNode(lstVmess[k])) if (config.IsActiveNode(lstVmess[k]))
{ {
lvServers.Items[k].SubItems[0].Text = "√"; lvServers.Items[k].SubItems[0].Text = Global.CheckMark;
lvServers.Items[k].ForeColor = Color.DodgerBlue; lvServers.Items[k].ForeColor = Color.DodgerBlue;
lvServers.Items[k].Font = new Font(lvServers.Font, FontStyle.Bold); lvServers.Items[k].Font = new Font(lvServers.Font, FontStyle.Bold);
} }
else else
{ {
lvServers.Items[k].SubItems[0].Text = ""; lvServers.Items[k].SubItems[0].Text = (k + 1).ToString();
lvServers.Items[k].ForeColor = lvServers.ForeColor; lvServers.Items[k].ForeColor = lvServers.ForeColor;
lvServers.Items[k].Font = new Font(lvServers.Font, FontStyle.Regular); lvServers.Items[k].Font = new Font(lvServers.Font, FontStyle.Regular);
} }
@@ -1018,7 +1031,7 @@ namespace v2rayN.Forms
private void menuAddServers_Click(object sender, EventArgs e) private void menuAddServers_Click(object sender, EventArgs e)
{ {
string clipboardData = Utils.GetClipboardData(); string clipboardData = Utils.GetClipboardData();
int ret = ConfigHandler.AddBatchServers(ref config, clipboardData, "", groupId); int ret = ConfigHandler.AddBatchServers(ref config, clipboardData, "", _groupId);
if (ret > 0) if (ret > 0)
{ {
RefreshServers(); RefreshServers();
@@ -1048,7 +1061,7 @@ namespace v2rayN.Forms
} }
else else
{ {
int ret = ConfigHandler.AddBatchServers(ref config, result, "", groupId); int ret = ConfigHandler.AddBatchServers(ref config, result, "", _groupId);
if (ret > 0) if (ret > 0)
{ {
RefreshServers(); RefreshServers();
@@ -1059,17 +1072,25 @@ namespace v2rayN.Forms
private void menuUpdateSubscriptions_Click(object sender, EventArgs e) private void menuUpdateSubscriptions_Click(object sender, EventArgs e)
{ {
UpdateSubscriptionProcess(false); UpdateSubscriptionProcess("", false);
} }
private void menuUpdateSubViaProxy_Click(object sender, EventArgs e) private void menuUpdateSubViaProxy_Click(object sender, EventArgs e)
{ {
UpdateSubscriptionProcess(true); UpdateSubscriptionProcess("", true);
} }
private void tsbBackupGuiNConfig_Click(object sender, EventArgs e) private void tsbBackupGuiNConfig_Click(object sender, EventArgs e)
{ {
MainFormHandler.Instance.BackupGuiNConfig(config); MainFormHandler.Instance.BackupGuiNConfig(config);
} }
private void tsbRestoreGuiNConfig_Click(object sender, EventArgs e)
{
if (MainFormHandler.Instance.RestoreGuiNConfig(ref config))
{
RefreshServers();
}
}
#endregion #endregion
@@ -1356,7 +1377,7 @@ namespace v2rayN.Forms
menuExit_Click(null, null); menuExit_Click(null, null);
} }
}; };
(new UpdateHandle()).CheckUpdateGuiN(config, _updateUI); (new UpdateHandle()).CheckUpdateGuiN(config, _updateUI, config.checkPreReleaseUpdate);
} }
private void tsbCheckUpdateCore_Click(object sender, EventArgs e) private void tsbCheckUpdateCore_Click(object sender, EventArgs e)
@@ -1404,7 +1425,7 @@ namespace v2rayN.Forms
AppendText(false, ResUI.MsgUpdateV2rayCoreSuccessfully); 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) private void tsbCheckUpdateGeo_Click(object sender, EventArgs e)
@@ -1450,18 +1471,27 @@ namespace v2rayN.Forms
private void tsbSubUpdate_Click(object sender, EventArgs e) private void tsbSubUpdate_Click(object sender, EventArgs e)
{ {
UpdateSubscriptionProcess(false); UpdateSubscriptionProcess("", false);
} }
private void tsbSubUpdateViaProxy_Click(object sender, EventArgs e) private void tsbSubUpdateViaProxy_Click(object sender, EventArgs e)
{ {
UpdateSubscriptionProcess(true); UpdateSubscriptionProcess("", true);
}
private void tsbSubGroupUpdate_Click(object sender, EventArgs e)
{
UpdateSubscriptionProcess(_groupId, true);
}
private void tsbSubGroupUpdateViaProxy_Click(object sender, EventArgs e)
{
UpdateSubscriptionProcess(_groupId, true);
} }
/// <summary> /// <summary>
/// the subscription update process /// the subscription update process
/// </summary> /// </summary>
private void UpdateSubscriptionProcess(bool blProxy) private void UpdateSubscriptionProcess(string groupId, bool blProxy)
{ {
void _updateUI(bool success, string msg) void _updateUI(bool success, string msg)
{ {
@@ -1479,7 +1509,7 @@ namespace v2rayN.Forms
} }
}; };
(new UpdateHandle()).UpdateSubscriptionProcess(config, blProxy, _updateUI); (new UpdateHandle()).UpdateSubscriptionProcess(config, groupId, blProxy, _updateUI);
} }
private void tsbQRCodeSwitch_CheckedChanged(object sender, EventArgs e) private void tsbQRCodeSwitch_CheckedChanged(object sender, EventArgs e)

View File

@@ -179,6 +179,12 @@
<data name="toolStripSeparator1.Size" type="System.Drawing.Size, System.Drawing"> <data name="toolStripSeparator1.Size" type="System.Drawing.Size, System.Drawing">
<value>352, 6</value> <value>352, 6</value>
</data> </data>
<data name="menuServerFilter.Size" type="System.Drawing.Size, System.Drawing">
<value>355, 22</value>
</data>
<data name="menuServerFilter.Text" xml:space="preserve">
<value>Set server filter (Ctrl+F)</value>
</data>
<data name="menuRemoveServer.Size" type="System.Drawing.Size, System.Drawing"> <data name="menuRemoveServer.Size" type="System.Drawing.Size, System.Drawing">
<value>355, 22</value> <value>355, 22</value>
</data> </data>
@@ -203,12 +209,6 @@
<data name="menuSetDefaultServer.Text" xml:space="preserve"> <data name="menuSetDefaultServer.Text" xml:space="preserve">
<value>Set as active server (Enter)</value> <value>Set as active server (Enter)</value>
</data> </data>
<data name="menuServerFilter.Size" type="System.Drawing.Size, System.Drawing">
<value>355, 22</value>
</data>
<data name="menuServerFilter.Text" xml:space="preserve">
<value>Set server filter (Ctrl+F)</value>
</data>
<data name="toolStripSeparator3.Size" type="System.Drawing.Size, System.Drawing"> <data name="toolStripSeparator3.Size" type="System.Drawing.Size, System.Drawing">
<value>352, 6</value> <value>352, 6</value>
</data> </data>
@@ -218,30 +218,6 @@
<data name="menuMoveToGroup.Text" xml:space="preserve"> <data name="menuMoveToGroup.Text" xml:space="preserve">
<value>Move to Group</value> <value>Move to Group</value>
</data> </data>
<data name="menuMoveTop.Size" type="System.Drawing.Size, System.Drawing">
<value>192, 22</value>
</data>
<data name="menuMoveTop.Text" xml:space="preserve">
<value>Move to top (T)</value>
</data>
<data name="menuMoveUp.Size" type="System.Drawing.Size, System.Drawing">
<value>192, 22</value>
</data>
<data name="menuMoveUp.Text" xml:space="preserve">
<value>Up (U)</value>
</data>
<data name="menuMoveDown.Size" type="System.Drawing.Size, System.Drawing">
<value>192, 22</value>
</data>
<data name="menuMoveDown.Text" xml:space="preserve">
<value>Down (D)</value>
</data>
<data name="menuMoveBottom.Size" type="System.Drawing.Size, System.Drawing">
<value>192, 22</value>
</data>
<data name="menuMoveBottom.Text" xml:space="preserve">
<value>Move to bottom (B)</value>
</data>
<data name="menuMoveEvent.Size" type="System.Drawing.Size, System.Drawing"> <data name="menuMoveEvent.Size" type="System.Drawing.Size, System.Drawing">
<value>355, 22</value> <value>355, 22</value>
</data> </data>
@@ -339,7 +315,7 @@
<value>ImageAboveText</value> <value>ImageAboveText</value>
</data> </data>
<data name="cmsLv.Size" type="System.Drawing.Size, System.Drawing"> <data name="cmsLv.Size" type="System.Drawing.Size, System.Drawing">
<value>356, 644</value> <value>356, 622</value>
</data> </data>
<data name="&gt;&gt;cmsLv.Name" xml:space="preserve"> <data name="&gt;&gt;cmsLv.Name" xml:space="preserve">
<value>cmsLv</value> <value>cmsLv</value>
@@ -488,6 +464,30 @@
<data name="&gt;&gt;scServers.ZOrder" xml:space="preserve"> <data name="&gt;&gt;scServers.ZOrder" xml:space="preserve">
<value>0</value> <value>0</value>
</data> </data>
<data name="menuMoveTop.Size" type="System.Drawing.Size, System.Drawing">
<value>192, 22</value>
</data>
<data name="menuMoveTop.Text" xml:space="preserve">
<value>Move to top (T)</value>
</data>
<data name="menuMoveUp.Size" type="System.Drawing.Size, System.Drawing">
<value>192, 22</value>
</data>
<data name="menuMoveUp.Text" xml:space="preserve">
<value>Up (U)</value>
</data>
<data name="menuMoveDown.Size" type="System.Drawing.Size, System.Drawing">
<value>192, 22</value>
</data>
<data name="menuMoveDown.Text" xml:space="preserve">
<value>Down (D)</value>
</data>
<data name="menuMoveBottom.Size" type="System.Drawing.Size, System.Drawing">
<value>192, 22</value>
</data>
<data name="menuMoveBottom.Text" xml:space="preserve">
<value>Move to bottom (B)</value>
</data>
<data name="scBig.Dock" type="System.Windows.Forms.DockStyle, System.Windows.Forms"> <data name="scBig.Dock" type="System.Windows.Forms.DockStyle, System.Windows.Forms">
<value>Fill</value> <value>Fill</value>
</data> </data>
@@ -599,6 +599,27 @@
<data name="cmsMain.ImeMode" type="System.Windows.Forms.ImeMode, System.Windows.Forms"> <data name="cmsMain.ImeMode" type="System.Windows.Forms.ImeMode, System.Windows.Forms">
<value>NoControl</value> <value>NoControl</value>
</data> </data>
<data name="cmsMain.Size" type="System.Drawing.Size, System.Drawing">
<value>278, 192</value>
</data>
<data name="&gt;&gt;cmsMain.Name" xml:space="preserve">
<value>cmsMain</value>
</data>
<data name="&gt;&gt;cmsMain.Type" xml:space="preserve">
<value>System.Windows.Forms.ContextMenuStrip, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="notifyMain.Text" xml:space="preserve">
<value>v2rayN</value>
</data>
<data name="notifyMain.Visible" type="System.Boolean, mscorlib">
<value>True</value>
</data>
<data name="menuSysAgentMode.Size" type="System.Drawing.Size, System.Drawing">
<value>277, 22</value>
</data>
<data name="menuSysAgentMode.Text" xml:space="preserve">
<value>System proxy</value>
</data>
<data name="menuKeepClear.Size" type="System.Drawing.Size, System.Drawing"> <data name="menuKeepClear.Size" type="System.Drawing.Size, System.Drawing">
<value>243, 22</value> <value>243, 22</value>
</data> </data>
@@ -617,12 +638,6 @@
<data name="menuKeepNothing.Text" xml:space="preserve"> <data name="menuKeepNothing.Text" xml:space="preserve">
<value>Do not change system proxy</value> <value>Do not change system proxy</value>
</data> </data>
<data name="menuSysAgentMode.Size" type="System.Drawing.Size, System.Drawing">
<value>277, 22</value>
</data>
<data name="menuSysAgentMode.Text" xml:space="preserve">
<value>System proxy</value>
</data>
<data name="menuRoutings.Size" type="System.Drawing.Size, System.Drawing"> <data name="menuRoutings.Size" type="System.Drawing.Size, System.Drawing">
<value>277, 22</value> <value>277, 22</value>
</data> </data>
@@ -671,21 +686,6 @@
<data name="menuExit.Text" xml:space="preserve"> <data name="menuExit.Text" xml:space="preserve">
<value>Exit</value> <value>Exit</value>
</data> </data>
<data name="cmsMain.Size" type="System.Drawing.Size, System.Drawing">
<value>278, 192</value>
</data>
<data name="&gt;&gt;cmsMain.Name" xml:space="preserve">
<value>cmsMain</value>
</data>
<data name="&gt;&gt;cmsMain.Type" xml:space="preserve">
<value>System.Windows.Forms.ContextMenuStrip, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="notifyMain.Text" xml:space="preserve">
<value>v2rayN</value>
</data>
<data name="notifyMain.Visible" type="System.Boolean, mscorlib">
<value>True</value>
</data>
<data name="panel1.Dock" type="System.Windows.Forms.DockStyle, System.Windows.Forms"> <data name="panel1.Dock" type="System.Windows.Forms.DockStyle, System.Windows.Forms">
<value>Top</value> <value>Top</value>
</data> </data>
@@ -716,24 +716,6 @@
<data name="toolStripSeparator4.Size" type="System.Drawing.Size, System.Drawing"> <data name="toolStripSeparator4.Size" type="System.Drawing.Size, System.Drawing">
<value>6, 56</value> <value>6, 56</value>
</data> </data>
<data name="tsbSubSetting.Size" type="System.Drawing.Size, System.Drawing">
<value>277, 22</value>
</data>
<data name="tsbSubSetting.Text" xml:space="preserve">
<value>Settings</value>
</data>
<data name="tsbSubUpdate.Size" type="System.Drawing.Size, System.Drawing">
<value>277, 22</value>
</data>
<data name="tsbSubUpdate.Text" xml:space="preserve">
<value>Update subscription without proxy</value>
</data>
<data name="tsbSubUpdateViaProxy.Size" type="System.Drawing.Size, System.Drawing">
<value>277, 22</value>
</data>
<data name="tsbSubUpdateViaProxy.Text" xml:space="preserve">
<value>Update subscription with proxy</value>
</data>
<data name="tsbSub.ImageTransparentColor" type="System.Drawing.Color, System.Drawing"> <data name="tsbSub.ImageTransparentColor" type="System.Drawing.Color, System.Drawing">
<value>Magenta</value> <value>Magenta</value>
</data> </data>
@@ -797,6 +779,12 @@
<data name="tsbBackupGuiNConfig.Text" xml:space="preserve"> <data name="tsbBackupGuiNConfig.Text" xml:space="preserve">
<value>BackupGuiConfig</value> <value>BackupGuiConfig</value>
</data> </data>
<data name="tsbRestoreGuiNConfig.Size" type="System.Drawing.Size, System.Drawing">
<value>195, 22</value>
</data>
<data name="tsbRestoreGuiNConfig.Text" xml:space="preserve">
<value>RestoreGuiNConfig</value>
</data>
<data name="tsbSetting.ImageTransparentColor" type="System.Drawing.Color, System.Drawing"> <data name="tsbSetting.ImageTransparentColor" type="System.Drawing.Color, System.Drawing">
<value>Magenta</value> <value>Magenta</value>
</data> </data>
@@ -830,51 +818,6 @@
<data name="toolStripSeparator7.Size" type="System.Drawing.Size, System.Drawing"> <data name="toolStripSeparator7.Size" type="System.Drawing.Size, System.Drawing">
<value>6, 56</value> <value>6, 56</value>
</data> </data>
<data name="tsbCheckUpdateN.Size" type="System.Drawing.Size, System.Drawing">
<value>219, 22</value>
</data>
<data name="tsbCheckUpdateN.Text" xml:space="preserve">
<value>v2rayN (this software)</value>
</data>
<data name="tsbCheckUpdateCore.Size" type="System.Drawing.Size, System.Drawing">
<value>219, 22</value>
</data>
<data name="tsbCheckUpdateCore.Text" xml:space="preserve">
<value>Update v2fly Core</value>
</data>
<data name="tsbCheckUpdateSagerNetCore.Size" type="System.Drawing.Size, System.Drawing">
<value>219, 22</value>
</data>
<data name="tsbCheckUpdateXrayCore.Size" type="System.Drawing.Size, System.Drawing">
<value>219, 22</value>
</data>
<data name="tsbCheckUpdateXrayCore.Text" xml:space="preserve">
<value>Update Xray Core</value>
</data>
<data name="toolStripSeparator16.Size" type="System.Drawing.Size, System.Drawing">
<value>216, 6</value>
</data>
<data name="tsbCheckUpdateClashCore.Size" type="System.Drawing.Size, System.Drawing">
<value>219, 22</value>
</data>
<data name="tsbCheckUpdateClashCore.Text" xml:space="preserve">
<value>Update clash Core</value>
</data>
<data name="tsbCheckUpdateClashMetaCore.Size" type="System.Drawing.Size, System.Drawing">
<value>219, 22</value>
</data>
<data name="tsbCheckUpdateClashMetaCore.Text" xml:space="preserve">
<value>Update Clash.Meta Core</value>
</data>
<data name="toolStripSeparator15.Size" type="System.Drawing.Size, System.Drawing">
<value>216, 6</value>
</data>
<data name="tsbCheckUpdateGeo.Size" type="System.Drawing.Size, System.Drawing">
<value>219, 22</value>
</data>
<data name="tsbCheckUpdateGeo.Text" xml:space="preserve">
<value>Update Geo files</value>
</data>
<data name="tsbCheckUpdate.ImageTransparentColor" type="System.Drawing.Color, System.Drawing"> <data name="tsbCheckUpdate.ImageTransparentColor" type="System.Drawing.Color, System.Drawing">
<value>Magenta</value> <value>Magenta</value>
</data> </data>
@@ -890,33 +833,6 @@
<data name="toolStripSeparator10.Size" type="System.Drawing.Size, System.Drawing"> <data name="toolStripSeparator10.Size" type="System.Drawing.Size, System.Drawing">
<value>6, 56</value> <value>6, 56</value>
</data> </data>
<data name="tsbAbout.Size" type="System.Drawing.Size, System.Drawing">
<value>187, 22</value>
</data>
<data name="tsbAbout.Text" xml:space="preserve">
<value>v2rayN Project</value>
</data>
<data name="tsbV2rayWebsite.Size" type="System.Drawing.Size, System.Drawing">
<value>187, 22</value>
</data>
<data name="tsbV2rayWebsite.Text" xml:space="preserve">
<value>V2Ray Website</value>
</data>
<data name="toolStripSeparator12.Size" type="System.Drawing.Size, System.Drawing">
<value>184, 6</value>
</data>
<data name="tsbLanguageDef.Size" type="System.Drawing.Size, System.Drawing">
<value>187, 22</value>
</data>
<data name="tsbLanguageDef.Text" xml:space="preserve">
<value>Language-[English]</value>
</data>
<data name="tsbLanguageZhHans.Size" type="System.Drawing.Size, System.Drawing">
<value>187, 22</value>
</data>
<data name="tsbLanguageZhHans.Text" xml:space="preserve">
<value>语言-[中文简体]</value>
</data>
<data name="tsbHelp.ImageTransparentColor" type="System.Drawing.Color, System.Drawing"> <data name="tsbHelp.ImageTransparentColor" type="System.Drawing.Color, System.Drawing">
<value>Magenta</value> <value>Magenta</value>
</data> </data>
@@ -977,6 +893,111 @@
<data name="&gt;&gt;tsMain.ZOrder" xml:space="preserve"> <data name="&gt;&gt;tsMain.ZOrder" xml:space="preserve">
<value>4</value> <value>4</value>
</data> </data>
<data name="tsbSubSetting.Size" type="System.Drawing.Size, System.Drawing">
<value>317, 22</value>
</data>
<data name="tsbSubSetting.Text" xml:space="preserve">
<value>Settings</value>
</data>
<data name="tsbSubUpdate.Size" type="System.Drawing.Size, System.Drawing">
<value>317, 22</value>
</data>
<data name="tsbSubUpdate.Text" xml:space="preserve">
<value>Update subscription without proxy</value>
</data>
<data name="tsbSubUpdateViaProxy.Size" type="System.Drawing.Size, System.Drawing">
<value>317, 22</value>
</data>
<data name="tsbSubUpdateViaProxy.Text" xml:space="preserve">
<value>Update subscription with proxy</value>
</data>
<data name="tsbSubGroupUpdate.Size" type="System.Drawing.Size, System.Drawing">
<value>317, 22</value>
</data>
<data name="tsbSubGroupUpdate.Text" xml:space="preserve">
<value>Update group subscription without proxy</value>
</data>
<data name="tsbSubGroupUpdateViaProxy.Size" type="System.Drawing.Size, System.Drawing">
<value>317, 22</value>
</data>
<data name="tsbSubGroupUpdateViaProxy.Text" xml:space="preserve">
<value>Update group subscription with proxy</value>
</data>
<data name="tsbCheckUpdateN.Size" type="System.Drawing.Size, System.Drawing">
<value>219, 22</value>
</data>
<data name="tsbCheckUpdateN.Text" xml:space="preserve">
<value>v2rayN (this software)</value>
</data>
<data name="tsbCheckUpdateCore.Size" type="System.Drawing.Size, System.Drawing">
<value>219, 22</value>
</data>
<data name="tsbCheckUpdateCore.Text" xml:space="preserve">
<value>Update v2fly Core</value>
</data>
<data name="tsbCheckUpdateSagerNetCore.Size" type="System.Drawing.Size, System.Drawing">
<value>219, 22</value>
</data>
<data name="tsbCheckUpdateSagerNetCore.Text" xml:space="preserve">
<value>Update SagerNet Core</value>
</data>
<data name="tsbCheckUpdateXrayCore.Size" type="System.Drawing.Size, System.Drawing">
<value>219, 22</value>
</data>
<data name="tsbCheckUpdateXrayCore.Text" xml:space="preserve">
<value>Update Xray Core</value>
</data>
<data name="toolStripSeparator16.Size" type="System.Drawing.Size, System.Drawing">
<value>216, 6</value>
</data>
<data name="tsbCheckUpdateClashCore.Size" type="System.Drawing.Size, System.Drawing">
<value>219, 22</value>
</data>
<data name="tsbCheckUpdateClashCore.Text" xml:space="preserve">
<value>Update clash Core</value>
</data>
<data name="tsbCheckUpdateClashMetaCore.Size" type="System.Drawing.Size, System.Drawing">
<value>219, 22</value>
</data>
<data name="tsbCheckUpdateClashMetaCore.Text" xml:space="preserve">
<value>Update Clash.Meta Core</value>
</data>
<data name="toolStripSeparator15.Size" type="System.Drawing.Size, System.Drawing">
<value>216, 6</value>
</data>
<data name="tsbCheckUpdateGeo.Size" type="System.Drawing.Size, System.Drawing">
<value>219, 22</value>
</data>
<data name="tsbCheckUpdateGeo.Text" xml:space="preserve">
<value>Update Geo files</value>
</data>
<data name="tsbAbout.Size" type="System.Drawing.Size, System.Drawing">
<value>187, 22</value>
</data>
<data name="tsbAbout.Text" xml:space="preserve">
<value>v2rayN Project</value>
</data>
<data name="tsbV2rayWebsite.Size" type="System.Drawing.Size, System.Drawing">
<value>187, 22</value>
</data>
<data name="tsbV2rayWebsite.Text" xml:space="preserve">
<value>V2Ray Website</value>
</data>
<data name="toolStripSeparator12.Size" type="System.Drawing.Size, System.Drawing">
<value>184, 6</value>
</data>
<data name="tsbLanguageDef.Size" type="System.Drawing.Size, System.Drawing">
<value>187, 22</value>
</data>
<data name="tsbLanguageDef.Text" xml:space="preserve">
<value>Language-[English]</value>
</data>
<data name="tsbLanguageZhHans.Size" type="System.Drawing.Size, System.Drawing">
<value>187, 22</value>
</data>
<data name="tsbLanguageZhHans.Text" xml:space="preserve">
<value>语言-[中文简体]</value>
</data>
<metadata name="$this.Localizable" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"> <metadata name="$this.Localizable" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value> <value>True</value>
</metadata> </metadata>
@@ -1049,6 +1070,12 @@
<data name="&gt;&gt;toolStripSeparator1.Type" xml:space="preserve"> <data name="&gt;&gt;toolStripSeparator1.Type" xml:space="preserve">
<value>System.Windows.Forms.ToolStripSeparator, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> <value>System.Windows.Forms.ToolStripSeparator, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data> </data>
<data name="&gt;&gt;menuServerFilter.Name" xml:space="preserve">
<value>menuServerFilter</value>
</data>
<data name="&gt;&gt;menuServerFilter.Type" xml:space="preserve">
<value>System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;menuRemoveServer.Name" xml:space="preserve"> <data name="&gt;&gt;menuRemoveServer.Name" xml:space="preserve">
<value>menuRemoveServer</value> <value>menuRemoveServer</value>
</data> </data>
@@ -1073,12 +1100,6 @@
<data name="&gt;&gt;menuSetDefaultServer.Type" xml:space="preserve"> <data name="&gt;&gt;menuSetDefaultServer.Type" xml:space="preserve">
<value>System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> <value>System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data> </data>
<data name="&gt;&gt;menuServerFilter.Name" xml:space="preserve">
<value>menuServerFilter</value>
</data>
<data name="&gt;&gt;menuServerFilter.Type" xml:space="preserve">
<value>System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;toolStripSeparator3.Name" xml:space="preserve"> <data name="&gt;&gt;toolStripSeparator3.Name" xml:space="preserve">
<value>toolStripSeparator3</value> <value>toolStripSeparator3</value>
</data> </data>
@@ -1325,6 +1346,18 @@
<data name="&gt;&gt;tsbSubUpdateViaProxy.Type" xml:space="preserve"> <data name="&gt;&gt;tsbSubUpdateViaProxy.Type" xml:space="preserve">
<value>System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> <value>System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data> </data>
<data name="&gt;&gt;tsbSubGroupUpdate.Name" xml:space="preserve">
<value>tsbSubGroupUpdate</value>
</data>
<data name="&gt;&gt;tsbSubGroupUpdate.Type" xml:space="preserve">
<value>System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;tsbSubGroupUpdateViaProxy.Name" xml:space="preserve">
<value>tsbSubGroupUpdateViaProxy</value>
</data>
<data name="&gt;&gt;tsbSubGroupUpdateViaProxy.Type" xml:space="preserve">
<value>System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;tsbQRCodeSwitch.Name" xml:space="preserve"> <data name="&gt;&gt;tsbQRCodeSwitch.Name" xml:space="preserve">
<value>tsbQRCodeSwitch</value> <value>tsbQRCodeSwitch</value>
</data> </data>
@@ -1517,13 +1550,16 @@
<data name="&gt;&gt;tsbClose.Type" xml:space="preserve"> <data name="&gt;&gt;tsbClose.Type" xml:space="preserve">
<value>System.Windows.Forms.ToolStripButton, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> <value>System.Windows.Forms.ToolStripButton, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data> </data>
<data name="&gt;&gt;tsbRestoreGuiNConfig.Name" xml:space="preserve">
<value>tsbRestoreGuiNConfig</value>
</data>
<data name="&gt;&gt;tsbRestoreGuiNConfig.Type" xml:space="preserve">
<value>System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;$this.Name" xml:space="preserve"> <data name="&gt;&gt;$this.Name" xml:space="preserve">
<value>MainForm</value> <value>MainForm</value>
</data> </data>
<data name="&gt;&gt;$this.Type" xml:space="preserve"> <data name="&gt;&gt;$this.Type" xml:space="preserve">
<value>v2rayN.Forms.BaseForm, v2rayN, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null</value> <value>v2rayN.Forms.BaseForm, v2rayN, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null</value>
</data> </data>
<data name="tsbCheckUpdateSagerNetCore.Text" xml:space="preserve">
<value>Update SagerNet Core</value>
</data>
</root> </root>

View File

@@ -573,4 +573,13 @@
<data name="tsbCheckUpdateSagerNetCore.Text" xml:space="preserve"> <data name="tsbCheckUpdateSagerNetCore.Text" xml:space="preserve">
<value>SagerNet-Core</value> <value>SagerNet-Core</value>
</data> </data>
<data name="tsbSubGroupUpdate.Text" xml:space="preserve">
<value>更新当前分组订阅(不通过代理)</value>
</data>
<data name="tsbSubGroupUpdateViaProxy.Text" xml:space="preserve">
<value>更新当前分组订阅(通过代理)</value>
</data>
<data name="tsbRestoreGuiNConfig.Text" xml:space="preserve">
<value>恢复v2rayN配置文件</value>
</data>
</root> </root>

View File

@@ -26,7 +26,11 @@ namespace v2rayN.Forms
private void MainMsgControl_Load(object sender, EventArgs e) private void MainMsgControl_Load(object sender, EventArgs e)
{ {
_msgFilter = Utils.RegReadValue(Global.MyRegPath, Utils.MainMsgFilterKey, "");
if (!Utils.IsNullOrEmpty(_msgFilter))
{
gbMsgTitle.Text = string.Format(ResUI.MsgInformationTitle, _msgFilter);
}
} }
#region #region
@@ -188,6 +192,7 @@ namespace v2rayN.Forms
{ {
_msgFilter = fm.MsgFilter; _msgFilter = fm.MsgFilter;
gbMsgTitle.Text = string.Format(ResUI.MsgInformationTitle, _msgFilter); gbMsgTitle.Text = string.Format(ResUI.MsgInformationTitle, _msgFilter);
Utils.RegWriteValue(Global.MyRegPath, Utils.MainMsgFilterKey, _msgFilter);
} }
} }

View File

@@ -108,6 +108,7 @@
this.panel2 = new System.Windows.Forms.Panel(); this.panel2 = new System.Windows.Forms.Panel();
this.btnOK = new System.Windows.Forms.Button(); this.btnOK = new System.Windows.Forms.Button();
this.panel1 = new System.Windows.Forms.Panel(); this.panel1 = new System.Windows.Forms.Panel();
this.chkEnableCheckPreReleaseUpdate = new System.Windows.Forms.CheckBox();
this.tabControl1.SuspendLayout(); this.tabControl1.SuspendLayout();
this.tabPage1.SuspendLayout(); this.tabPage1.SuspendLayout();
this.groupBox1.SuspendLayout(); this.groupBox1.SuspendLayout();
@@ -123,34 +124,33 @@
// //
// btnClose // btnClose
// //
resources.ApplyResources(this.btnClose, "btnClose");
this.btnClose.DialogResult = System.Windows.Forms.DialogResult.Cancel; this.btnClose.DialogResult = System.Windows.Forms.DialogResult.Cancel;
resources.ApplyResources(this.btnClose, "btnClose");
this.btnClose.Name = "btnClose"; this.btnClose.Name = "btnClose";
this.btnClose.UseVisualStyleBackColor = true; this.btnClose.UseVisualStyleBackColor = true;
this.btnClose.Click += new System.EventHandler(this.btnClose_Click); this.btnClose.Click += new System.EventHandler(this.btnClose_Click);
// //
// tabControl1 // tabControl1
// //
resources.ApplyResources(this.tabControl1, "tabControl1");
this.tabControl1.Controls.Add(this.tabPage1); this.tabControl1.Controls.Add(this.tabPage1);
this.tabControl1.Controls.Add(this.tabPage2); this.tabControl1.Controls.Add(this.tabPage2);
this.tabControl1.Controls.Add(this.tabPage6); this.tabControl1.Controls.Add(this.tabPage6);
this.tabControl1.Controls.Add(this.tabPage7); this.tabControl1.Controls.Add(this.tabPage7);
this.tabControl1.Controls.Add(this.tabPageCoreType); this.tabControl1.Controls.Add(this.tabPageCoreType);
this.tabControl1.Controls.Add(this.tabPage3); this.tabControl1.Controls.Add(this.tabPage3);
resources.ApplyResources(this.tabControl1, "tabControl1");
this.tabControl1.Name = "tabControl1"; this.tabControl1.Name = "tabControl1";
this.tabControl1.SelectedIndex = 0; this.tabControl1.SelectedIndex = 0;
// //
// tabPage1 // tabPage1
// //
resources.ApplyResources(this.tabPage1, "tabPage1");
this.tabPage1.Controls.Add(this.groupBox1); this.tabPage1.Controls.Add(this.groupBox1);
resources.ApplyResources(this.tabPage1, "tabPage1");
this.tabPage1.Name = "tabPage1"; this.tabPage1.Name = "tabPage1";
this.tabPage1.UseVisualStyleBackColor = true; this.tabPage1.UseVisualStyleBackColor = true;
// //
// groupBox1 // groupBox1
// //
resources.ApplyResources(this.groupBox1, "groupBox1");
this.groupBox1.Controls.Add(this.label16); this.groupBox1.Controls.Add(this.label16);
this.groupBox1.Controls.Add(this.label4); this.groupBox1.Controls.Add(this.label4);
this.groupBox1.Controls.Add(this.txtpass); this.groupBox1.Controls.Add(this.txtpass);
@@ -167,6 +167,7 @@
this.groupBox1.Controls.Add(this.label5); this.groupBox1.Controls.Add(this.label5);
this.groupBox1.Controls.Add(this.txtlocalPort); this.groupBox1.Controls.Add(this.txtlocalPort);
this.groupBox1.Controls.Add(this.label2); this.groupBox1.Controls.Add(this.label2);
resources.ApplyResources(this.groupBox1, "groupBox1");
this.groupBox1.Name = "groupBox1"; this.groupBox1.Name = "groupBox1";
this.groupBox1.TabStop = false; this.groupBox1.TabStop = false;
// //
@@ -216,8 +217,8 @@
// //
// cmbprotocol // cmbprotocol
// //
resources.ApplyResources(this.cmbprotocol, "cmbprotocol");
this.cmbprotocol.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList; this.cmbprotocol.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList;
resources.ApplyResources(this.cmbprotocol, "cmbprotocol");
this.cmbprotocol.FormattingEnabled = true; this.cmbprotocol.FormattingEnabled = true;
this.cmbprotocol.Items.AddRange(new object[] { this.cmbprotocol.Items.AddRange(new object[] {
resources.GetString("cmbprotocol.Items"), resources.GetString("cmbprotocol.Items"),
@@ -243,7 +244,6 @@
// //
// cmbloglevel // cmbloglevel
// //
resources.ApplyResources(this.cmbloglevel, "cmbloglevel");
this.cmbloglevel.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList; this.cmbloglevel.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList;
this.cmbloglevel.FormattingEnabled = true; this.cmbloglevel.FormattingEnabled = true;
this.cmbloglevel.Items.AddRange(new object[] { this.cmbloglevel.Items.AddRange(new object[] {
@@ -252,6 +252,7 @@
resources.GetString("cmbloglevel.Items2"), resources.GetString("cmbloglevel.Items2"),
resources.GetString("cmbloglevel.Items3"), resources.GetString("cmbloglevel.Items3"),
resources.GetString("cmbloglevel.Items4")}); resources.GetString("cmbloglevel.Items4")});
resources.ApplyResources(this.cmbloglevel, "cmbloglevel");
this.cmbloglevel.Name = "cmbloglevel"; this.cmbloglevel.Name = "cmbloglevel";
// //
// label5 // label5
@@ -271,18 +272,17 @@
// //
// tabPage2 // tabPage2
// //
resources.ApplyResources(this.tabPage2, "tabPage2");
this.tabPage2.Controls.Add(this.cmbdomainStrategy4Freedom); this.tabPage2.Controls.Add(this.cmbdomainStrategy4Freedom);
this.tabPage2.Controls.Add(this.label19); this.tabPage2.Controls.Add(this.label19);
this.tabPage2.Controls.Add(this.linkDnsObjectDoc); this.tabPage2.Controls.Add(this.linkDnsObjectDoc);
this.tabPage2.Controls.Add(this.txtremoteDNS); this.tabPage2.Controls.Add(this.txtremoteDNS);
this.tabPage2.Controls.Add(this.label14); this.tabPage2.Controls.Add(this.label14);
resources.ApplyResources(this.tabPage2, "tabPage2");
this.tabPage2.Name = "tabPage2"; this.tabPage2.Name = "tabPage2";
this.tabPage2.UseVisualStyleBackColor = true; this.tabPage2.UseVisualStyleBackColor = true;
// //
// cmbdomainStrategy4Freedom // cmbdomainStrategy4Freedom
// //
resources.ApplyResources(this.cmbdomainStrategy4Freedom, "cmbdomainStrategy4Freedom");
this.cmbdomainStrategy4Freedom.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList; this.cmbdomainStrategy4Freedom.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList;
this.cmbdomainStrategy4Freedom.FormattingEnabled = true; this.cmbdomainStrategy4Freedom.FormattingEnabled = true;
this.cmbdomainStrategy4Freedom.Items.AddRange(new object[] { this.cmbdomainStrategy4Freedom.Items.AddRange(new object[] {
@@ -290,6 +290,7 @@
resources.GetString("cmbdomainStrategy4Freedom.Items1"), resources.GetString("cmbdomainStrategy4Freedom.Items1"),
resources.GetString("cmbdomainStrategy4Freedom.Items2"), resources.GetString("cmbdomainStrategy4Freedom.Items2"),
resources.GetString("cmbdomainStrategy4Freedom.Items3")}); resources.GetString("cmbdomainStrategy4Freedom.Items3")});
resources.ApplyResources(this.cmbdomainStrategy4Freedom, "cmbdomainStrategy4Freedom");
this.cmbdomainStrategy4Freedom.Name = "cmbdomainStrategy4Freedom"; this.cmbdomainStrategy4Freedom.Name = "cmbdomainStrategy4Freedom";
// //
// label19 // label19
@@ -316,7 +317,6 @@
// //
// tabPage6 // tabPage6
// //
resources.ApplyResources(this.tabPage6, "tabPage6");
this.tabPage6.Controls.Add(this.chkKcpcongestion); this.tabPage6.Controls.Add(this.chkKcpcongestion);
this.tabPage6.Controls.Add(this.txtKcpwriteBufferSize); this.tabPage6.Controls.Add(this.txtKcpwriteBufferSize);
this.tabPage6.Controls.Add(this.label10); this.tabPage6.Controls.Add(this.label10);
@@ -330,6 +330,7 @@
this.tabPage6.Controls.Add(this.label7); this.tabPage6.Controls.Add(this.label7);
this.tabPage6.Controls.Add(this.txtKcpmtu); this.tabPage6.Controls.Add(this.txtKcpmtu);
this.tabPage6.Controls.Add(this.label6); this.tabPage6.Controls.Add(this.label6);
resources.ApplyResources(this.tabPage6, "tabPage6");
this.tabPage6.Name = "tabPage6"; this.tabPage6.Name = "tabPage6";
this.tabPage6.UseVisualStyleBackColor = true; this.tabPage6.UseVisualStyleBackColor = true;
// //
@@ -401,7 +402,7 @@
// //
// tabPage7 // tabPage7
// //
resources.ApplyResources(this.tabPage7, "tabPage7"); this.tabPage7.Controls.Add(this.chkEnableCheckPreReleaseUpdate);
this.tabPage7.Controls.Add(this.numStatisticsFreshRate); this.tabPage7.Controls.Add(this.numStatisticsFreshRate);
this.tabPage7.Controls.Add(this.txttrayMenuServersLimit); this.tabPage7.Controls.Add(this.txttrayMenuServersLimit);
this.tabPage7.Controls.Add(this.label17); this.tabPage7.Controls.Add(this.label17);
@@ -417,6 +418,7 @@
this.tabPage7.Controls.Add(this.lbFreshrate); this.tabPage7.Controls.Add(this.lbFreshrate);
this.tabPage7.Controls.Add(this.chkEnableStatistics); this.tabPage7.Controls.Add(this.chkEnableStatistics);
this.tabPage7.Controls.Add(this.chkAutoRun); this.tabPage7.Controls.Add(this.chkAutoRun);
resources.ApplyResources(this.tabPage7, "tabPage7");
this.tabPage7.Name = "tabPage7"; this.tabPage7.Name = "tabPage7";
this.tabPage7.UseVisualStyleBackColor = true; this.tabPage7.UseVisualStyleBackColor = true;
// //
@@ -505,7 +507,6 @@
// //
// tabPageCoreType // tabPageCoreType
// //
resources.ApplyResources(this.tabPageCoreType, "tabPageCoreType");
this.tabPageCoreType.Controls.Add(this.cmbCoreType6); this.tabPageCoreType.Controls.Add(this.cmbCoreType6);
this.tabPageCoreType.Controls.Add(this.labCoreType6); this.tabPageCoreType.Controls.Add(this.labCoreType6);
this.tabPageCoreType.Controls.Add(this.cmbCoreType5); this.tabPageCoreType.Controls.Add(this.cmbCoreType5);
@@ -518,14 +519,15 @@
this.tabPageCoreType.Controls.Add(this.labCoreType2); this.tabPageCoreType.Controls.Add(this.labCoreType2);
this.tabPageCoreType.Controls.Add(this.cmbCoreType1); this.tabPageCoreType.Controls.Add(this.cmbCoreType1);
this.tabPageCoreType.Controls.Add(this.labCoreType1); this.tabPageCoreType.Controls.Add(this.labCoreType1);
resources.ApplyResources(this.tabPageCoreType, "tabPageCoreType");
this.tabPageCoreType.Name = "tabPageCoreType"; this.tabPageCoreType.Name = "tabPageCoreType";
this.tabPageCoreType.UseVisualStyleBackColor = true; this.tabPageCoreType.UseVisualStyleBackColor = true;
// //
// cmbCoreType6 // cmbCoreType6
// //
resources.ApplyResources(this.cmbCoreType6, "cmbCoreType6");
this.cmbCoreType6.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList; this.cmbCoreType6.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList;
this.cmbCoreType6.FormattingEnabled = true; this.cmbCoreType6.FormattingEnabled = true;
resources.ApplyResources(this.cmbCoreType6, "cmbCoreType6");
this.cmbCoreType6.Name = "cmbCoreType6"; this.cmbCoreType6.Name = "cmbCoreType6";
// //
// labCoreType6 // labCoreType6
@@ -535,9 +537,9 @@
// //
// cmbCoreType5 // cmbCoreType5
// //
resources.ApplyResources(this.cmbCoreType5, "cmbCoreType5");
this.cmbCoreType5.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList; this.cmbCoreType5.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList;
this.cmbCoreType5.FormattingEnabled = true; this.cmbCoreType5.FormattingEnabled = true;
resources.ApplyResources(this.cmbCoreType5, "cmbCoreType5");
this.cmbCoreType5.Name = "cmbCoreType5"; this.cmbCoreType5.Name = "cmbCoreType5";
// //
// labCoreType5 // labCoreType5
@@ -547,9 +549,9 @@
// //
// cmbCoreType4 // cmbCoreType4
// //
resources.ApplyResources(this.cmbCoreType4, "cmbCoreType4");
this.cmbCoreType4.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList; this.cmbCoreType4.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList;
this.cmbCoreType4.FormattingEnabled = true; this.cmbCoreType4.FormattingEnabled = true;
resources.ApplyResources(this.cmbCoreType4, "cmbCoreType4");
this.cmbCoreType4.Name = "cmbCoreType4"; this.cmbCoreType4.Name = "cmbCoreType4";
// //
// labCoreType4 // labCoreType4
@@ -559,9 +561,9 @@
// //
// cmbCoreType3 // cmbCoreType3
// //
resources.ApplyResources(this.cmbCoreType3, "cmbCoreType3");
this.cmbCoreType3.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList; this.cmbCoreType3.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList;
this.cmbCoreType3.FormattingEnabled = true; this.cmbCoreType3.FormattingEnabled = true;
resources.ApplyResources(this.cmbCoreType3, "cmbCoreType3");
this.cmbCoreType3.Name = "cmbCoreType3"; this.cmbCoreType3.Name = "cmbCoreType3";
// //
// labCoreType3 // labCoreType3
@@ -571,9 +573,9 @@
// //
// cmbCoreType2 // cmbCoreType2
// //
resources.ApplyResources(this.cmbCoreType2, "cmbCoreType2");
this.cmbCoreType2.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList; this.cmbCoreType2.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList;
this.cmbCoreType2.FormattingEnabled = true; this.cmbCoreType2.FormattingEnabled = true;
resources.ApplyResources(this.cmbCoreType2, "cmbCoreType2");
this.cmbCoreType2.Name = "cmbCoreType2"; this.cmbCoreType2.Name = "cmbCoreType2";
// //
// labCoreType2 // labCoreType2
@@ -583,9 +585,9 @@
// //
// cmbCoreType1 // cmbCoreType1
// //
resources.ApplyResources(this.cmbCoreType1, "cmbCoreType1");
this.cmbCoreType1.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList; this.cmbCoreType1.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList;
this.cmbCoreType1.FormattingEnabled = true; this.cmbCoreType1.FormattingEnabled = true;
resources.ApplyResources(this.cmbCoreType1, "cmbCoreType1");
this.cmbCoreType1.Name = "cmbCoreType1"; this.cmbCoreType1.Name = "cmbCoreType1";
// //
// labCoreType1 // labCoreType1
@@ -595,19 +597,19 @@
// //
// tabPage3 // tabPage3
// //
resources.ApplyResources(this.tabPage3, "tabPage3");
this.tabPage3.Controls.Add(this.groupBox2); this.tabPage3.Controls.Add(this.groupBox2);
resources.ApplyResources(this.tabPage3, "tabPage3");
this.tabPage3.Name = "tabPage3"; this.tabPage3.Name = "tabPage3";
this.tabPage3.UseVisualStyleBackColor = true; this.tabPage3.UseVisualStyleBackColor = true;
// //
// groupBox2 // groupBox2
// //
resources.ApplyResources(this.groupBox2, "groupBox2");
this.groupBox2.Controls.Add(this.label18); this.groupBox2.Controls.Add(this.label18);
this.groupBox2.Controls.Add(this.cmbSystemProxyAdvancedProtocol); this.groupBox2.Controls.Add(this.cmbSystemProxyAdvancedProtocol);
this.groupBox2.Controls.Add(this.label13); this.groupBox2.Controls.Add(this.label13);
this.groupBox2.Controls.Add(this.label12); this.groupBox2.Controls.Add(this.label12);
this.groupBox2.Controls.Add(this.txtsystemProxyExceptions); this.groupBox2.Controls.Add(this.txtsystemProxyExceptions);
resources.ApplyResources(this.groupBox2, "groupBox2");
this.groupBox2.Name = "groupBox2"; this.groupBox2.Name = "groupBox2";
this.groupBox2.TabStop = false; this.groupBox2.TabStop = false;
// //
@@ -618,8 +620,8 @@
// //
// cmbSystemProxyAdvancedProtocol // cmbSystemProxyAdvancedProtocol
// //
resources.ApplyResources(this.cmbSystemProxyAdvancedProtocol, "cmbSystemProxyAdvancedProtocol");
this.cmbSystemProxyAdvancedProtocol.FormattingEnabled = true; this.cmbSystemProxyAdvancedProtocol.FormattingEnabled = true;
resources.ApplyResources(this.cmbSystemProxyAdvancedProtocol, "cmbSystemProxyAdvancedProtocol");
this.cmbSystemProxyAdvancedProtocol.Name = "cmbSystemProxyAdvancedProtocol"; this.cmbSystemProxyAdvancedProtocol.Name = "cmbSystemProxyAdvancedProtocol";
// //
// label13 // label13
@@ -639,9 +641,9 @@
// //
// panel2 // panel2
// //
resources.ApplyResources(this.panel2, "panel2");
this.panel2.Controls.Add(this.btnClose); this.panel2.Controls.Add(this.btnClose);
this.panel2.Controls.Add(this.btnOK); this.panel2.Controls.Add(this.btnOK);
resources.ApplyResources(this.panel2, "panel2");
this.panel2.Name = "panel2"; this.panel2.Name = "panel2";
// //
// btnOK // btnOK
@@ -656,6 +658,12 @@
resources.ApplyResources(this.panel1, "panel1"); resources.ApplyResources(this.panel1, "panel1");
this.panel1.Name = "panel1"; this.panel1.Name = "panel1";
// //
// chkEnableCheckPreReleaseUpdate
//
resources.ApplyResources(this.chkEnableCheckPreReleaseUpdate, "chkEnableCheckPreReleaseUpdate");
this.chkEnableCheckPreReleaseUpdate.Name = "chkEnableCheckPreReleaseUpdate";
this.chkEnableCheckPreReleaseUpdate.UseVisualStyleBackColor = true;
//
// OptionSettingForm // OptionSettingForm
// //
resources.ApplyResources(this, "$this"); resources.ApplyResources(this, "$this");
@@ -769,5 +777,6 @@
private System.Windows.Forms.NumericUpDown numStatisticsFreshRate; private System.Windows.Forms.NumericUpDown numStatisticsFreshRate;
private System.Windows.Forms.ComboBox cmbdomainStrategy4Freedom; private System.Windows.Forms.ComboBox cmbdomainStrategy4Freedom;
private System.Windows.Forms.Label label19; private System.Windows.Forms.Label label19;
private System.Windows.Forms.CheckBox chkEnableCheckPreReleaseUpdate;
} }
} }

View File

@@ -98,6 +98,7 @@ namespace v2rayN.Forms
txtautoUpdateInterval.Text = config.autoUpdateInterval.ToString(); txtautoUpdateInterval.Text = config.autoUpdateInterval.ToString();
txtautoUpdateSubInterval.Text = config.autoUpdateSubInterval.ToString(); txtautoUpdateSubInterval.Text = config.autoUpdateSubInterval.ToString();
chkEnableCheckPreReleaseUpdate.Checked = config.checkPreReleaseUpdate;
txttrayMenuServersLimit.Text = config.trayMenuServersLimit.ToString(); txttrayMenuServersLimit.Text = config.trayMenuServersLimit.ToString();
} }
@@ -298,6 +299,7 @@ namespace v2rayN.Forms
config.autoUpdateInterval = Utils.ToInt(txtautoUpdateInterval.Text); config.autoUpdateInterval = Utils.ToInt(txtautoUpdateInterval.Text);
config.autoUpdateSubInterval = Utils.ToInt(txtautoUpdateSubInterval.Text); config.autoUpdateSubInterval = Utils.ToInt(txtautoUpdateSubInterval.Text);
config.checkPreReleaseUpdate = chkEnableCheckPreReleaseUpdate.Checked;
config.trayMenuServersLimit = Utils.ToInt(txttrayMenuServersLimit.Text); config.trayMenuServersLimit = Utils.ToInt(txttrayMenuServersLimit.Text);
return 0; return 0;
} }

File diff suppressed because it is too large Load Diff

View File

@@ -388,4 +388,7 @@
<data name="$this.Text" xml:space="preserve"> <data name="$this.Text" xml:space="preserve">
<value>参数设置</value> <value>参数设置</value>
</data> </data>
<data name="chkEnableCheckPreReleaseUpdate.Text" xml:space="preserve">
<value>检查Pre-Release更新(请谨慎启用)</value>
</data>
</root> </root>

View File

@@ -170,7 +170,7 @@ namespace v2rayN.Forms
string def = string.Empty; string def = string.Empty;
if (config.routingIndex.Equals(k)) if (config.routingIndex.Equals(k))
{ {
def = "√"; def = Global.CheckMark;
} }
ListViewItem lvItem = new ListViewItem(def); ListViewItem lvItem = new ListViewItem(def);

View File

@@ -217,6 +217,7 @@ namespace v2rayN
public static readonly List<string> domainMatchers = new List<string> { "linear", "mph", "" }; public static readonly List<string> domainMatchers = new List<string> { "linear", "mph", "" };
public const string GrpcgunMode = "gun"; public const string GrpcgunMode = "gun";
public const string GrpcmultiMode = "multi"; public const string GrpcmultiMode = "multi";
public const string CheckMark = "√";
#endregion #endregion

View File

@@ -72,7 +72,7 @@ namespace v2rayN.Handler
{ {
coreType = ECoreType.v2rayN, coreType = ECoreType.v2rayN,
coreUrl = Global.NUrl, 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", coreDownloadUrl32 = Global.NUrl + "/download/{0}/v2rayN.zip",
coreDownloadUrl64 = Global.NUrl + "/download/{0}/v2rayN.zip", coreDownloadUrl64 = Global.NUrl + "/download/{0}/v2rayN.zip",
}); });
@@ -83,7 +83,7 @@ namespace v2rayN.Handler
coreExes = new List<string> { "wv2ray", "v2ray" }, coreExes = new List<string> { "wv2ray", "v2ray" },
arguments = "", arguments = "",
coreUrl = Global.v2flyCoreUrl, 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", coreDownloadUrl32 = Global.v2flyCoreUrl + "/download/{0}/v2ray-windows-{1}.zip",
coreDownloadUrl64 = Global.v2flyCoreUrl + "/download/{0}/v2ray-windows-{1}.zip", coreDownloadUrl64 = Global.v2flyCoreUrl + "/download/{0}/v2ray-windows-{1}.zip",
match = "V2Ray", match = "V2Ray",
@@ -96,7 +96,7 @@ namespace v2rayN.Handler
coreExes = new List<string> { "v2ray" }, coreExes = new List<string> { "v2ray" },
arguments = "run", arguments = "run",
coreUrl = Global.SagerNetCoreUrl, 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", coreDownloadUrl32 = Global.SagerNetCoreUrl + "/download/{0}/v2ray-windows-{1}.zip",
coreDownloadUrl64 = Global.SagerNetCoreUrl + "/download/{0}/v2ray-windows-{1}.zip", coreDownloadUrl64 = Global.SagerNetCoreUrl + "/download/{0}/v2ray-windows-{1}.zip",
match = "V2Ray", match = "V2Ray",
@@ -109,7 +109,7 @@ namespace v2rayN.Handler
coreExes = new List<string> { "xray" }, coreExes = new List<string> { "xray" },
arguments = "", arguments = "",
coreUrl = Global.xrayCoreUrl, 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", coreDownloadUrl32 = Global.xrayCoreUrl + "/download/{0}/Xray-windows-{1}.zip",
coreDownloadUrl64 = Global.xrayCoreUrl + "/download/{0}/Xray-windows-{1}.zip", coreDownloadUrl64 = Global.xrayCoreUrl + "/download/{0}/Xray-windows-{1}.zip",
match = "Xray", match = "Xray",
@@ -122,7 +122,7 @@ namespace v2rayN.Handler
coreExes = new List<string> { "clash-windows-amd64-v3", "clash-windows-amd64", "clash-windows-386", "clash" }, coreExes = new List<string> { "clash-windows-amd64-v3", "clash-windows-amd64", "clash-windows-386", "clash" },
arguments = "-f config.json", arguments = "-f config.json",
coreUrl = Global.clashCoreUrl, 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", coreDownloadUrl32 = Global.clashCoreUrl + "/download/{0}/clash-windows-386-{0}.zip",
coreDownloadUrl64 = Global.clashCoreUrl + "/download/{0}/clash-windows-amd64-{0}.zip", coreDownloadUrl64 = Global.clashCoreUrl + "/download/{0}/clash-windows-amd64-{0}.zip",
match = "v", match = "v",
@@ -135,7 +135,7 @@ namespace v2rayN.Handler
coreExes = new List<string> { "Clash.Meta-windows-amd64-compatible", "Clash.Meta-windows-amd64", "Clash.Meta-windows-386", "Clash.Meta", "clash" }, coreExes = new List<string> { "Clash.Meta-windows-amd64-compatible", "Clash.Meta-windows-amd64", "Clash.Meta-windows-386", "Clash.Meta", "clash" },
arguments = "-f config.json", arguments = "-f config.json",
coreUrl = Global.clashMetaCoreUrl, 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", coreDownloadUrl32 = Global.clashMetaCoreUrl + "/download/{0}/Clash.Meta-windows-386-{0}.zip",
coreDownloadUrl64 = Global.clashMetaCoreUrl + "/download/{0}/Clash.Meta-windows-amd64-compatible-{0}.zip", coreDownloadUrl64 = Global.clashMetaCoreUrl + "/download/{0}/Clash.Meta-windows-amd64-compatible-{0}.zip",
match = "v", match = "v",
@@ -145,12 +145,12 @@ namespace v2rayN.Handler
coreInfos.Add(new CoreInfo coreInfos.Add(new CoreInfo
{ {
coreType = ECoreType.hysteria, coreType = ECoreType.hysteria,
coreExes = new List<string> { "hysteria-tun-windows-6.0-amd64", "hysteria-tun-windows-6.0-386", "hysteria" }, coreExes = new List<string> { "hysteria-windows-amd64", "hysteria-windows-386", "hysteria" },
arguments = "", arguments = "",
coreUrl = Global.hysteriaCoreUrl, 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", coreDownloadUrl32 = Global.hysteriaCoreUrl + "/download/{0}/hysteria-windows-386.exe",
coreDownloadUrl64 = Global.hysteriaCoreUrl + "/download/{0}/hysteria-tun-windows-6.0-amd64.exe", coreDownloadUrl64 = Global.hysteriaCoreUrl + "/download/{0}/hysteria-windows-amd64.exe",
}); });
coreInfos.Add(new CoreInfo coreInfos.Add(new CoreInfo

View File

@@ -232,6 +232,46 @@ namespace v2rayN.Handler
} }
} }
public bool RestoreGuiNConfig(ref Config config)
{
var fileContent = string.Empty;
using (OpenFileDialog fileDialog = new OpenFileDialog())
{
fileDialog.InitialDirectory = Utils.GetBackupPath("");
fileDialog.Filter = "guiNConfig|*.json|All|*.*";
fileDialog.FilterIndex = 2;
fileDialog.RestoreDirectory = true;
if (fileDialog.ShowDialog() == DialogResult.OK)
{
fileContent = Utils.LoadResource(fileDialog.FileName);
}
else
{
return false;
}
}
if (Utils.IsNullOrEmpty(fileContent))
{
UI.ShowWarning(ResUI.OperationFailed);
return false;
}
var resConfig = Utils.FromJson<Config>(fileContent);
if (resConfig == null)
{
UI.ShowWarning(ResUI.OperationFailed);
return false;
}
//backup first
BackupGuiNConfig(config, true);
config = resConfig;
LazyConfig.Instance.SetConfig(ref config);
return true;
}
public void UpdateTask(Config config, Action<bool, string> update) public void UpdateTask(Config config, Action<bool, string> update)
{ {
Task.Run(() => UpdateTaskRun(config, update)); Task.Run(() => UpdateTaskRun(config, update));
@@ -254,7 +294,7 @@ namespace v2rayN.Handler
{ {
if ((dtNow - autoUpdateSubTime).Hours % config.autoUpdateSubInterval == 0) if ((dtNow - autoUpdateSubTime).Hours % config.autoUpdateSubInterval == 0)
{ {
updateHandle.UpdateSubscriptionProcess(config, true, (bool success, string msg) => updateHandle.UpdateSubscriptionProcess(config, "", true, (bool success, string msg) =>
{ {
update(success, msg); update(success, msg);
if (success) if (success)

View File

@@ -190,15 +190,16 @@ namespace v2rayN.Handler
{ {
if (serverStatistics_ != null) if (serverStatistics_ != null)
{ {
foreach (var item in serverStatistics_.server) //foreach (var item in serverStatistics_.server)
{ //{
item.todayUp = 0; // item.todayUp = 0;
item.todayDown = 0; // item.todayDown = 0;
item.totalUp = 0; // item.totalUp = 0;
item.totalDown = 0; // item.totalDown = 0;
// update ui display to zero // // update ui display to zero
updateFunc_(0, 0, new List<ServerStatItem> { item }); // updateFunc_(0, 0, new List<ServerStatItem> { item });
} //}
serverStatistics_.server = new List<ServerStatItem>();
// update statistic json file // update statistic json file
SaveToFile(); SaveToFile();

View File

@@ -1,11 +1,14 @@
using System; using System;
using System.Collections.Generic;
using System.Diagnostics; using System.Diagnostics;
using System.IO; using System.IO;
using System.Linq;
using System.Text; using System.Text;
using System.Text.RegularExpressions; using System.Text.RegularExpressions;
using System.Threading; using System.Threading;
using System.Threading.Tasks; using System.Threading.Tasks;
using System.Windows.Forms; using System.Windows.Forms;
using Newtonsoft.Json;
using v2rayN.Base; using v2rayN.Base;
using v2rayN.Mode; using v2rayN.Mode;
using v2rayN.Resx; using v2rayN.Resx;
@@ -31,7 +34,7 @@ namespace v2rayN.Handler
} }
} }
public void CheckUpdateGuiN(Config config, Action<bool, string> update) public void CheckUpdateGuiN(Config config, Action<bool, string> update, bool preRelease)
{ {
_config = config; _config = config;
_updateFunc = update; _updateFunc = update;
@@ -97,11 +100,11 @@ namespace v2rayN.Handler
} }
}; };
_updateFunc(false, string.Format(ResUI.MsgStartUpdating, "v2rayN")); _updateFunc(false, string.Format(ResUI.MsgStartUpdating, "v2rayN"));
CheckUpdateAsync(ECoreType.v2rayN); CheckUpdateAsync(ECoreType.v2rayN, preRelease);
} }
public void CheckUpdateCore(ECoreType type, Config config, Action<bool, string> update) public void CheckUpdateCore(ECoreType type, Config config, Action<bool, string> update, bool preRelease)
{ {
_config = config; _config = config;
_updateFunc = update; _updateFunc = update;
@@ -152,11 +155,11 @@ namespace v2rayN.Handler
} }
}; };
_updateFunc(false, string.Format(ResUI.MsgStartUpdating, "Core")); _updateFunc(false, string.Format(ResUI.MsgStartUpdating, "Core"));
CheckUpdateAsync(type); CheckUpdateAsync(type, preRelease);
} }
public void UpdateSubscriptionProcess(Config config, bool blProxy, Action<bool, string> update) public void UpdateSubscriptionProcess(Config config, string groupId, bool blProxy, Action<bool, string> update)
{ {
_config = config; _config = config;
_updateFunc = update; _updateFunc = update;
@@ -187,10 +190,15 @@ namespace v2rayN.Handler
{ {
continue; continue;
} }
if (!Utils.IsNullOrEmpty(groupId) && item.groupId != groupId)
{
continue;
}
string id = item.id.TrimEx(); string id = item.id.TrimEx();
string url = item.url.TrimEx(); string url = item.url.TrimEx();
string userAgent = item.userAgent.TrimEx(); string userAgent = item.userAgent.TrimEx();
string groupId = item.groupId.TrimEx(); //string groupId = item.groupId.TrimEx();
string hashCode = $"{item.remarks}->"; string hashCode = $"{item.remarks}->";
if (Utils.IsNullOrEmpty(id) || Utils.IsNullOrEmpty(url)) if (Utils.IsNullOrEmpty(id) || Utils.IsNullOrEmpty(url))
{ {
@@ -223,7 +231,7 @@ namespace v2rayN.Handler
_updateFunc(false, $"{hashCode}{result}"); _updateFunc(false, $"{hashCode}{result}");
} }
int ret = ConfigHandler.AddBatchServers(ref config, result, id, groupId); int ret = ConfigHandler.AddBatchServers(ref config, result, id, item.groupId.TrimEx());
_updateFunc(false, _updateFunc(false,
ret > 0 ret > 0
? $"{hashCode}{ResUI.MsgUpdateSubscriptionEnd}" ? $"{hashCode}{ResUI.MsgUpdateSubscriptionEnd}"
@@ -305,17 +313,17 @@ namespace v2rayN.Handler
#region private #region private
private async void CheckUpdateAsync(ECoreType type) private async void CheckUpdateAsync(ECoreType type, bool preRelease)
{ {
try try
{ {
var coreInfo = LazyConfig.Instance.GetCoreInfo(type); 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)) if (!Utils.IsNullOrEmpty(result))
{ {
responseHandler(type, result); responseHandler(type, result, preRelease);
} }
else else
{ {
@@ -353,7 +361,7 @@ namespace v2rayN.Handler
if (!File.Exists(filePath)) if (!File.Exists(filePath))
{ {
string msg = string.Format(ResUI.NotFoundCore, @""); string msg = string.Format(ResUI.NotFoundCore, @"", "");
//ShowMsg(true, msg); //ShowMsg(true, msg);
return ""; return "";
} }
@@ -391,11 +399,20 @@ namespace v2rayN.Handler
return ""; return "";
} }
} }
private void responseHandler(ECoreType type, string redirectUrl) private void responseHandler(ECoreType type, string gitHubReleaseApi, bool preRelease)
{ {
try try
{ {
string version = redirectUrl.Substring(redirectUrl.LastIndexOf("/", StringComparison.Ordinal) + 1); var gitHubReleases = Utils.FromJson<List<GitHubRelease>>(gitHubReleaseApi);
string version;
if (preRelease)
{
version = gitHubReleases!.First().TagName;
}
else
{
version = gitHubReleases!.First(r => r.Prerelease == false).TagName;
}
var coreInfo = LazyConfig.Instance.GetCoreInfo(type); var coreInfo = LazyConfig.Instance.GetCoreInfo(type);
string curVersion; string curVersion;

View File

@@ -186,7 +186,7 @@ namespace v2rayN.Handler
} }
if (Utils.IsNullOrEmpty(fileName)) if (Utils.IsNullOrEmpty(fileName))
{ {
string msg = string.Format(ResUI.NotFoundCore, coreInfo.coreUrl); string msg = string.Format(ResUI.NotFoundCore, string.Join(", ", lstCoreTemp.ToArray()), coreInfo.coreUrl);
ShowMsg(false, msg); ShowMsg(false, msg);
} }
return fileName; return fileName;

View File

@@ -138,6 +138,8 @@ namespace v2rayN.Mode
public int autoUpdateSubInterval { get; set; } = 0; public int autoUpdateSubInterval { get; set; } = 0;
public bool checkPreReleaseUpdate { get; set; } = false;
public bool enableSecurityProtocolTls13 public bool enableSecurityProtocolTls13
{ {
get; set; get; set;

View File

@@ -14,7 +14,7 @@ namespace v2rayN.Mode
public string coreUrl { get; set; } public string coreUrl { get; set; }
public string coreLatestUrl { get; set; } public string coreReleaseApiUrl { get; set; }
public string coreDownloadUrl32 { get; set; } public string coreDownloadUrl32 { get; set; }

View File

@@ -0,0 +1,70 @@
using System;
using System.Collections.Generic;
using Newtonsoft.Json;
namespace v2rayN.Mode
{
public class GitHubReleaseAsset
{
[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<GitHubReleaseAsset> 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; }
}
}

View File

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

View File

@@ -736,7 +736,7 @@ namespace v2rayN.Resx {
} }
/// <summary> /// <summary>
/// 查找类似 Core not found, please download: {0} 的本地化字符串。 /// 查找类似 Core not found({0}), please download: {1} 的本地化字符串。
/// </summary> /// </summary>
internal static string NotFoundCore { internal static string NotFoundCore {
get { get {

View File

@@ -295,7 +295,7 @@
<value> non-standard service, this feature is invalid</value> <value> non-standard service, this feature is invalid</value>
</data> </data>
<data name="NotFoundCore" xml:space="preserve"> <data name="NotFoundCore" xml:space="preserve">
<value>Core not found, please download: {0}</value> <value>Core not found({0}), please download: {1}</value>
</data> </data>
<data name="NoValidQRcodeFound" xml:space="preserve"> <data name="NoValidQRcodeFound" xml:space="preserve">
<value>Scan completed, no valid QR code found</value> <value>Scan completed, no valid QR code found</value>

View File

@@ -295,7 +295,7 @@
<value>非标准服务,此功能无效</value> <value>非标准服务,此功能无效</value>
</data> </data>
<data name="NotFoundCore" xml:space="preserve"> <data name="NotFoundCore" xml:space="preserve">
<value>找不到Core下载地址: {0}</value> <value>找不到Core(文件名:{0}),下载地址: {1}</value>
</data> </data>
<data name="NoValidQRcodeFound" xml:space="preserve"> <data name="NoValidQRcodeFound" xml:space="preserve">
<value>扫描完成,未发现有效二维码</value> <value>扫描完成,未发现有效二维码</value>

View File

@@ -594,6 +594,12 @@ namespace v2rayN
{ {
try try
{ {
//clear
if (!RegReadValue(autoRunRegPath, "v2rayNAutoRun", "").IsNullOrEmpty())
{
RegWriteValue(autoRunRegPath, "v2rayNAutoRun", "");
}
string value = RegReadValue(autoRunRegPath, autoRunName, ""); string value = RegReadValue(autoRunRegPath, autoRunName, "");
string exePath = GetExePath(); string exePath = GetExePath();
if (value?.Equals(exePath) == true || value?.Equals($"\"{exePath}\"") == true) if (value?.Equals(exePath) == true || value?.Equals($"\"{exePath}\"") == true)
@@ -707,6 +713,13 @@ namespace v2rayN
} }
} }
public static string MainMsgFilterKey
{
get
{
return $"MainMsgFilter_{GetMD5(StartupPath())}";
}
}
#endregion #endregion
#region #region

View File

@@ -2,6 +2,7 @@
<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> <Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<Import Project="$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props" Condition="Exists('$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props')" /> <Import Project="$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props" Condition="Exists('$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props')" />
<PropertyGroup> <PropertyGroup>
<LangVersion>preview</LangVersion>
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration> <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
<Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform> <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
<ProjectGuid>{0A9785E6-D256-4B73-9757-4EF59955FD1E}</ProjectGuid> <ProjectGuid>{0A9785E6-D256-4B73-9757-4EF59955FD1E}</ProjectGuid>
@@ -209,6 +210,7 @@
<Compile Include="Mode\ESysProxyType.cs" /> <Compile Include="Mode\ESysProxyType.cs" />
<Compile Include="Mode\EMove.cs" /> <Compile Include="Mode\EMove.cs" />
<Compile Include="Mode\EServerColName.cs" /> <Compile Include="Mode\EServerColName.cs" />
<Compile Include="Mode\GitHubRelease.cs" />
<Compile Include="Mode\RoutingItem.cs" /> <Compile Include="Mode\RoutingItem.cs" />
<Compile Include="Mode\RulesItem.cs" /> <Compile Include="Mode\RulesItem.cs" />
<Compile Include="Mode\ServerStatistics.cs" /> <Compile Include="Mode\ServerStatistics.cs" />
@@ -490,18 +492,18 @@
</ItemGroup> </ItemGroup>
<ItemGroup> <ItemGroup>
<PackageReference Include="Google.Protobuf"> <PackageReference Include="Google.Protobuf">
<Version>3.21.1</Version> <Version>3.21.5</Version>
</PackageReference> </PackageReference>
<PackageReference Include="Grpc.Core"> <PackageReference Include="Grpc.Core">
<Version>2.46.3</Version> <Version>2.46.3</Version>
</PackageReference> </PackageReference>
<PackageReference Include="Grpc.Tools"> <PackageReference Include="Grpc.Tools">
<Version>2.46.3</Version> <Version>2.47.0</Version>
<IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets> <IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
<PrivateAssets>all</PrivateAssets> <PrivateAssets>all</PrivateAssets>
</PackageReference> </PackageReference>
<PackageReference Include="log4net"> <PackageReference Include="log4net">
<Version>2.0.14</Version> <Version>2.0.15</Version>
</PackageReference> </PackageReference>
<PackageReference Include="Newtonsoft.Json"> <PackageReference Include="Newtonsoft.Json">
<Version>13.0.1</Version> <Version>13.0.1</Version>