From d5550818205c12418c403a1333ff4fe5301a4c70 Mon Sep 17 00:00:00 2001 From: CGQAQ <m.jason.liu@outlook.com> Date: Tue, 27 Aug 2019 15:51:15 +0800 Subject: [PATCH] =?UTF-8?q?=E7=BB=9F=E8=AE=A1=E5=88=87=E6=8D=A2=E4=B8=BAgr?= =?UTF-8?q?pc?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .gitignore | 1 + v2rayN/v2rayN/Forms/MainForm.Designer.cs | 159 +- v2rayN/v2rayN/Forms/MainForm.resx | 2153 ++++++++++---------- v2rayN/v2rayN/Forms/MainForm.zh-Hans.resx | 23 +- v2rayN/v2rayN/Handler/StatisticsHandler.cs | 94 +- v2rayN/v2rayN/Protos/Statistics.proto | 53 + v2rayN/v2rayN/packages.config | 11 + v2rayN/v2rayN/v2rayN.csproj | 35 +- 8 files changed, 1303 insertions(+), 1226 deletions(-) create mode 100644 v2rayN/v2rayN/Protos/Statistics.proto create mode 100644 v2rayN/v2rayN/packages.config diff --git a/.gitignore b/.gitignore index d4837ad0..b416e378 100644 --- a/.gitignore +++ b/.gitignore @@ -9,6 +9,7 @@ /v2rayN/.vs/v2rayN/DesignTimeBuild /v2rayN/v2rayN/bin/Release /v2rayN/v2rayN/obj/Release +/v2rayN/packages .vs/ProjectSettings.json .vs/slnx.sqlite .vs/VSWorkspaceState.json diff --git a/v2rayN/v2rayN/Forms/MainForm.Designer.cs b/v2rayN/v2rayN/Forms/MainForm.Designer.cs index a7c88ed3..6e5a7980 100644 --- a/v2rayN/v2rayN/Forms/MainForm.Designer.cs +++ b/v2rayN/v2rayN/Forms/MainForm.Designer.cs @@ -136,19 +136,17 @@ // // splitContainer1.Panel1 // - resources.ApplyResources(this.splitContainer1.Panel1, "splitContainer1.Panel1"); this.splitContainer1.Panel1.Controls.Add(this.lvServers); // // splitContainer1.Panel2 // - resources.ApplyResources(this.splitContainer1.Panel2, "splitContainer1.Panel2"); this.splitContainer1.Panel2.Controls.Add(this.qrCodeControl); this.splitContainer1.SplitterMoved += new System.Windows.Forms.SplitterEventHandler(this.splitContainer1_SplitterMoved); // // lvServers // - resources.ApplyResources(this.lvServers, "lvServers"); this.lvServers.ContextMenuStrip = this.cmsLv; + resources.ApplyResources(this.lvServers, "lvServers"); this.lvServers.FullRowSelect = true; this.lvServers.GridLines = true; this.lvServers.HeaderStyle = System.Windows.Forms.ColumnHeaderStyle.Nonclickable; @@ -165,7 +163,6 @@ // // cmsLv // - resources.ApplyResources(this.cmsLv, "cmsLv"); this.cmsLv.ImageScalingSize = new System.Drawing.Size(20, 20); this.cmsLv.Items.AddRange(new System.Windows.Forms.ToolStripItem[] { this.menuAddVmessServer, @@ -195,158 +192,159 @@ this.menuExport2SubContent}); this.cmsLv.Name = "cmsLv"; this.cmsLv.OwnerItem = this.tsbServer; + resources.ApplyResources(this.cmsLv, "cmsLv"); // // menuAddVmessServer // - resources.ApplyResources(this.menuAddVmessServer, "menuAddVmessServer"); this.menuAddVmessServer.Name = "menuAddVmessServer"; + resources.ApplyResources(this.menuAddVmessServer, "menuAddVmessServer"); this.menuAddVmessServer.Click += new System.EventHandler(this.menuAddVmessServer_Click); // // menuAddShadowsocksServer // - resources.ApplyResources(this.menuAddShadowsocksServer, "menuAddShadowsocksServer"); this.menuAddShadowsocksServer.Name = "menuAddShadowsocksServer"; + resources.ApplyResources(this.menuAddShadowsocksServer, "menuAddShadowsocksServer"); this.menuAddShadowsocksServer.Click += new System.EventHandler(this.menuAddShadowsocksServer_Click); // // menuAddSocksServer // - resources.ApplyResources(this.menuAddSocksServer, "menuAddSocksServer"); this.menuAddSocksServer.Name = "menuAddSocksServer"; + resources.ApplyResources(this.menuAddSocksServer, "menuAddSocksServer"); this.menuAddSocksServer.Click += new System.EventHandler(this.menuAddSocksServer_Click); // // menuAddCustomServer // - resources.ApplyResources(this.menuAddCustomServer, "menuAddCustomServer"); this.menuAddCustomServer.Name = "menuAddCustomServer"; + resources.ApplyResources(this.menuAddCustomServer, "menuAddCustomServer"); this.menuAddCustomServer.Click += new System.EventHandler(this.menuAddCustomServer_Click); // // menuAddServers // - resources.ApplyResources(this.menuAddServers, "menuAddServers"); this.menuAddServers.Name = "menuAddServers"; + resources.ApplyResources(this.menuAddServers, "menuAddServers"); this.menuAddServers.Click += new System.EventHandler(this.menuAddServers_Click); // // menuScanScreen // - resources.ApplyResources(this.menuScanScreen, "menuScanScreen"); this.menuScanScreen.Name = "menuScanScreen"; + resources.ApplyResources(this.menuScanScreen, "menuScanScreen"); this.menuScanScreen.Click += new System.EventHandler(this.menuScanScreen_Click); // // toolStripSeparator1 // - resources.ApplyResources(this.toolStripSeparator1, "toolStripSeparator1"); this.toolStripSeparator1.Name = "toolStripSeparator1"; + resources.ApplyResources(this.toolStripSeparator1, "toolStripSeparator1"); // // menuRemoveServer // - resources.ApplyResources(this.menuRemoveServer, "menuRemoveServer"); this.menuRemoveServer.Name = "menuRemoveServer"; + resources.ApplyResources(this.menuRemoveServer, "menuRemoveServer"); this.menuRemoveServer.Click += new System.EventHandler(this.menuRemoveServer_Click); // // menuRemoveDuplicateServer // - resources.ApplyResources(this.menuRemoveDuplicateServer, "menuRemoveDuplicateServer"); this.menuRemoveDuplicateServer.Name = "menuRemoveDuplicateServer"; + resources.ApplyResources(this.menuRemoveDuplicateServer, "menuRemoveDuplicateServer"); this.menuRemoveDuplicateServer.Click += new System.EventHandler(this.menuRemoveDuplicateServer_Click); // // menuCopyServer // - resources.ApplyResources(this.menuCopyServer, "menuCopyServer"); this.menuCopyServer.Name = "menuCopyServer"; + resources.ApplyResources(this.menuCopyServer, "menuCopyServer"); this.menuCopyServer.Click += new System.EventHandler(this.menuCopyServer_Click); // // menuSetDefaultServer // - resources.ApplyResources(this.menuSetDefaultServer, "menuSetDefaultServer"); this.menuSetDefaultServer.Name = "menuSetDefaultServer"; + resources.ApplyResources(this.menuSetDefaultServer, "menuSetDefaultServer"); this.menuSetDefaultServer.Click += new System.EventHandler(this.menuSetDefaultServer_Click); // // toolStripSeparator3 // - resources.ApplyResources(this.toolStripSeparator3, "toolStripSeparator3"); this.toolStripSeparator3.Name = "toolStripSeparator3"; + resources.ApplyResources(this.toolStripSeparator3, "toolStripSeparator3"); // // menuMoveTop // - resources.ApplyResources(this.menuMoveTop, "menuMoveTop"); this.menuMoveTop.Name = "menuMoveTop"; + resources.ApplyResources(this.menuMoveTop, "menuMoveTop"); this.menuMoveTop.Click += new System.EventHandler(this.menuMoveTop_Click); // // menuMoveUp // - resources.ApplyResources(this.menuMoveUp, "menuMoveUp"); this.menuMoveUp.Name = "menuMoveUp"; + resources.ApplyResources(this.menuMoveUp, "menuMoveUp"); this.menuMoveUp.Click += new System.EventHandler(this.menuMoveUp_Click); // // menuMoveDown // - resources.ApplyResources(this.menuMoveDown, "menuMoveDown"); this.menuMoveDown.Name = "menuMoveDown"; + resources.ApplyResources(this.menuMoveDown, "menuMoveDown"); this.menuMoveDown.Click += new System.EventHandler(this.menuMoveDown_Click); // // menuMoveBottom // - resources.ApplyResources(this.menuMoveBottom, "menuMoveBottom"); this.menuMoveBottom.Name = "menuMoveBottom"; + resources.ApplyResources(this.menuMoveBottom, "menuMoveBottom"); this.menuMoveBottom.Click += new System.EventHandler(this.menuMoveBottom_Click); // // menuSelectAll // - resources.ApplyResources(this.menuSelectAll, "menuSelectAll"); this.menuSelectAll.Name = "menuSelectAll"; + resources.ApplyResources(this.menuSelectAll, "menuSelectAll"); this.menuSelectAll.Click += new System.EventHandler(this.menuSelectAll_Click); // // toolStripSeparator9 // - resources.ApplyResources(this.toolStripSeparator9, "toolStripSeparator9"); this.toolStripSeparator9.Name = "toolStripSeparator9"; + resources.ApplyResources(this.toolStripSeparator9, "toolStripSeparator9"); // // menuPingServer // - resources.ApplyResources(this.menuPingServer, "menuPingServer"); this.menuPingServer.Name = "menuPingServer"; + resources.ApplyResources(this.menuPingServer, "menuPingServer"); this.menuPingServer.Click += new System.EventHandler(this.menuPingServer_Click); // // menuSpeedServer // - resources.ApplyResources(this.menuSpeedServer, "menuSpeedServer"); this.menuSpeedServer.Name = "menuSpeedServer"; + resources.ApplyResources(this.menuSpeedServer, "menuSpeedServer"); this.menuSpeedServer.Click += new System.EventHandler(this.menuSpeedServer_Click); // // toolStripSeparator6 // - resources.ApplyResources(this.toolStripSeparator6, "toolStripSeparator6"); this.toolStripSeparator6.Name = "toolStripSeparator6"; + resources.ApplyResources(this.toolStripSeparator6, "toolStripSeparator6"); // // menuExport2ClientConfig // - resources.ApplyResources(this.menuExport2ClientConfig, "menuExport2ClientConfig"); this.menuExport2ClientConfig.Name = "menuExport2ClientConfig"; + resources.ApplyResources(this.menuExport2ClientConfig, "menuExport2ClientConfig"); this.menuExport2ClientConfig.Click += new System.EventHandler(this.menuExport2ClientConfig_Click); // // menuExport2ServerConfig // - resources.ApplyResources(this.menuExport2ServerConfig, "menuExport2ServerConfig"); this.menuExport2ServerConfig.Name = "menuExport2ServerConfig"; + resources.ApplyResources(this.menuExport2ServerConfig, "menuExport2ServerConfig"); this.menuExport2ServerConfig.Click += new System.EventHandler(this.menuExport2ServerConfig_Click); // // menuExport2ShareUrl // - resources.ApplyResources(this.menuExport2ShareUrl, "menuExport2ShareUrl"); this.menuExport2ShareUrl.Name = "menuExport2ShareUrl"; + resources.ApplyResources(this.menuExport2ShareUrl, "menuExport2ShareUrl"); this.menuExport2ShareUrl.Click += new System.EventHandler(this.menuExport2ShareUrl_Click); // // menuExport2SubContent // - resources.ApplyResources(this.menuExport2SubContent, "menuExport2SubContent"); this.menuExport2SubContent.Name = "menuExport2SubContent"; + resources.ApplyResources(this.menuExport2SubContent, "menuExport2SubContent"); this.menuExport2SubContent.Click += new System.EventHandler(this.menuExport2SubContent_Click); // // tsbServer // - resources.ApplyResources(this.tsbServer, "tsbServer"); this.tsbServer.DropDown = this.cmsLv; this.tsbServer.Image = global::v2rayN.Properties.Resources.server; + resources.ApplyResources(this.tsbServer, "tsbServer"); this.tsbServer.Name = "tsbServer"; // // qrCodeControl @@ -356,14 +354,14 @@ // // notifyMain // - resources.ApplyResources(this.notifyMain, "notifyMain"); this.notifyMain.ContextMenuStrip = this.cmsMain; + resources.ApplyResources(this.notifyMain, "notifyMain"); this.notifyMain.MouseClick += new System.Windows.Forms.MouseEventHandler(this.notifyMain_MouseClick); // // cmsMain // - resources.ApplyResources(this.cmsMain, "cmsMain"); this.cmsMain.ImageScalingSize = new System.Drawing.Size(20, 20); + resources.ApplyResources(this.cmsMain, "cmsMain"); this.cmsMain.Items.AddRange(new System.Windows.Forms.ToolStripItem[] { this.menuSysAgentEnabled, this.menuSysAgentMode, @@ -380,76 +378,76 @@ // // menuSysAgentEnabled // - resources.ApplyResources(this.menuSysAgentEnabled, "menuSysAgentEnabled"); this.menuSysAgentEnabled.Name = "menuSysAgentEnabled"; + resources.ApplyResources(this.menuSysAgentEnabled, "menuSysAgentEnabled"); this.menuSysAgentEnabled.Click += new System.EventHandler(this.menuSysAgentEnabled_Click); // // menuSysAgentMode // - resources.ApplyResources(this.menuSysAgentMode, "menuSysAgentMode"); this.menuSysAgentMode.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] { this.menuGlobal, this.menuGlobalPAC, this.menuKeep, this.menuKeepPAC}); this.menuSysAgentMode.Name = "menuSysAgentMode"; + resources.ApplyResources(this.menuSysAgentMode, "menuSysAgentMode"); // // menuGlobal // - resources.ApplyResources(this.menuGlobal, "menuGlobal"); this.menuGlobal.Name = "menuGlobal"; + resources.ApplyResources(this.menuGlobal, "menuGlobal"); this.menuGlobal.Click += new System.EventHandler(this.menuGlobal_Click); // // menuGlobalPAC // - resources.ApplyResources(this.menuGlobalPAC, "menuGlobalPAC"); this.menuGlobalPAC.Name = "menuGlobalPAC"; + resources.ApplyResources(this.menuGlobalPAC, "menuGlobalPAC"); this.menuGlobalPAC.Click += new System.EventHandler(this.menuGlobalPAC_Click); // // menuKeep // - resources.ApplyResources(this.menuKeep, "menuKeep"); this.menuKeep.Name = "menuKeep"; + resources.ApplyResources(this.menuKeep, "menuKeep"); this.menuKeep.Click += new System.EventHandler(this.menuKeep_Click); // // menuKeepPAC // - resources.ApplyResources(this.menuKeepPAC, "menuKeepPAC"); this.menuKeepPAC.Name = "menuKeepPAC"; + resources.ApplyResources(this.menuKeepPAC, "menuKeepPAC"); this.menuKeepPAC.Click += new System.EventHandler(this.menuKeepPAC_Click); // // menuServers // - resources.ApplyResources(this.menuServers, "menuServers"); this.menuServers.Name = "menuServers"; + resources.ApplyResources(this.menuServers, "menuServers"); // // menuAddServers2 // - resources.ApplyResources(this.menuAddServers2, "menuAddServers2"); this.menuAddServers2.Name = "menuAddServers2"; + resources.ApplyResources(this.menuAddServers2, "menuAddServers2"); this.menuAddServers2.Click += new System.EventHandler(this.menuAddServers_Click); // // menuScanScreen2 // - resources.ApplyResources(this.menuScanScreen2, "menuScanScreen2"); this.menuScanScreen2.Name = "menuScanScreen2"; + resources.ApplyResources(this.menuScanScreen2, "menuScanScreen2"); this.menuScanScreen2.Click += new System.EventHandler(this.menuScanScreen_Click); // // menuCopyPACUrl // - resources.ApplyResources(this.menuCopyPACUrl, "menuCopyPACUrl"); this.menuCopyPACUrl.Name = "menuCopyPACUrl"; + resources.ApplyResources(this.menuCopyPACUrl, "menuCopyPACUrl"); this.menuCopyPACUrl.Click += new System.EventHandler(this.menuCopyPACUrl_Click); // // toolStripSeparator2 // - resources.ApplyResources(this.toolStripSeparator2, "toolStripSeparator2"); this.toolStripSeparator2.Name = "toolStripSeparator2"; + resources.ApplyResources(this.toolStripSeparator2, "toolStripSeparator2"); // // menuExit // - resources.ApplyResources(this.menuExit, "menuExit"); this.menuExit.Name = "menuExit"; + resources.ApplyResources(this.menuExit, "menuExit"); this.menuExit.Click += new System.EventHandler(this.menuExit_Click); // // bgwPing @@ -466,31 +464,30 @@ // // groupBox1 // - resources.ApplyResources(this.groupBox1, "groupBox1"); this.groupBox1.Controls.Add(this.splitContainer1); + resources.ApplyResources(this.groupBox1, "groupBox1"); this.groupBox1.Name = "groupBox1"; this.groupBox1.TabStop = false; // // groupBox2 // - resources.ApplyResources(this.groupBox2, "groupBox2"); this.groupBox2.Controls.Add(this.txtMsgBox); this.groupBox2.Controls.Add(this.ssMain); + resources.ApplyResources(this.groupBox2, "groupBox2"); this.groupBox2.Name = "groupBox2"; this.groupBox2.TabStop = false; // // txtMsgBox // - resources.ApplyResources(this.txtMsgBox, "txtMsgBox"); this.txtMsgBox.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(41)))), ((int)(((byte)(49)))), ((int)(((byte)(52))))); this.txtMsgBox.BorderStyle = System.Windows.Forms.BorderStyle.None; + resources.ApplyResources(this.txtMsgBox, "txtMsgBox"); this.txtMsgBox.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(224)))), ((int)(((byte)(226)))), ((int)(((byte)(228))))); this.txtMsgBox.Name = "txtMsgBox"; this.txtMsgBox.ReadOnly = true; // // ssMain // - resources.ApplyResources(this.ssMain, "ssMain"); this.ssMain.Items.AddRange(new System.Windows.Forms.ToolStripItem[] { this.toolSslSocksPortLab, this.toolSslSocksPort, @@ -503,66 +500,68 @@ this.toolSslBlank3, this.toolSslServerSpeed, this.toolSslBlank4}); + resources.ApplyResources(this.ssMain, "ssMain"); this.ssMain.Name = "ssMain"; this.ssMain.ItemClicked += new System.Windows.Forms.ToolStripItemClickedEventHandler(this.ssMain_ItemClicked); // // toolSslSocksPortLab // - resources.ApplyResources(this.toolSslSocksPortLab, "toolSslSocksPortLab"); this.toolSslSocksPortLab.Name = "toolSslSocksPortLab"; + resources.ApplyResources(this.toolSslSocksPortLab, "toolSslSocksPortLab"); // // toolSslSocksPort // - resources.ApplyResources(this.toolSslSocksPort, "toolSslSocksPort"); this.toolSslSocksPort.Name = "toolSslSocksPort"; + resources.ApplyResources(this.toolSslSocksPort, "toolSslSocksPort"); // // toolSslBlank1 // - resources.ApplyResources(this.toolSslBlank1, "toolSslBlank1"); this.toolSslBlank1.Name = "toolSslBlank1"; + resources.ApplyResources(this.toolSslBlank1, "toolSslBlank1"); this.toolSslBlank1.Spring = true; // // toolSslHttpPortLab // - resources.ApplyResources(this.toolSslHttpPortLab, "toolSslHttpPortLab"); this.toolSslHttpPortLab.Name = "toolSslHttpPortLab"; + resources.ApplyResources(this.toolSslHttpPortLab, "toolSslHttpPortLab"); // // toolSslHttpPort // - resources.ApplyResources(this.toolSslHttpPort, "toolSslHttpPort"); this.toolSslHttpPort.Name = "toolSslHttpPort"; + resources.ApplyResources(this.toolSslHttpPort, "toolSslHttpPort"); // // toolSslBlank2 // - resources.ApplyResources(this.toolSslBlank2, "toolSslBlank2"); this.toolSslBlank2.Name = "toolSslBlank2"; + resources.ApplyResources(this.toolSslBlank2, "toolSslBlank2"); this.toolSslBlank2.Spring = true; // // toolSslPacPortLab // - resources.ApplyResources(this.toolSslPacPortLab, "toolSslPacPortLab"); this.toolSslPacPortLab.Name = "toolSslPacPortLab"; + resources.ApplyResources(this.toolSslPacPortLab, "toolSslPacPortLab"); // // toolSslPacPort // - resources.ApplyResources(this.toolSslPacPort, "toolSslPacPort"); this.toolSslPacPort.Name = "toolSslPacPort"; + resources.ApplyResources(this.toolSslPacPort, "toolSslPacPort"); // // toolSslBlank3 // - resources.ApplyResources(this.toolSslBlank3, "toolSslBlank3"); this.toolSslBlank3.Name = "toolSslBlank3"; + resources.ApplyResources(this.toolSslBlank3, "toolSslBlank3"); this.toolSslBlank3.Spring = true; // // toolSslServerSpeed // resources.ApplyResources(this.toolSslServerSpeed, "toolSslServerSpeed"); + this.toolSslServerSpeed.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Text; this.toolSslServerSpeed.Name = "toolSslServerSpeed"; // // toolSslBlank4 // - resources.ApplyResources(this.toolSslBlank4, "toolSslBlank4"); this.toolSslBlank4.Name = "toolSslBlank4"; + resources.ApplyResources(this.toolSslBlank4, "toolSslBlank4"); // // panel1 // @@ -571,7 +570,6 @@ // // tsMain // - resources.ApplyResources(this.tsMain, "tsMain"); this.tsMain.ImageScalingSize = new System.Drawing.Size(32, 32); this.tsMain.Items.AddRange(new System.Windows.Forms.ToolStripItem[] { this.tsbServer, @@ -588,50 +586,51 @@ this.tsbPromotion, this.toolStripSeparator11, this.tsbClose}); + resources.ApplyResources(this.tsMain, "tsMain"); this.tsMain.Name = "tsMain"; // // toolStripSeparator4 // - resources.ApplyResources(this.toolStripSeparator4, "toolStripSeparator4"); this.toolStripSeparator4.Name = "toolStripSeparator4"; + resources.ApplyResources(this.toolStripSeparator4, "toolStripSeparator4"); // // tsbSub // - resources.ApplyResources(this.tsbSub, "tsbSub"); this.tsbSub.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] { this.tsbSubSetting, this.tsbSubUpdate}); this.tsbSub.Image = global::v2rayN.Properties.Resources.sub; + resources.ApplyResources(this.tsbSub, "tsbSub"); this.tsbSub.Name = "tsbSub"; // // tsbSubSetting // - resources.ApplyResources(this.tsbSubSetting, "tsbSubSetting"); this.tsbSubSetting.Name = "tsbSubSetting"; + resources.ApplyResources(this.tsbSubSetting, "tsbSubSetting"); this.tsbSubSetting.Click += new System.EventHandler(this.tsbSubSetting_Click); // // tsbSubUpdate // - resources.ApplyResources(this.tsbSubUpdate, "tsbSubUpdate"); this.tsbSubUpdate.Name = "tsbSubUpdate"; + resources.ApplyResources(this.tsbSubUpdate, "tsbSubUpdate"); this.tsbSubUpdate.Click += new System.EventHandler(this.tsbSubUpdate_Click); // // toolStripSeparator8 // - resources.ApplyResources(this.toolStripSeparator8, "toolStripSeparator8"); this.toolStripSeparator8.Name = "toolStripSeparator8"; + resources.ApplyResources(this.toolStripSeparator8, "toolStripSeparator8"); // // tsbOptionSetting // - resources.ApplyResources(this.tsbOptionSetting, "tsbOptionSetting"); this.tsbOptionSetting.Image = global::v2rayN.Properties.Resources.option; + resources.ApplyResources(this.tsbOptionSetting, "tsbOptionSetting"); this.tsbOptionSetting.Name = "tsbOptionSetting"; this.tsbOptionSetting.Click += new System.EventHandler(this.tsbOptionSetting_Click); // // toolStripSeparator5 // - resources.ApplyResources(this.toolStripSeparator5, "toolStripSeparator5"); this.toolStripSeparator5.Name = "toolStripSeparator5"; + resources.ApplyResources(this.toolStripSeparator5, "toolStripSeparator5"); // // tsbReload // @@ -641,95 +640,95 @@ // // toolStripSeparator7 // - resources.ApplyResources(this.toolStripSeparator7, "toolStripSeparator7"); this.toolStripSeparator7.Name = "toolStripSeparator7"; + resources.ApplyResources(this.toolStripSeparator7, "toolStripSeparator7"); // // tsbCheckUpdate // - resources.ApplyResources(this.tsbCheckUpdate, "tsbCheckUpdate"); this.tsbCheckUpdate.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] { this.tsbCheckUpdateN, this.tsbCheckUpdateCore, this.tsbCheckUpdatePACList, this.tsbCheckClearPACList}); this.tsbCheckUpdate.Image = global::v2rayN.Properties.Resources.checkupdate; + resources.ApplyResources(this.tsbCheckUpdate, "tsbCheckUpdate"); this.tsbCheckUpdate.Name = "tsbCheckUpdate"; // // tsbCheckUpdateN // - resources.ApplyResources(this.tsbCheckUpdateN, "tsbCheckUpdateN"); this.tsbCheckUpdateN.Name = "tsbCheckUpdateN"; + resources.ApplyResources(this.tsbCheckUpdateN, "tsbCheckUpdateN"); this.tsbCheckUpdateN.Click += new System.EventHandler(this.tsbCheckUpdateN_Click); // // tsbCheckUpdateCore // - resources.ApplyResources(this.tsbCheckUpdateCore, "tsbCheckUpdateCore"); this.tsbCheckUpdateCore.Name = "tsbCheckUpdateCore"; + resources.ApplyResources(this.tsbCheckUpdateCore, "tsbCheckUpdateCore"); this.tsbCheckUpdateCore.Click += new System.EventHandler(this.tsbCheckUpdateCore_Click); // // tsbCheckUpdatePACList // - resources.ApplyResources(this.tsbCheckUpdatePACList, "tsbCheckUpdatePACList"); this.tsbCheckUpdatePACList.Name = "tsbCheckUpdatePACList"; + resources.ApplyResources(this.tsbCheckUpdatePACList, "tsbCheckUpdatePACList"); this.tsbCheckUpdatePACList.Click += new System.EventHandler(this.tsbCheckUpdatePACList_Click); // // tsbCheckClearPACList // - resources.ApplyResources(this.tsbCheckClearPACList, "tsbCheckClearPACList"); this.tsbCheckClearPACList.Name = "tsbCheckClearPACList"; + resources.ApplyResources(this.tsbCheckClearPACList, "tsbCheckClearPACList"); this.tsbCheckClearPACList.Click += new System.EventHandler(this.tsbCheckClearPACList_Click); // // toolStripSeparator10 // - resources.ApplyResources(this.toolStripSeparator10, "toolStripSeparator10"); this.toolStripSeparator10.Name = "toolStripSeparator10"; + resources.ApplyResources(this.toolStripSeparator10, "toolStripSeparator10"); // // tsbHelp // - resources.ApplyResources(this.tsbHelp, "tsbHelp"); this.tsbHelp.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] { this.tsbAbout, this.toolStripSeparator12, this.tsbLanguageDef, this.tsbLanguageZhHans}); this.tsbHelp.Image = global::v2rayN.Properties.Resources.help; + resources.ApplyResources(this.tsbHelp, "tsbHelp"); this.tsbHelp.Name = "tsbHelp"; // // tsbAbout // - resources.ApplyResources(this.tsbAbout, "tsbAbout"); this.tsbAbout.Name = "tsbAbout"; + resources.ApplyResources(this.tsbAbout, "tsbAbout"); this.tsbAbout.Click += new System.EventHandler(this.tsbAbout_Click); // // toolStripSeparator12 // - resources.ApplyResources(this.toolStripSeparator12, "toolStripSeparator12"); this.toolStripSeparator12.Name = "toolStripSeparator12"; + resources.ApplyResources(this.toolStripSeparator12, "toolStripSeparator12"); // // tsbLanguageDef // - resources.ApplyResources(this.tsbLanguageDef, "tsbLanguageDef"); this.tsbLanguageDef.Name = "tsbLanguageDef"; + resources.ApplyResources(this.tsbLanguageDef, "tsbLanguageDef"); this.tsbLanguageDef.Click += new System.EventHandler(this.tsbLanguageDef_Click); // // tsbLanguageZhHans // - resources.ApplyResources(this.tsbLanguageZhHans, "tsbLanguageZhHans"); this.tsbLanguageZhHans.Name = "tsbLanguageZhHans"; + resources.ApplyResources(this.tsbLanguageZhHans, "tsbLanguageZhHans"); this.tsbLanguageZhHans.Click += new System.EventHandler(this.tsbLanguageZhHans_Click); // // tsbPromotion // - resources.ApplyResources(this.tsbPromotion, "tsbPromotion"); this.tsbPromotion.ForeColor = System.Drawing.Color.Black; this.tsbPromotion.Image = global::v2rayN.Properties.Resources.promotion; + resources.ApplyResources(this.tsbPromotion, "tsbPromotion"); this.tsbPromotion.Name = "tsbPromotion"; this.tsbPromotion.Click += new System.EventHandler(this.tsbPromotion_Click); // // toolStripSeparator11 // - resources.ApplyResources(this.toolStripSeparator11, "toolStripSeparator11"); this.toolStripSeparator11.Name = "toolStripSeparator11"; + resources.ApplyResources(this.toolStripSeparator11, "toolStripSeparator11"); // // tsbClose // diff --git a/v2rayN/v2rayN/Forms/MainForm.resx b/v2rayN/v2rayN/Forms/MainForm.resx index 4d474560..e0fa1186 100644 --- a/v2rayN/v2rayN/Forms/MainForm.resx +++ b/v2rayN/v2rayN/Forms/MainForm.resx @@ -117,640 +117,178 @@ <resheader name="writer"> <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> </resheader> - <data name="menuRemoveDuplicateServer.Text" xml:space="preserve"> - <value>Remove duplicate server</value> + <assembly alias="System.Windows.Forms" name="System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" /> + <data name="splitContainer1.Dock" type="System.Windows.Forms.DockStyle, System.Windows.Forms"> + <value>Fill</value> </data> <assembly alias="System.Drawing" name="System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" /> - <data name="menuAddCustomServer.Size" type="System.Drawing.Size, System.Drawing"> + <data name="splitContainer1.Location" type="System.Drawing.Point, System.Drawing"> + <value>3, 17</value> + </data> + <metadata name="cmsLv.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"> + <value>327, 17</value> + </metadata> + <data name="menuAddVmessServer.Size" type="System.Drawing.Size, System.Drawing"> <value>447, 22</value> </data> - <data name=">>menuCopyServer.Type" xml:space="preserve"> - <value>System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> + <data name="menuAddVmessServer.Text" xml:space="preserve"> + <value>Add [VMess] server</value> </data> - <data name="tsbOptionSetting.ImageTransparentColor" type="System.Drawing.Color, System.Drawing"> - <value>Magenta</value> - </data> - <data name="menuSpeedServer.Size" type="System.Drawing.Size, System.Drawing"> + <data name="menuAddShadowsocksServer.Size" type="System.Drawing.Size, System.Drawing"> <value>447, 22</value> </data> - <data name="tsbReload.Size" type="System.Drawing.Size, System.Drawing"> - <value>97, 53</value> - </data> - <data name=">>txtMsgBox.Parent" xml:space="preserve"> - <value>groupBox2</value> - </data> - <data name=">>menuServers.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=">>menuAddSocksServer.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="tsbReload.Text" xml:space="preserve"> - <value>Restart service</value> - </data> - <data name=">>tsbSubSetting.Name" xml:space="preserve"> - <value>tsbSubSetting</value> - </data> - <data name=">>ssMain.Parent" xml:space="preserve"> - <value>groupBox2</value> - </data> - <data name=">>menuMoveUp.Name" xml:space="preserve"> - <value>menuMoveUp</value> - </data> - <data name="menuAddSocksServer.Text" xml:space="preserve"> - <value>Add [Socks] server</value> - </data> - <data name=">>toolStripSeparator4.Type" xml:space="preserve"> - <value>System.Windows.Forms.ToolStripSeparator, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> - </data> - <data name=">>groupBox2.Type" xml:space="preserve"> - <value>System.Windows.Forms.GroupBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> + <data name="menuAddShadowsocksServer.Text" xml:space="preserve"> + <value>Add [Shadowsocks] server</value> </data> <data name="menuAddSocksServer.Size" type="System.Drawing.Size, System.Drawing"> <value>447, 22</value> </data> - <data name="toolSslPacPort.Size" type="System.Drawing.Size, System.Drawing"> - <value>0, 17</value> + <data name="menuAddSocksServer.Text" xml:space="preserve"> + <value>Add [Socks] server</value> </data> - <data name="tsbLanguageZhHans.Text" xml:space="preserve"> - <value>语言-[中文简体]</value> + <data name="menuAddCustomServer.Size" type="System.Drawing.Size, System.Drawing"> + <value>447, 22</value> </data> - <assembly alias="System.Windows.Forms" name="System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" /> - <data name="cmsMain.ImeMode" type="System.Windows.Forms.ImeMode, System.Windows.Forms"> - <value>NoControl</value> + <data name="menuAddCustomServer.Text" xml:space="preserve"> + <value>Add a custom configuration server</value> </data> - <data name="panel1.Dock" type="System.Windows.Forms.DockStyle, System.Windows.Forms"> - <value>Top</value> + <data name="menuAddServers.Size" type="System.Drawing.Size, System.Drawing"> + <value>447, 22</value> </data> - <data name=">>tsbHelp.Name" xml:space="preserve"> - <value>tsbHelp</value> + <data name="menuAddServers.Text" xml:space="preserve"> + <value>Import bulk URL from clipboard</value> </data> - <data name="tsbCheckClearPACList.Size" type="System.Drawing.Size, System.Drawing"> - <value>338, 22</value> + <data name="menuScanScreen.Size" type="System.Drawing.Size, System.Drawing"> + <value>447, 22</value> </data> - <data name=">>splitContainer1.Panel2.Type" xml:space="preserve"> - <value>System.Windows.Forms.SplitterPanel, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> + <data name="menuScanScreen.Text" xml:space="preserve"> + <value>Scan QR code on the screen</value> </data> - <data name=">>toolStripSeparator6.Name" xml:space="preserve"> - <value>toolStripSeparator6</value> - </data> - <data name="tsbSub.Size" type="System.Drawing.Size, System.Drawing"> - <value>93, 53</value> - </data> - <data name=">>toolStripSeparator5.Type" xml:space="preserve"> - <value>System.Windows.Forms.ToolStripSeparator, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> - </data> - <data name="tsbAbout.Size" type="System.Drawing.Size, System.Drawing"> - <value>187, 22</value> - </data> - <data name=">>toolSslBlank2.Name" xml:space="preserve"> - <value>toolSslBlank2</value> - </data> - <data name=">>tsbCheckUpdateN.Name" xml:space="preserve"> - <value>tsbCheckUpdateN</value> + <data name="toolStripSeparator1.Size" type="System.Drawing.Size, System.Drawing"> + <value>444, 6</value> </data> <data name="menuRemoveServer.Size" type="System.Drawing.Size, System.Drawing"> <value>447, 22</value> </data> - <data name="menuExport2ShareUrl.Size" type="System.Drawing.Size, System.Drawing"> + <data name="menuRemoveServer.Text" xml:space="preserve"> + <value>Remove selected server (multiple choice) (Delete)</value> + </data> + <data name="menuRemoveDuplicateServer.Size" type="System.Drawing.Size, System.Drawing"> + <value>447, 22</value> + </data> + <data name="menuRemoveDuplicateServer.Text" xml:space="preserve"> + <value>Remove duplicate server</value> + </data> + <data name="menuCopyServer.Size" type="System.Drawing.Size, System.Drawing"> + <value>447, 22</value> + </data> + <data name="menuCopyServer.Text" xml:space="preserve"> + <value>Copy selected server</value> + </data> + <data name="menuSetDefaultServer.Size" type="System.Drawing.Size, System.Drawing"> + <value>447, 22</value> + </data> + <data name="menuSetDefaultServer.Text" xml:space="preserve"> + <value>Set as active server (Enter)</value> + </data> + <data name="toolStripSeparator3.Size" type="System.Drawing.Size, System.Drawing"> + <value>444, 6</value> + </data> + <data name="menuMoveTop.Size" type="System.Drawing.Size, System.Drawing"> <value>447, 22</value> </data> <data name="menuMoveTop.Text" xml:space="preserve"> <value>Up to top</value> </data> - <data name=">>menuMoveBottom.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=">>menuExport2SubContent.Name" xml:space="preserve"> - <value>menuExport2SubContent</value> - </data> - <data name=">>toolStripSeparator7.Name" xml:space="preserve"> - <value>toolStripSeparator7</value> - </data> - <data name="tsbCheckUpdateCore.Text" xml:space="preserve"> - <value>Check for updates to v2rayCore</value> - </data> - <data name="tsbPromotion.ImageTransparentColor" type="System.Drawing.Color, System.Drawing"> - <value>Magenta</value> - </data> - <data name="menuCopyServer.Size" type="System.Drawing.Size, System.Drawing"> + <data name="menuMoveUp.Size" type="System.Drawing.Size, System.Drawing"> <value>447, 22</value> </data> - <data name=">>menuExport2SubContent.Type" xml:space="preserve"> - <value>System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> + <data name="menuMoveUp.Text" xml:space="preserve"> + <value>Upward (U)</value> </data> - <data name="groupBox1.Dock" type="System.Windows.Forms.DockStyle, System.Windows.Forms"> - <value>Fill</value> - </data> - <data name="toolSslSocksPortLab.Size" type="System.Drawing.Size, System.Drawing"> - <value>55, 17</value> - </data> - <data name="groupBox1.Size" type="System.Drawing.Size, System.Drawing"> - <value>904, 351</value> - </data> - <data name="menuMoveTop.Size" type="System.Drawing.Size, System.Drawing"> + <data name="menuMoveDown.Size" type="System.Drawing.Size, System.Drawing"> <value>447, 22</value> </data> - <data name="menuExport2ClientConfig.Text" xml:space="preserve"> - <value>Export selected server for client configuration</value> + <data name="menuMoveDown.Text" xml:space="preserve"> + <value>Down (D)</value> </data> - <data name="lvServers.Location" type="System.Drawing.Point, System.Drawing"> - <value>0, 0</value> + <data name="menuMoveBottom.Size" type="System.Drawing.Size, System.Drawing"> + <value>447, 22</value> </data> - <data name=">>menuMoveTop.Type" xml:space="preserve"> - <value>System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> + <data name="menuMoveBottom.Text" xml:space="preserve"> + <value>Moves down to the bottom</value> </data> - <data name=">>tsbCheckUpdatePACList.Type" xml:space="preserve"> - <value>System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> + <data name="menuSelectAll.Size" type="System.Drawing.Size, System.Drawing"> + <value>447, 22</value> </data> - <data name=">>panel1.Name" xml:space="preserve"> - <value>panel1</value> + <data name="menuSelectAll.Text" xml:space="preserve"> + <value>Select All (Ctrl+A)</value> </data> - <data name="menuExport2ServerConfig.Text" xml:space="preserve"> - <value>Export selected server for server configuration</value> + <data name="toolStripSeparator9.Size" type="System.Drawing.Size, System.Drawing"> + <value>444, 6</value> </data> - <data name=">>splitContainer1.Panel2.Parent" xml:space="preserve"> - <value>splitContainer1</value> + <data name="menuPingServer.Size" type="System.Drawing.Size, System.Drawing"> + <value>447, 22</value> </data> - <data name="tsbCheckUpdate.TextImageRelation" type="System.Windows.Forms.TextImageRelation, System.Windows.Forms"> - <value>ImageAboveText</value> + <data name="menuPingServer.Text" xml:space="preserve"> + <value>Test server delay (multiple choice)(Ctrl+P)</value> </data> - <data name=">>splitContainer1.Type" xml:space="preserve"> - <value>System.Windows.Forms.SplitContainer, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> + <data name="menuSpeedServer.Size" type="System.Drawing.Size, System.Drawing"> + <value>447, 22</value> </data> - <data name="tsMain.Size" type="System.Drawing.Size, System.Drawing"> - <value>904, 56</value> + <data name="menuSpeedServer.Text" xml:space="preserve"> + <value>Test server speed (multiple choice)(Ctrl+T)</value> </data> - <data name="groupBox2.Dock" type="System.Windows.Forms.DockStyle, System.Windows.Forms"> - <value>Bottom</value> - </data> - <data name="groupBox2.Size" type="System.Drawing.Size, System.Drawing"> - <value>904, 176</value> - </data> - <assembly alias="mscorlib" name="mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" /> - <data name="splitContainer1.Panel2MinSize" type="System.Int32, mscorlib"> - <value>100</value> - </data> - <data name="cmsLv.Size" type="System.Drawing.Size, System.Drawing"> - <value>448, 490</value> - </data> - <data name="menuAddServers2.Size" type="System.Drawing.Size, System.Drawing"> - <value>264, 22</value> - </data> - <data name=">>menuExit.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="$this.Text" xml:space="preserve"> - <value>v2rayN</value> - </data> - <data name="toolStripSeparator3.Size" type="System.Drawing.Size, System.Drawing"> + <data name="toolStripSeparator6.Size" type="System.Drawing.Size, System.Drawing"> <value>444, 6</value> </data> <data name="menuExport2ClientConfig.Size" type="System.Drawing.Size, System.Drawing"> <value>447, 22</value> </data> - <data name=">>toolStripSeparator1.Name" xml:space="preserve"> - <value>toolStripSeparator1</value> - </data> - <data name=">>menuSysAgentEnabled.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="groupBox2.TabIndex" type="System.Int32, mscorlib"> - <value>4</value> - </data> - <data name=">>tsbServer.Type" xml:space="preserve"> - <value>System.Windows.Forms.ToolStripDropDownButton, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> - </data> - <data name="tsbCheckUpdateN.Size" type="System.Drawing.Size, System.Drawing"> - <value>338, 22</value> - </data> - <data name=">>menuRemoveDuplicateServer.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=">>tsbCheckUpdateN.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=">>toolStripSeparator8.Type" xml:space="preserve"> - <value>System.Windows.Forms.ToolStripSeparator, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> - </data> - <data name=">>toolStripSeparator11.Type" xml:space="preserve"> - <value>System.Windows.Forms.ToolStripSeparator, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> - </data> - <data name=">>tsbCheckUpdateCore.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=">>menuPingServer.Name" xml:space="preserve"> - <value>menuPingServer</value> - </data> - <data name=">>menuScanScreen2.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=">>tsbLanguageDef.Name" xml:space="preserve"> - <value>tsbLanguageDef</value> - </data> - <data name="tsbReload.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64"> - <value> - iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 - YQUAAAAJcEhZcwAADsAAAA7AAWrWiQkAAAE3SURBVFhH7ZaBDQIhDEVvBEdwBDfQDXQER3AD3cARdAPd - QDfSDbQvuSb1AicFjJrwkxcN0FIolOuamv5VE2E+gLaPayWchEcE+hhTXVPhIoQmDcFYbKpoJtwEdX4X - jgIrXfTwnzb6dBw22BaJVdjJmWQs1/SdBRtE0U5cBXW2oSFRO0HtSEeW2FZ1wsq9sjuRdTDVAXnNuWLY - 6JnAl0sYa/Q5q1dhq35ci+Bkq2HJvbZpxGeybAAuw4Fq+cnW1wPITgHFYxvBUw+qHEIL1yq1vDKhVlH3 - NQwF4JkcFRWiUAB7IVW2FFPO3YqlgPd+LJf02e8Fdi3rMdIAcLDuf9UpeT0IS0G/hvhPm305vSl7EQFY - B6zCvozvYGzRM8zEoeg5TPZwDaGvpHQni1yzSxbXPW9q+hF13ROHuJnQcjbhtQAAAABJRU5ErkJggg== -</value> - </data> - <data name="tsbServer.Text" xml:space="preserve"> - <value>Servers</value> - </data> - <data name=">>groupBox2.ZOrder" xml:space="preserve"> - <value>3</value> - </data> - <data name="txtMsgBox.Location" type="System.Drawing.Point, System.Drawing"> - <value>3, 17</value> - </data> - <data name=">>toolSslBlank4.Type" xml:space="preserve"> - <value>System.Windows.Forms.ToolStripStatusLabel, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> - </data> - <data name="lvServers.Dock" type="System.Windows.Forms.DockStyle, System.Windows.Forms"> - <value>Fill</value> - </data> - <data name="toolStripSeparator7.Size" type="System.Drawing.Size, System.Drawing"> - <value>6, 56</value> - </data> - <data name=">>toolStripSeparator9.Type" xml:space="preserve"> - <value>System.Windows.Forms.ToolStripSeparator, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> - </data> - <data name=">>menuRemoveServer.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=">>toolSslPacPortLab.Name" xml:space="preserve"> - <value>toolSslPacPortLab</value> - </data> - <data name="toolSslServerSpeed.Size" type="System.Drawing.Size, System.Drawing"> - <value>200, 17</value> - </data> - <data name=">>menuAddCustomServer.Name" xml:space="preserve"> - <value>menuAddCustomServer</value> - </data> - <data name=">>menuMoveDown.Name" xml:space="preserve"> - <value>menuMoveDown</value> - </data> - <data name="menuAddServers2.Text" xml:space="preserve"> - <value>Import bulk URL from clipboard</value> - </data> - <data name=">>menuGlobalPAC.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="menuGlobal.Size" type="System.Drawing.Size, System.Drawing"> - <value>547, 22</value> - </data> - <data name="menuMoveBottom.Text" xml:space="preserve"> - <value>Moves down to the bottom</value> - </data> - <data name=">>toolSslSocksPort.Type" xml:space="preserve"> - <value>System.Windows.Forms.ToolStripStatusLabel, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> - </data> - <data name="$this.AutoScaleDimensions" type="System.Drawing.SizeF, System.Drawing"> - <value>6, 12</value> - </data> - <data name="tsbHelp.Size" type="System.Drawing.Size, System.Drawing"> - <value>48, 53</value> - </data> - <data name=">>txtMsgBox.Type" xml:space="preserve"> - <value>System.Windows.Forms.TextBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> - </data> - <data name=">>bgwScan.Type" xml:space="preserve"> - <value>System.ComponentModel.BackgroundWorker, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> - </data> - <data name=">>menuGlobalPAC.Name" xml:space="preserve"> - <value>menuGlobalPAC</value> - </data> - <data name="toolSslBlank3.Size" type="System.Drawing.Size, System.Drawing"> - <value>213, 17</value> - </data> - <data name="splitContainer1.Dock" type="System.Windows.Forms.DockStyle, System.Windows.Forms"> - <value>Fill</value> - </data> - <data name="lvServers.Size" type="System.Drawing.Size, System.Drawing"> - <value>638, 331</value> - </data> - <data name=">>toolStripSeparator4.Name" xml:space="preserve"> - <value>toolStripSeparator4</value> - </data> - <data name=">>tsbSubUpdate.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=">>menuPingServer.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=">>toolSslBlank1.Type" xml:space="preserve"> - <value>System.Windows.Forms.ToolStripStatusLabel, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> - </data> - <data name="tsbSubUpdate.Text" xml:space="preserve"> - <value>Update subscription</value> - </data> - <data name="toolSslHttpPortLab.Size" type="System.Drawing.Size, System.Drawing"> - <value>38, 17</value> - </data> - <data name=">>menuAddServers2.Name" xml:space="preserve"> - <value>menuAddServers2</value> - </data> - <data name="txtMsgBox.Dock" type="System.Windows.Forms.DockStyle, System.Windows.Forms"> - <value>Fill</value> - </data> - <data name="menuAddVmessServer.Text" xml:space="preserve"> - <value>Add [VMess] server</value> - </data> - <data name="menuServers.Size" type="System.Drawing.Size, System.Drawing"> - <value>264, 22</value> - </data> - <data name=">>tsbLanguageZhHans.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=">>$this.Type" xml:space="preserve"> - <value>v2rayN.Forms.BaseForm, v2rayN, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null</value> - </data> - <data name=">>tsbAbout.Name" xml:space="preserve"> - <value>tsbAbout</value> - </data> - <data name="toolSslBlank2.Size" type="System.Drawing.Size, System.Drawing"> - <value>213, 17</value> - </data> - <data name=">>splitContainer1.Panel1.ZOrder" xml:space="preserve"> - <value>0</value> - </data> - <data name=">>toolStripSeparator5.Name" xml:space="preserve"> - <value>toolStripSeparator5</value> - </data> - <data name=">>menuExport2ClientConfig.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="txtMsgBox.Multiline" type="System.Boolean, mscorlib"> - <value>True</value> - </data> - <data name="toolStripSeparator9.Size" type="System.Drawing.Size, System.Drawing"> - <value>444, 6</value> - </data> - <data name="qrCodeControl.Size" type="System.Drawing.Size, System.Drawing"> - <value>256, 331</value> - </data> - <data name="$this.Margin" type="System.Windows.Forms.Padding, System.Windows.Forms"> - <value>4, 4, 4, 4</value> - </data> - <data name=">>menuSpeedServer.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="toolStripSeparator8.Size" type="System.Drawing.Size, System.Drawing"> - <value>6, 56</value> - </data> - <data name=">>toolSslBlank2.Type" xml:space="preserve"> - <value>System.Windows.Forms.ToolStripStatusLabel, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> - </data> - <data name=">>groupBox1.Name" xml:space="preserve"> - <value>groupBox1</value> - </data> - <data name="toolSslBlank1.Size" type="System.Drawing.Size, System.Drawing"> - <value>213, 17</value> - </data> - <data name="qrCodeControl.TabIndex" type="System.Int32, mscorlib"> - <value>0</value> - </data> - <data name="tsbSubUpdate.Size" type="System.Drawing.Size, System.Drawing"> - <value>197, 22</value> - </data> - <data name=">>qrCodeControl.Parent" xml:space="preserve"> - <value>splitContainer1.Panel2</value> - </data> - <data name="tsbOptionSetting.Size" type="System.Drawing.Size, System.Drawing"> - <value>52, 53</value> + <data name="menuExport2ClientConfig.Text" xml:space="preserve"> + <value>Export selected server for client configuration</value> </data> <data name="menuExport2ServerConfig.Size" type="System.Drawing.Size, System.Drawing"> <value>447, 22</value> </data> - <data name="toolStripSeparator4.Size" type="System.Drawing.Size, System.Drawing"> - <value>6, 56</value> + <data name="menuExport2ServerConfig.Text" xml:space="preserve"> + <value>Export selected server for server configuration</value> </data> - <data name="menuSpeedServer.Text" xml:space="preserve"> - <value>Test server speed (multiple choice)(Ctrl+T)</value> - </data> - <data name=">>ssMain.Name" xml:space="preserve"> - <value>ssMain</value> - </data> - <data name="tsbOptionSetting.TextImageRelation" type="System.Windows.Forms.TextImageRelation, System.Windows.Forms"> - <value>ImageAboveText</value> - </data> - <data name=">>splitContainer1.Panel1.Parent" xml:space="preserve"> - <value>splitContainer1</value> - </data> - <data name="cmsMain.Size" type="System.Drawing.Size, System.Drawing"> - <value>265, 164</value> - </data> - <data name="menuScanScreen.Size" type="System.Drawing.Size, System.Drawing"> + <data name="menuExport2ShareUrl.Size" type="System.Drawing.Size, System.Drawing"> <value>447, 22</value> </data> - <data name=">>groupBox1.Type" xml:space="preserve"> - <value>System.Windows.Forms.GroupBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> + <data name="menuExport2ShareUrl.Text" xml:space="preserve"> + <value>Batch export share URL to clipboard (multiple choice)</value> </data> - <data name="tsbCheckUpdate.Text" xml:space="preserve"> - <value>Check for updates</value> - </data> - <data name="toolSslHttpPort.Size" type="System.Drawing.Size, System.Drawing"> - <value>0, 17</value> - </data> - <data name=">>toolSslServerSpeed.Name" xml:space="preserve"> - <value>toolSslServerSpeed</value> - </data> - <data name=">>menuGlobal.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=">>panel1.ZOrder" xml:space="preserve"> - <value>4</value> - </data> - <data name="tsbSubSetting.Size" type="System.Drawing.Size, System.Drawing"> - <value>197, 22</value> - </data> - <data name="menuKeep.Text" xml:space="preserve"> - <value>Only open Http proxy, do not automatically configure proxy server (direct mode)</value> - </data> - <data name="menuKeepPAC.Size" type="System.Drawing.Size, System.Drawing"> - <value>547, 22</value> - </data> - <data name="toolSslHttpPortLab.Text" xml:space="preserve"> - <value>HTTP</value> - </data> - <data name="menuRemoveServer.Text" xml:space="preserve"> - <value>Remove selected server (multiple choice) (Delete)</value> - </data> - <data name=">>lvServers.ZOrder" xml:space="preserve"> - <value>0</value> - </data> - <data name="tsbHelp.Text" xml:space="preserve"> - <value>Help</value> - </data> - <data name=">>menuSelectAll.Name" xml:space="preserve"> - <value>menuSelectAll</value> - </data> - <data name=">>groupBox1.Parent" xml:space="preserve"> - <value>$this</value> - </data> - <data name=">>tsbOptionSetting.Type" xml:space="preserve"> - <value>System.Windows.Forms.ToolStripButton, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> - </data> - <data name="txtMsgBox.ScrollBars" type="System.Windows.Forms.ScrollBars, System.Windows.Forms"> - <value>Vertical</value> - </data> - <data name=">>menuAddServers2.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="menuScanScreen.Text" xml:space="preserve"> - <value>Scan QR code on the screen</value> - </data> - <data name="tsbHelp.TextImageRelation" type="System.Windows.Forms.TextImageRelation, System.Windows.Forms"> - <value>ImageAboveText</value> - </data> - <data name=">>menuSetDefaultServer.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=">>menuSetDefaultServer.Name" xml:space="preserve"> - <value>menuSetDefaultServer</value> - </data> - <data name="tsbLanguageZhHans.Size" type="System.Drawing.Size, System.Drawing"> - <value>187, 22</value> - </data> - <data name=">>menuAddServers.Name" xml:space="preserve"> - <value>menuAddServers</value> - </data> - <data name="splitContainer1.Location" type="System.Drawing.Point, System.Drawing"> - <value>3, 17</value> - </data> - <data name="menuSetDefaultServer.Size" type="System.Drawing.Size, System.Drawing"> + <data name="menuExport2SubContent.Size" type="System.Drawing.Size, System.Drawing"> <value>447, 22</value> </data> - <data name=">>menuAddVmessServer.Name" xml:space="preserve"> - <value>menuAddVmessServer</value> + <data name="menuExport2SubContent.Text" xml:space="preserve"> + <value>Batch export subscription content to clipboard (multiple choice)</value> </data> - <data name=">>tsbLanguageZhHans.Name" xml:space="preserve"> - <value>tsbLanguageZhHans</value> - </data> - <data name=">>toolStripSeparator9.Name" xml:space="preserve"> - <value>toolStripSeparator9</value> - </data> - <data name="tsbReload.ImageAlign" type="System.Drawing.ContentAlignment, System.Drawing"> - <value>BottomCenter</value> - </data> - <data name=">>menuExport2ShareUrl.Name" xml:space="preserve"> - <value>menuExport2ShareUrl</value> - </data> - <data name=">>splitContainer1.ZOrder" xml:space="preserve"> - <value>0</value> - </data> - <data name=">>splitContainer1.Panel1.Name" xml:space="preserve"> - <value>splitContainer1.Panel1</value> - </data> - <data name="toolSslSocksPortLab.Text" xml:space="preserve"> - <value>SOCKS5</value> - </data> - <data name="tsbCheckUpdateN.Text" xml:space="preserve"> - <value>Check for updates to v2rayN</value> - </data> - <data name="tsbReload.ImageTransparentColor" type="System.Drawing.Color, System.Drawing"> + <data name="tsbServer.ImageTransparentColor" type="System.Drawing.Color, System.Drawing"> <value>Magenta</value> </data> - <data name="toolSslPacPortLab.Size" type="System.Drawing.Size, System.Drawing"> - <value>31, 17</value> + <data name="tsbServer.Size" type="System.Drawing.Size, System.Drawing"> + <value>64, 53</value> </data> - <data name=">>toolSslBlank3.Type" xml:space="preserve"> - <value>System.Windows.Forms.ToolStripStatusLabel, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> + <data name="tsbServer.Text" xml:space="preserve"> + <value>Servers</value> </data> - <data name="groupBox1.Location" type="System.Drawing.Point, System.Drawing"> - <value>0, 66</value> + <data name="tsbServer.TextImageRelation" type="System.Windows.Forms.TextImageRelation, System.Windows.Forms"> + <value>ImageAboveText</value> </data> - <data name=">>tsbAbout.Type" xml:space="preserve"> - <value>System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> + <data name="cmsLv.Size" type="System.Drawing.Size, System.Drawing"> + <value>448, 490</value> </data> - <data name="menuServers.Text" xml:space="preserve"> - <value>Server</value> - </data> - <data name=">>lvServers.Type" xml:space="preserve"> - <value>v2rayN.Forms.ListViewFlickerFree, v2rayN, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null</value> - </data> - <data name=">>menuAddShadowsocksServer.Name" xml:space="preserve"> - <value>menuAddShadowsocksServer</value> - </data> - <data name=">>txtMsgBox.Name" xml:space="preserve"> - <value>txtMsgBox</value> - </data> - <data name=">>toolSslBlank4.Name" xml:space="preserve"> - <value>toolSslBlank4</value> - </data> - <data name="toolStripSeparator2.Size" type="System.Drawing.Size, System.Drawing"> - <value>261, 6</value> - </data> - <data name=">>bgwPing.Type" xml:space="preserve"> - <value>System.ComponentModel.BackgroundWorker, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> - </data> - <data name="notifyMain.Text" xml:space="preserve"> - <value>v2rayN</value> - </data> - <data name="tsbLanguageDef.Text" xml:space="preserve"> - <value>Language-[English]</value> - </data> - <data name=">>menuSpeedServer.Name" xml:space="preserve"> - <value>menuSpeedServer</value> - </data> - <data name="menuSysAgentMode.Size" type="System.Drawing.Size, System.Drawing"> - <value>264, 22</value> - </data> - <data name=">>menuScanScreen2.Name" xml:space="preserve"> - <value>menuScanScreen2</value> - </data> - <data name=">>qrCodeControl.ZOrder" xml:space="preserve"> - <value>0</value> - </data> - <data name=">>toolSslBlank3.Name" xml:space="preserve"> - <value>toolSslBlank3</value> - </data> - <data name="tsbCheckUpdate.Size" type="System.Drawing.Size, System.Drawing"> - <value>128, 53</value> - </data> - <data name=">>tsbReload.Name" xml:space="preserve"> - <value>tsbReload</value> - </data> - <data name=">>menuSysAgentMode.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=">>toolStripSeparator11.Name" xml:space="preserve"> - <value>toolStripSeparator11</value> + <data name=">>cmsLv.Name" xml:space="preserve"> + <value>cmsLv</value> </data> <data name=">>cmsLv.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="groupBox2.Location" type="System.Drawing.Point, System.Drawing"> - <value>0, 417</value> - </data> - <data name=">>toolSslPacPortLab.Type" xml:space="preserve"> - <value>System.Windows.Forms.ToolStripStatusLabel, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> - </data> - <data name="toolStripSeparator1.Size" type="System.Drawing.Size, System.Drawing"> - <value>444, 6</value> - </data> - <data name=">>toolSslSocksPortLab.Type" xml:space="preserve"> - <value>System.Windows.Forms.ToolStripStatusLabel, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> - </data> - <data name="menuSysAgentEnabled.Size" type="System.Drawing.Size, System.Drawing"> - <value>264, 22</value> - </data> - <data name=">>toolSslPacPort.Name" xml:space="preserve"> - <value>toolSslPacPort</value> - </data> - <data name="tsbOptionSetting.Text" xml:space="preserve"> - <value>Setting</value> - </data> - <data name=">>menuMoveTop.Name" xml:space="preserve"> - <value>menuMoveTop</value> - </data> - <data name=">>menuKeep.Name" xml:space="preserve"> - <value>menuKeep</value> + <data name="lvServers.Dock" type="System.Windows.Forms.DockStyle, System.Windows.Forms"> + <value>Fill</value> </data> <data name="lvServers.Items" mimetype="application/x-microsoft.net.object.binary.base64"> <value> @@ -769,458 +307,566 @@ ZW0uRHJhd2luZy5HcmFwaGljc1VuaXQBAAAAB3ZhbHVlX18ACAMAAAADAAAACw== </value> </data> - <data name=">>menuScanScreen.Name" xml:space="preserve"> - <value>menuScanScreen</value> + <data name="lvServers.Location" type="System.Drawing.Point, System.Drawing"> + <value>0, 0</value> </data> - <data name=">>cmsLv.Name" xml:space="preserve"> - <value>cmsLv</value> + <data name="lvServers.Size" type="System.Drawing.Size, System.Drawing"> + <value>638, 331</value> </data> - <data name=">>toolStripSeparator12.Name" xml:space="preserve"> - <value>toolStripSeparator12</value> + <assembly alias="mscorlib" name="mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" /> + <data name="lvServers.TabIndex" type="System.Int32, mscorlib"> + <value>1</value> </data> - <data name="toolStripSeparator5.Size" type="System.Drawing.Size, System.Drawing"> - <value>6, 56</value> + <data name=">>lvServers.Name" xml:space="preserve"> + <value>lvServers</value> </data> - <data name=">>toolSslBlank1.Name" xml:space="preserve"> - <value>toolSslBlank1</value> + <data name=">>lvServers.Type" xml:space="preserve"> + <value>v2rayN.Forms.ListViewFlickerFree, v2rayN, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null</value> </data> - <data name=">>tsbSubUpdate.Name" xml:space="preserve"> - <value>tsbSubUpdate</value> + <data name=">>lvServers.Parent" xml:space="preserve"> + <value>splitContainer1.Panel1</value> </data> - <data name=">>tsMain.Name" xml:space="preserve"> - <value>tsMain</value> + <data name=">>lvServers.ZOrder" xml:space="preserve"> + <value>0</value> </data> - <data name="splitContainer1.TabIndex" type="System.Int32, mscorlib"> - <value>2</value> + <data name=">>splitContainer1.Panel1.Name" xml:space="preserve"> + <value>splitContainer1.Panel1</value> </data> - <data name="toolSslServerSpeed.Text" xml:space="preserve"> - <value>SPEED</value> + <data name=">>splitContainer1.Panel1.Type" xml:space="preserve"> + <value>System.Windows.Forms.SplitterPanel, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> </data> - <data name="tsbPromotion.Text" xml:space="preserve"> - <value> Promotion </value> + <data name=">>splitContainer1.Panel1.Parent" xml:space="preserve"> + <value>splitContainer1</value> </data> - <data name=">>menuSysAgentMode.Name" xml:space="preserve"> - <value>menuSysAgentMode</value> + <data name=">>splitContainer1.Panel1.ZOrder" xml:space="preserve"> + <value>0</value> </data> - <data name="splitContainer1.Size" type="System.Drawing.Size, System.Drawing"> - <value>898, 331</value> + <data name="qrCodeControl.Dock" type="System.Windows.Forms.DockStyle, System.Windows.Forms"> + <value>Fill</value> </data> - <data name="tsbClose.TextImageRelation" type="System.Windows.Forms.TextImageRelation, System.Windows.Forms"> - <value>ImageAboveText</value> + <data name="qrCodeControl.Location" type="System.Drawing.Point, System.Drawing"> + <value>0, 0</value> </data> - <data name=">>menuAddShadowsocksServer.Type" xml:space="preserve"> - <value>System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> + <data name="qrCodeControl.Size" type="System.Drawing.Size, System.Drawing"> + <value>256, 331</value> + </data> + <data name="qrCodeControl.TabIndex" type="System.Int32, mscorlib"> + <value>0</value> + </data> + <data name=">>qrCodeControl.Name" xml:space="preserve"> + <value>qrCodeControl</value> + </data> + <data name=">>qrCodeControl.Type" xml:space="preserve"> + <value>v2rayN.Forms.QRCodeControl, v2rayN, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null</value> + </data> + <data name=">>qrCodeControl.Parent" xml:space="preserve"> + <value>splitContainer1.Panel2</value> + </data> + <data name=">>qrCodeControl.ZOrder" xml:space="preserve"> + <value>0</value> + </data> + <data name=">>splitContainer1.Panel2.Name" xml:space="preserve"> + <value>splitContainer1.Panel2</value> + </data> + <data name=">>splitContainer1.Panel2.Type" xml:space="preserve"> + <value>System.Windows.Forms.SplitterPanel, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> + </data> + <data name=">>splitContainer1.Panel2.Parent" xml:space="preserve"> + <value>splitContainer1</value> </data> <data name=">>splitContainer1.Panel2.ZOrder" xml:space="preserve"> <value>1</value> </data> + <data name="splitContainer1.Panel2MinSize" type="System.Int32, mscorlib"> + <value>100</value> + </data> + <data name="splitContainer1.Size" type="System.Drawing.Size, System.Drawing"> + <value>898, 331</value> + </data> + <data name="splitContainer1.SplitterDistance" type="System.Int32, mscorlib"> + <value>638</value> + </data> + <data name="splitContainer1.TabIndex" type="System.Int32, mscorlib"> + <value>2</value> + </data> + <data name=">>splitContainer1.Name" xml:space="preserve"> + <value>splitContainer1</value> + </data> + <data name=">>splitContainer1.Type" xml:space="preserve"> + <value>System.Windows.Forms.SplitContainer, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> + </data> + <data name=">>splitContainer1.Parent" xml:space="preserve"> + <value>groupBox1</value> + </data> + <data name=">>splitContainer1.ZOrder" xml:space="preserve"> + <value>0</value> + </data> + <metadata name="notifyMain.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"> + <value>17, 17</value> + </metadata> + <metadata name="cmsMain.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"> + <value>137, 17</value> + </metadata> + <data name="cmsMain.ImeMode" type="System.Windows.Forms.ImeMode, System.Windows.Forms"> + <value>NoControl</value> + </data> + <data name="cmsMain.Size" type="System.Drawing.Size, System.Drawing"> + <value>265, 164</value> + </data> <data name=">>cmsMain.Name" xml:space="preserve"> <value>cmsMain</value> </data> - <data name="menuScanScreen2.Size" type="System.Drawing.Size, System.Drawing"> - <value>264, 22</value> + <data name=">>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=">>menuServers.Name" xml:space="preserve"> - <value>menuServers</value> - </data> - <data name=">>groupBox2.Parent" xml:space="preserve"> - <value>$this</value> - </data> - <data name=">>toolStripSeparator12.Type" xml:space="preserve"> - <value>System.Windows.Forms.ToolStripSeparator, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> - </data> - <data name=">>tsbClose.Name" xml:space="preserve"> - <value>tsbClose</value> - </data> - <data name=">>ssMain.ZOrder" xml:space="preserve"> - <value>1</value> - </data> - <data name=">>toolSslHttpPort.Type" xml:space="preserve"> - <value>System.Windows.Forms.ToolStripStatusLabel, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> - </data> - <data name="toolSslSocksPort.Size" type="System.Drawing.Size, System.Drawing"> - <value>0, 17</value> - </data> - <data name="ssMain.Location" type="System.Drawing.Point, System.Drawing"> - <value>3, 151</value> + <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="tsbSub.Text" xml:space="preserve"> - <value>Subscription</value> - </data> - <data name="panel1.Size" type="System.Drawing.Size, System.Drawing"> - <value>904, 10</value> - </data> - <data name=">>menuKeepPAC.Name" xml:space="preserve"> - <value>menuKeepPAC</value> - </data> - <data name=">>txtMsgBox.ZOrder" xml:space="preserve"> - <value>0</value> - </data> - <data name=">>toolStripSeparator8.Name" xml:space="preserve"> - <value>toolStripSeparator8</value> - </data> - <data name="tsbPromotion.Size" type="System.Drawing.Size, System.Drawing"> - <value>89, 53</value> - </data> - <data name=">>menuMoveUp.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="menuPingServer.Text" xml:space="preserve"> - <value>Test server delay (multiple choice)(Ctrl+P)</value> - </data> - <data name=">>toolSslPacPort.Type" xml:space="preserve"> - <value>System.Windows.Forms.ToolStripStatusLabel, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> - </data> - <data name=">>menuExport2ShareUrl.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="menuExport2SubContent.Size" type="System.Drawing.Size, System.Drawing"> - <value>447, 22</value> - </data> - <data name="menuExit.Size" type="System.Drawing.Size, System.Drawing"> + <data name="menuSysAgentEnabled.Size" type="System.Drawing.Size, System.Drawing"> <value>264, 22</value> </data> - <data name=">>menuSysAgentEnabled.Name" xml:space="preserve"> - <value>menuSysAgentEnabled</value> - </data> - <data name=">>tsbHelp.Type" xml:space="preserve"> - <value>System.Windows.Forms.ToolStripDropDownButton, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> - </data> <data name="menuSysAgentEnabled.Text" xml:space="preserve"> <value>Enable Http proxy</value> </data> - <data name=">>menuMoveDown.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="tsbSubSetting.Text" xml:space="preserve"> - <value>Subscription settings</value> - </data> - <data name=">>menuCopyPACUrl.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=">>menuCopyServer.Name" xml:space="preserve"> - <value>menuCopyServer</value> + <data name="menuSysAgentMode.Size" type="System.Drawing.Size, System.Drawing"> + <value>264, 22</value> </data> <data name="menuSysAgentMode.Text" xml:space="preserve"> <value>Http proxy mode</value> </data> + <data name="menuGlobal.Size" type="System.Drawing.Size, System.Drawing"> + <value>547, 22</value> + </data> + <data name="menuGlobal.Text" xml:space="preserve"> + <value>Open Http proxy and automatically configure proxy server (global mode)</value> + </data> <data name="menuGlobalPAC.Size" type="System.Drawing.Size, System.Drawing"> <value>547, 22</value> </data> + <data name="menuGlobalPAC.Text" xml:space="preserve"> + <value>Open PAC and automatically configure PAC (PAC mode)</value> + </data> + <data name="menuKeep.Size" type="System.Drawing.Size, System.Drawing"> + <value>547, 22</value> + </data> + <data name="menuKeep.Text" xml:space="preserve"> + <value>Only open Http proxy, do not automatically configure proxy server (direct mode)</value> + </data> + <data name="menuKeepPAC.Size" type="System.Drawing.Size, System.Drawing"> + <value>547, 22</value> + </data> <data name="menuKeepPAC.Text" xml:space="preserve"> <value>Only open PAC, do not automatically configure PAC</value> </data> - <data name="menuAddShadowsocksServer.Size" type="System.Drawing.Size, System.Drawing"> - <value>447, 22</value> - </data> - <data name=">>$this.Name" xml:space="preserve"> - <value>MainForm</value> - </data> - <data name=">>menuExit.Name" xml:space="preserve"> - <value>menuExit</value> - </data> - <data name="toolSslServerSpeed.AutoSize" type="System.Boolean, mscorlib"> - <value>False</value> - </data> - <data name=">>menuExport2ServerConfig.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="groupBox1.Text" xml:space="preserve"> - <value>Server list</value> - </data> - <data name=">>toolSslHttpPortLab.Type" xml:space="preserve"> - <value>System.Windows.Forms.ToolStripStatusLabel, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> - </data> - <data name=">>lvServers.Name" xml:space="preserve"> - <value>lvServers</value> - </data> - <data name=">>lvServers.Parent" xml:space="preserve"> - <value>splitContainer1.Panel1</value> - </data> - <data name="tsbSub.ImageTransparentColor" type="System.Drawing.Color, System.Drawing"> - <value>Magenta</value> - </data> - <data name=">>toolSslServerSpeed.Type" xml:space="preserve"> - <value>System.Windows.Forms.ToolStripStatusLabel, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> - </data> - <data name=">>menuGlobal.Name" xml:space="preserve"> - <value>menuGlobal</value> - </data> - <data name=">>tsbPromotion.Type" xml:space="preserve"> - <value>System.Windows.Forms.ToolStripButton, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> - </data> - <data name="panel1.TabIndex" type="System.Int32, mscorlib"> - <value>5</value> - </data> - <data name="tsbCheckUpdatePACList.Text" xml:space="preserve"> - <value>Check for updated PAC (requires Http proxy)</value> - </data> - <data name="menuMoveUp.Size" type="System.Drawing.Size, System.Drawing"> - <value>447, 22</value> - </data> - <data name="tsbAbout.Text" xml:space="preserve"> - <value>About</value> - </data> - <data name=">>tsbCheckClearPACList.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=">>toolStripSeparator2.Type" xml:space="preserve"> - <value>System.Windows.Forms.ToolStripSeparator, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> - </data> - <data name="menuSelectAll.Text" xml:space="preserve"> - <value>Select All (Ctrl+A)</value> - </data> - <data name="groupBox2.Text" xml:space="preserve"> - <value>Information</value> - </data> - <data name="txtMsgBox.TabIndex" type="System.Int32, mscorlib"> - <value>2</value> - </data> - <data name=">>tsbClose.Type" xml:space="preserve"> - <value>System.Windows.Forms.ToolStripButton, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> - </data> - <data name=">>tsbCheckUpdateCore.Name" xml:space="preserve"> - <value>tsbCheckUpdateCore</value> - </data> - <data name="menuPingServer.Size" type="System.Drawing.Size, System.Drawing"> - <value>447, 22</value> - </data> - <data name="toolSslPacPortLab.Text" xml:space="preserve"> - <value>PAC</value> - </data> - <data name="menuRemoveDuplicateServer.Size" type="System.Drawing.Size, System.Drawing"> - <value>447, 22</value> - </data> - <data name=">>menuRemoveServer.Name" xml:space="preserve"> - <value>menuRemoveServer</value> - </data> - <data name=">>toolStripSeparator10.Type" xml:space="preserve"> - <value>System.Windows.Forms.ToolStripSeparator, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> - </data> - <data name="txtMsgBox.Size" type="System.Drawing.Size, System.Drawing"> - <value>898, 134</value> - </data> - <data name=">>toolStripSeparator3.Type" xml:space="preserve"> - <value>System.Windows.Forms.ToolStripSeparator, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> - </data> - <data name=">>notifyMain.Type" xml:space="preserve"> - <value>System.Windows.Forms.NotifyIcon, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> - </data> - <data name=">>tsbLanguageDef.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="menuMoveDown.Text" xml:space="preserve"> - <value>Down (D)</value> - </data> - <data name=">>menuCopyPACUrl.Name" xml:space="preserve"> - <value>menuCopyPACUrl</value> - </data> - <data name=">>splitContainer1.Parent" xml:space="preserve"> - <value>groupBox1</value> - </data> - <data name="menuSelectAll.Size" type="System.Drawing.Size, System.Drawing"> - <value>447, 22</value> - </data> - <data name=">>tsbSub.Name" xml:space="preserve"> - <value>tsbSub</value> - </data> - <data name="tsbCheckUpdate.ImageTransparentColor" type="System.Drawing.Color, System.Drawing"> - <value>Magenta</value> - </data> - <data name="tsbReload.TextImageRelation" type="System.Windows.Forms.TextImageRelation, System.Windows.Forms"> - <value>ImageAboveText</value> - </data> - <data name="menuCopyServer.Text" xml:space="preserve"> - <value>Copy selected server</value> - </data> - <data name="tsMain.Location" type="System.Drawing.Point, System.Drawing"> - <value>0, 0</value> - </data> - <data name=">>tsbCheckUpdate.Type" xml:space="preserve"> - <value>System.Windows.Forms.ToolStripDropDownButton, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> - </data> - <data name=">>splitContainer1.Panel1.Type" xml:space="preserve"> - <value>System.Windows.Forms.SplitterPanel, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> - </data> - <data name=">>groupBox2.Name" xml:space="preserve"> - <value>groupBox2</value> - </data> - <data name=">>tsbCheckUpdate.Name" xml:space="preserve"> - <value>tsbCheckUpdate</value> - </data> - <data name=">>menuAddCustomServer.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="menuExport2ShareUrl.Text" xml:space="preserve"> - <value>Batch export share URL to clipboard (multiple choice)</value> - </data> - <data name="menuMoveDown.Size" type="System.Drawing.Size, System.Drawing"> - <value>447, 22</value> - </data> - <data name=">>qrCodeControl.Type" xml:space="preserve"> - <value>v2rayN.Forms.QRCodeControl, v2rayN, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null</value> - </data> - <data name=">>tsMain.Type" xml:space="preserve"> - <value>System.Windows.Forms.ToolStrip, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> - </data> - <data name="tsbCheckClearPACList.Text" xml:space="preserve"> - <value>Simplify PAC (please set Core route)</value> - </data> - <data name=">>menuKeepPAC.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=">>panel1.Parent" xml:space="preserve"> - <value>$this</value> - </data> - <data name="qrCodeControl.Location" type="System.Drawing.Point, System.Drawing"> - <value>0, 0</value> - </data> - <data name=">>qrCodeControl.Name" xml:space="preserve"> - <value>qrCodeControl</value> - </data> - <data name="menuCopyPACUrl.Size" type="System.Drawing.Size, System.Drawing"> + <data name="menuServers.Size" type="System.Drawing.Size, System.Drawing"> <value>264, 22</value> </data> - <data name=">>tsbServer.Name" xml:space="preserve"> - <value>tsbServer</value> + <data name="menuServers.Text" xml:space="preserve"> + <value>Server</value> </data> - <data name="lvServers.TabIndex" type="System.Int32, mscorlib"> - <value>1</value> + <data name="menuAddServers2.Size" type="System.Drawing.Size, System.Drawing"> + <value>264, 22</value> </data> - <data name=">>toolStripSeparator6.Type" xml:space="preserve"> - <value>System.Windows.Forms.ToolStripSeparator, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> + <data name="menuAddServers2.Text" xml:space="preserve"> + <value>Import bulk URL from clipboard</value> </data> - <data name=">>panel1.Type" xml:space="preserve"> - <value>System.Windows.Forms.Panel, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> - </data> - <data name=">>tsbPromotion.Name" xml:space="preserve"> - <value>tsbPromotion</value> - </data> - <data name="tsbServer.TextImageRelation" type="System.Windows.Forms.TextImageRelation, System.Windows.Forms"> - <value>ImageAboveText</value> - </data> - <data name=">>splitContainer1.Panel2.Name" xml:space="preserve"> - <value>splitContainer1.Panel2</value> - </data> - <data name="tsbCheckUpdateCore.Size" type="System.Drawing.Size, System.Drawing"> - <value>338, 22</value> - </data> - <data name="toolStripSeparator12.Size" type="System.Drawing.Size, System.Drawing"> - <value>184, 6</value> - </data> - <data name=">>tsMain.Parent" xml:space="preserve"> - <value>$this</value> - </data> - <data name="menuMoveUp.Text" xml:space="preserve"> - <value>Upward (U)</value> - </data> - <data name=">>menuSelectAll.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=">>notifyMain.Name" xml:space="preserve"> - <value>notifyMain</value> - </data> - <data name="menuGlobal.Text" xml:space="preserve"> - <value>Open Http proxy and automatically configure proxy server (global mode)</value> - </data> - <data name="tsbHelp.ImageTransparentColor" type="System.Drawing.Color, System.Drawing"> - <value>Magenta</value> - </data> - <data name=">>groupBox1.ZOrder" xml:space="preserve"> - <value>2</value> - </data> - <data name=">>tsbOptionSetting.Name" xml:space="preserve"> - <value>tsbOptionSetting</value> - </data> - <data name=">>toolStripSeparator7.Type" xml:space="preserve"> - <value>System.Windows.Forms.ToolStripSeparator, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> - </data> - <data name=">>menuAddSocksServer.Name" xml:space="preserve"> - <value>menuAddSocksServer</value> - </data> - <data name="tsbServer.Size" type="System.Drawing.Size, System.Drawing"> - <value>64, 53</value> - </data> - <data name="tsbClose.ImageTransparentColor" type="System.Drawing.Color, System.Drawing"> - <value>Magenta</value> - </data> - <data name="ssMain.Size" type="System.Drawing.Size, System.Drawing"> - <value>898, 22</value> - </data> - <data name="menuGlobalPAC.Text" xml:space="preserve"> - <value>Open PAC and automatically configure PAC (PAC mode)</value> - </data> - <data name=">>tsMain.ZOrder" xml:space="preserve"> - <value>5</value> - </data> - <data name="menuAddVmessServer.Size" type="System.Drawing.Size, System.Drawing"> - <value>447, 22</value> - </data> - <data name="menuSetDefaultServer.Text" xml:space="preserve"> - <value>Set as active server (Enter)</value> - </data> - <data name=">>bgwPing.Name" xml:space="preserve"> - <value>bgwPing</value> - </data> - <data name="splitContainer1.SplitterDistance" type="System.Int32, mscorlib"> - <value>638</value> - </data> - <data name="toolStripSeparator10.Size" type="System.Drawing.Size, System.Drawing"> - <value>6, 56</value> - </data> - <data name="menuAddShadowsocksServer.Text" xml:space="preserve"> - <value>Add [Shadowsocks] server</value> - </data> - <data name=">>splitContainer1.Name" xml:space="preserve"> - <value>splitContainer1</value> - </data> - <data name="$this.ClientSize" type="System.Drawing.Size, System.Drawing"> - <value>904, 593</value> - </data> - <data name="menuKeep.Size" type="System.Drawing.Size, System.Drawing"> - <value>547, 22</value> - </data> - <data name=">>tsbCheckClearPACList.Name" xml:space="preserve"> - <value>tsbCheckClearPACList</value> + <data name="menuScanScreen2.Size" type="System.Drawing.Size, System.Drawing"> + <value>264, 22</value> </data> <data name="menuScanScreen2.Text" xml:space="preserve"> <value>Scan QR code on the screen</value> </data> - <data name=">>toolSslSocksPort.Name" xml:space="preserve"> - <value>toolSslSocksPort</value> + <data name="menuCopyPACUrl.Size" type="System.Drawing.Size, System.Drawing"> + <value>264, 22</value> </data> - <data name=">>toolStripSeparator10.Name" xml:space="preserve"> - <value>toolStripSeparator10</value> + <data name="menuCopyPACUrl.Text" xml:space="preserve"> + <value>Copy local PAC URL</value> </data> - <data name=">>toolSslHttpPortLab.Name" xml:space="preserve"> - <value>toolSslHttpPortLab</value> + <data name="toolStripSeparator2.Size" type="System.Drawing.Size, System.Drawing"> + <value>261, 6</value> </data> - <data name=">>menuMoveBottom.Name" xml:space="preserve"> - <value>menuMoveBottom</value> + <data name="menuExit.Size" type="System.Drawing.Size, System.Drawing"> + <value>264, 22</value> </data> - <data name="tsbCheckUpdatePACList.Size" type="System.Drawing.Size, System.Drawing"> - <value>338, 22</value> + <data name="menuExit.Text" xml:space="preserve"> + <value>Exit</value> + </data> + <metadata name="bgwPing.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"> + <value>232, 17</value> + </metadata> + <metadata name="bgwScan.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"> + <value>498, 17</value> + </metadata> + <data name="groupBox1.Dock" type="System.Windows.Forms.DockStyle, System.Windows.Forms"> + <value>Fill</value> + </data> + <data name="groupBox1.Location" type="System.Drawing.Point, System.Drawing"> + <value>0, 66</value> + </data> + <data name="groupBox1.Size" type="System.Drawing.Size, System.Drawing"> + <value>904, 351</value> + </data> + <data name="groupBox1.TabIndex" type="System.Int32, mscorlib"> + <value>2</value> + </data> + <data name="groupBox1.Text" xml:space="preserve"> + <value>Server list</value> + </data> + <data name=">>groupBox1.Name" xml:space="preserve"> + <value>groupBox1</value> + </data> + <data name=">>groupBox1.Type" xml:space="preserve"> + <value>System.Windows.Forms.GroupBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> + </data> + <data name=">>groupBox1.Parent" xml:space="preserve"> + <value>$this</value> + </data> + <data name=">>groupBox1.ZOrder" xml:space="preserve"> + <value>2</value> + </data> + <data name="txtMsgBox.Dock" type="System.Windows.Forms.DockStyle, System.Windows.Forms"> + <value>Fill</value> + </data> + <data name="txtMsgBox.Location" type="System.Drawing.Point, System.Drawing"> + <value>3, 17</value> + </data> + <data name="txtMsgBox.MaxLength" type="System.Int32, mscorlib"> + <value>0</value> + </data> + <data name="txtMsgBox.Multiline" type="System.Boolean, mscorlib"> + <value>True</value> + </data> + <data name="txtMsgBox.ScrollBars" type="System.Windows.Forms.ScrollBars, System.Windows.Forms"> + <value>Vertical</value> + </data> + <data name="txtMsgBox.Size" type="System.Drawing.Size, System.Drawing"> + <value>898, 134</value> + </data> + <data name="txtMsgBox.TabIndex" type="System.Int32, mscorlib"> + <value>2</value> + </data> + <data name=">>txtMsgBox.Name" xml:space="preserve"> + <value>txtMsgBox</value> + </data> + <data name=">>txtMsgBox.Type" xml:space="preserve"> + <value>System.Windows.Forms.TextBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> + </data> + <data name=">>txtMsgBox.Parent" xml:space="preserve"> + <value>groupBox2</value> + </data> + <data name=">>txtMsgBox.ZOrder" xml:space="preserve"> + <value>0</value> + </data> + <metadata name="ssMain.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"> + <value>603, 17</value> + </metadata> + <data name="toolSslSocksPortLab.Size" type="System.Drawing.Size, System.Drawing"> + <value>55, 17</value> + </data> + <data name="toolSslSocksPortLab.Text" xml:space="preserve"> + <value>SOCKS5</value> + </data> + <data name="toolSslSocksPort.Size" type="System.Drawing.Size, System.Drawing"> + <value>0, 17</value> + </data> + <data name="toolSslBlank1.Size" type="System.Drawing.Size, System.Drawing"> + <value>176, 17</value> + </data> + <data name="toolSslHttpPortLab.Size" type="System.Drawing.Size, System.Drawing"> + <value>38, 17</value> + </data> + <data name="toolSslHttpPortLab.Text" xml:space="preserve"> + <value>HTTP</value> + </data> + <data name="toolSslHttpPort.Size" type="System.Drawing.Size, System.Drawing"> + <value>0, 17</value> + </data> + <data name="toolSslBlank2.Size" type="System.Drawing.Size, System.Drawing"> + <value>176, 17</value> + </data> + <data name="toolSslPacPortLab.Size" type="System.Drawing.Size, System.Drawing"> + <value>31, 17</value> + </data> + <data name="toolSslPacPortLab.Text" xml:space="preserve"> + <value>PAC</value> + </data> + <data name="toolSslPacPort.Size" type="System.Drawing.Size, System.Drawing"> + <value>0, 17</value> + </data> + <data name="toolSslBlank3.Size" type="System.Drawing.Size, System.Drawing"> + <value>176, 17</value> + </data> + <data name="toolSslServerSpeed.AutoSize" type="System.Boolean, mscorlib"> + <value>False</value> + </data> + <data name="toolSslServerSpeed.RightToLeft" type="System.Windows.Forms.RightToLeft, System.Windows.Forms"> + <value>No</value> + </data> + <data name="toolSslServerSpeed.Size" type="System.Drawing.Size, System.Drawing"> + <value>200, 17</value> + </data> + <data name="toolSslServerSpeed.Text" xml:space="preserve"> + <value>SPEED Disabled</value> + </data> + <data name="toolSslBlank4.Size" type="System.Drawing.Size, System.Drawing"> + <value>0, 17</value> + </data> + <data name="ssMain.Location" type="System.Drawing.Point, System.Drawing"> + <value>3, 151</value> + </data> + <data name="ssMain.Size" type="System.Drawing.Size, System.Drawing"> + <value>898, 22</value> + </data> + <data name="ssMain.TabIndex" type="System.Int32, mscorlib"> + <value>7</value> + </data> + <data name="ssMain.Text" xml:space="preserve"> + <value>statusStrip1</value> + </data> + <data name=">>ssMain.Name" xml:space="preserve"> + <value>ssMain</value> + </data> + <data name=">>ssMain.Type" xml:space="preserve"> + <value>System.Windows.Forms.StatusStrip, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> + </data> + <data name=">>ssMain.Parent" xml:space="preserve"> + <value>groupBox2</value> + </data> + <data name=">>ssMain.ZOrder" xml:space="preserve"> + <value>1</value> + </data> + <data name="groupBox2.Dock" type="System.Windows.Forms.DockStyle, System.Windows.Forms"> + <value>Bottom</value> + </data> + <data name="groupBox2.Location" type="System.Drawing.Point, System.Drawing"> + <value>0, 417</value> + </data> + <data name="groupBox2.Size" type="System.Drawing.Size, System.Drawing"> + <value>904, 176</value> + </data> + <data name="groupBox2.TabIndex" type="System.Int32, mscorlib"> + <value>4</value> + </data> + <data name="groupBox2.Text" xml:space="preserve"> + <value>Information</value> + </data> + <data name=">>groupBox2.Name" xml:space="preserve"> + <value>groupBox2</value> + </data> + <data name=">>groupBox2.Type" xml:space="preserve"> + <value>System.Windows.Forms.GroupBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> + </data> + <data name=">>groupBox2.Parent" xml:space="preserve"> + <value>$this</value> + </data> + <data name=">>groupBox2.ZOrder" xml:space="preserve"> + <value>3</value> + </data> + <data name="panel1.Dock" type="System.Windows.Forms.DockStyle, System.Windows.Forms"> + <value>Top</value> + </data> + <data name="panel1.Location" type="System.Drawing.Point, System.Drawing"> + <value>0, 56</value> + </data> + <data name="panel1.Size" type="System.Drawing.Size, System.Drawing"> + <value>904, 10</value> + </data> + <data name="panel1.TabIndex" type="System.Int32, mscorlib"> + <value>5</value> + </data> + <data name=">>panel1.Name" xml:space="preserve"> + <value>panel1</value> + </data> + <data name=">>panel1.Type" xml:space="preserve"> + <value>System.Windows.Forms.Panel, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> + </data> + <data name=">>panel1.Parent" xml:space="preserve"> + <value>$this</value> + </data> + <data name=">>panel1.ZOrder" xml:space="preserve"> + <value>4</value> + </data> + <metadata name="tsMain.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"> + <value>409, 17</value> + </metadata> + <data name="tsMain.Location" type="System.Drawing.Point, System.Drawing"> + <value>0, 0</value> + </data> + <data name="tsMain.Size" type="System.Drawing.Size, System.Drawing"> + <value>904, 56</value> </data> <data name="tsMain.TabIndex" type="System.Int32, mscorlib"> <value>6</value> </data> - <data name="tsbServer.ImageTransparentColor" type="System.Drawing.Color, System.Drawing"> + <data name=">>tsMain.Name" xml:space="preserve"> + <value>tsMain</value> + </data> + <data name=">>tsMain.Type" xml:space="preserve"> + <value>System.Windows.Forms.ToolStrip, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> + </data> + <data name=">>tsMain.Parent" xml:space="preserve"> + <value>$this</value> + </data> + <data name=">>tsMain.ZOrder" xml:space="preserve"> + <value>5</value> + </data> + <data name="toolStripSeparator4.Size" type="System.Drawing.Size, System.Drawing"> + <value>6, 56</value> + </data> + <data name="tsbSub.ImageTransparentColor" type="System.Drawing.Color, System.Drawing"> <value>Magenta</value> </data> - <data name=">>menuExport2ClientConfig.Name" xml:space="preserve"> - <value>menuExport2ClientConfig</value> + <data name="tsbSub.Size" type="System.Drawing.Size, System.Drawing"> + <value>93, 53</value> + </data> + <data name="tsbSub.Text" xml:space="preserve"> + <value>Subscription</value> + </data> + <data name="tsbSub.TextImageRelation" type="System.Windows.Forms.TextImageRelation, System.Windows.Forms"> + <value>ImageAboveText</value> + </data> + <data name="tsbSubSetting.Size" type="System.Drawing.Size, System.Drawing"> + <value>197, 22</value> + </data> + <data name="tsbSubSetting.Text" xml:space="preserve"> + <value>Subscription settings</value> + </data> + <data name="tsbSubUpdate.Size" type="System.Drawing.Size, System.Drawing"> + <value>197, 22</value> + </data> + <data name="tsbSubUpdate.Text" xml:space="preserve"> + <value>Update subscription</value> + </data> + <data name="toolStripSeparator8.Size" type="System.Drawing.Size, System.Drawing"> + <value>6, 56</value> + </data> + <data name="tsbOptionSetting.ImageTransparentColor" type="System.Drawing.Color, System.Drawing"> + <value>Magenta</value> + </data> + <data name="tsbOptionSetting.Size" type="System.Drawing.Size, System.Drawing"> + <value>52, 53</value> + </data> + <data name="tsbOptionSetting.Text" xml:space="preserve"> + <value>Setting</value> + </data> + <data name="tsbOptionSetting.TextImageRelation" type="System.Windows.Forms.TextImageRelation, System.Windows.Forms"> + <value>ImageAboveText</value> + </data> + <data name="toolStripSeparator5.Size" type="System.Drawing.Size, System.Drawing"> + <value>6, 56</value> + </data> + <data name="tsbReload.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64"> + <value> + iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 + YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAE3SURBVFhH7ZaBDQIhDEVvBEdwBDfQDXQER3AD3cARdAPd + QDfSDbQvuSb1AicFjJrwkxcN0FIolOuamv5VE2E+gLaPayWchEcE+hhTXVPhIoQmDcFYbKpoJtwEdX4X + jgIrXfTwnzb6dBw22BaJVdjJmWQs1/SdBRtE0U5cBXW2oSFRO0HtSEeW2FZ1wsq9sjuRdTDVAXnNuWLY + 6JnAl0sYa/Q5q1dhq35ci+Bkq2HJvbZpxGeybAAuw4Fq+cnW1wPITgHFYxvBUw+qHEIL1yq1vDKhVlH3 + NQwF4JkcFRWiUAB7IVW2FFPO3YqlgPd+LJf02e8Fdi3rMdIAcLDuf9UpeT0IS0G/hvhPm305vSl7EQFY + B6zCvozvYGzRM8zEoeg5TPZwDaGvpHQni1yzSxbXPW9q+hF13ROHuJnQcjbhtQAAAABJRU5ErkJggg== +</value> + </data> + <data name="tsbReload.ImageAlign" type="System.Drawing.ContentAlignment, System.Drawing"> + <value>BottomCenter</value> + </data> + <data name="tsbReload.ImageTransparentColor" type="System.Drawing.Color, System.Drawing"> + <value>Magenta</value> + </data> + <data name="tsbReload.Size" type="System.Drawing.Size, System.Drawing"> + <value>97, 53</value> + </data> + <data name="tsbReload.Text" xml:space="preserve"> + <value>Restart service</value> + </data> + <data name="tsbReload.TextImageRelation" type="System.Windows.Forms.TextImageRelation, System.Windows.Forms"> + <value>ImageAboveText</value> + </data> + <data name="toolStripSeparator7.Size" type="System.Drawing.Size, System.Drawing"> + <value>6, 56</value> + </data> + <data name="tsbCheckUpdate.ImageTransparentColor" type="System.Drawing.Color, System.Drawing"> + <value>Magenta</value> + </data> + <data name="tsbCheckUpdate.Size" type="System.Drawing.Size, System.Drawing"> + <value>128, 53</value> + </data> + <data name="tsbCheckUpdate.Text" xml:space="preserve"> + <value>Check for updates</value> + </data> + <data name="tsbCheckUpdate.TextImageRelation" type="System.Windows.Forms.TextImageRelation, System.Windows.Forms"> + <value>ImageAboveText</value> + </data> + <data name="tsbCheckUpdateN.Size" type="System.Drawing.Size, System.Drawing"> + <value>338, 22</value> + </data> + <data name="tsbCheckUpdateN.Text" xml:space="preserve"> + <value>Check for updates to v2rayN</value> + </data> + <data name="tsbCheckUpdateCore.Size" type="System.Drawing.Size, System.Drawing"> + <value>338, 22</value> + </data> + <data name="tsbCheckUpdateCore.Text" xml:space="preserve"> + <value>Check for updates to v2rayCore</value> + </data> + <data name="tsbCheckUpdatePACList.Size" type="System.Drawing.Size, System.Drawing"> + <value>338, 22</value> + </data> + <data name="tsbCheckUpdatePACList.Text" xml:space="preserve"> + <value>Check for updated PAC (requires Http proxy)</value> + </data> + <data name="tsbCheckClearPACList.Size" type="System.Drawing.Size, System.Drawing"> + <value>338, 22</value> + </data> + <data name="tsbCheckClearPACList.Text" xml:space="preserve"> + <value>Simplify PAC (please set Core route)</value> + </data> + <data name="toolStripSeparator10.Size" type="System.Drawing.Size, System.Drawing"> + <value>6, 56</value> + </data> + <data name="tsbHelp.ImageTransparentColor" type="System.Drawing.Color, System.Drawing"> + <value>Magenta</value> + </data> + <data name="tsbHelp.Size" type="System.Drawing.Size, System.Drawing"> + <value>48, 53</value> + </data> + <data name="tsbHelp.Text" xml:space="preserve"> + <value>Help</value> + </data> + <data name="tsbHelp.TextImageRelation" type="System.Windows.Forms.TextImageRelation, System.Windows.Forms"> + <value>ImageAboveText</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>About</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=">>menuExport2ServerConfig.Name" xml:space="preserve"> - <value>menuExport2ServerConfig</value> + <data name="tsbLanguageDef.Text" xml:space="preserve"> + <value>Language-[English]</value> </data> - <data name="txtMsgBox.MaxLength" type="System.Int32, mscorlib"> - <value>0</value> + <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="tsbPromotion.ImageTransparentColor" type="System.Drawing.Color, System.Drawing"> + <value>Magenta</value> + </data> + <data name="tsbPromotion.Size" type="System.Drawing.Size, System.Drawing"> + <value>89, 53</value> + </data> + <data name="tsbPromotion.Text" xml:space="preserve"> + <value> Promotion </value> </data> <data name="tsbPromotion.TextImageRelation" type="System.Windows.Forms.TextImageRelation, System.Windows.Forms"> <value>ImageAboveText</value> @@ -1228,140 +874,497 @@ <data name="toolStripSeparator11.Size" type="System.Drawing.Size, System.Drawing"> <value>6, 56</value> </data> - <data name=">>toolStripSeparator1.Type" xml:space="preserve"> - <value>System.Windows.Forms.ToolStripSeparator, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> + <data name="tsbClose.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64"> + <value> + iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 + YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAAySURBVFhH7c6xDQAgCEVBRnVTHU2ZABuMxV3yOvJDAAA/ + GqfZVG6X8mg1dfUAAPBQxAZd0SJruVXHWwAAAABJRU5ErkJggg== +</value> </data> - <data name=">>tsbSubSetting.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="menuExport2SubContent.Text" xml:space="preserve"> - <value>Batch export subscription content to clipboard (multiple choice)</value> + <data name="tsbClose.ImageTransparentColor" type="System.Drawing.Color, System.Drawing"> + <value>Magenta</value> </data> <data name="tsbClose.Size" type="System.Drawing.Size, System.Drawing"> <value>52, 53</value> </data> - <data name="tsbSub.TextImageRelation" type="System.Windows.Forms.TextImageRelation, System.Windows.Forms"> - <value>ImageAboveText</value> - </data> - <data name=">>menuRemoveDuplicateServer.Name" xml:space="preserve"> - <value>menuRemoveDuplicateServer</value> - </data> - <data name=">>menuScanScreen.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="menuExit.Text" xml:space="preserve"> - <value>Exit</value> - </data> - <data name=">>menuAddVmessServer.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=">>bgwScan.Name" xml:space="preserve"> - <value>bgwScan</value> - </data> - <data name=">>menuAddServers.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="panel1.Location" type="System.Drawing.Point, System.Drawing"> - <value>0, 56</value> - </data> <data name="tsbClose.Text" xml:space="preserve"> <value> Close </value> </data> - <data name=">>menuKeep.Type" xml:space="preserve"> - <value>System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> + <data name="tsbClose.TextImageRelation" type="System.Windows.Forms.TextImageRelation, System.Windows.Forms"> + <value>ImageAboveText</value> </data> - <data name="toolSslBlank4.Size" type="System.Drawing.Size, System.Drawing"> - <value>0, 17</value> - </data> - <data name="ssMain.TabIndex" type="System.Int32, mscorlib"> - <value>7</value> - </data> - <data name="menuAddServers.Text" xml:space="preserve"> - <value>Import bulk URL from clipboard</value> - </data> - <data name=">>toolStripSeparator2.Name" xml:space="preserve"> - <value>toolStripSeparator2</value> - </data> - <data name=">>toolSslSocksPortLab.Name" xml:space="preserve"> - <value>toolSslSocksPortLab</value> - </data> - <data name="menuAddCustomServer.Text" xml:space="preserve"> - <value>Add a custom configuration server</value> - </data> - <data name=">>toolSslHttpPort.Name" xml:space="preserve"> - <value>toolSslHttpPort</value> - </data> - <data name=">>tsbReload.Type" xml:space="preserve"> - <value>System.Windows.Forms.ToolStripButton, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> - </data> - <data name="toolStripSeparator6.Size" type="System.Drawing.Size, System.Drawing"> - <value>444, 6</value> - </data> - <data name="ssMain.Text" xml:space="preserve"> - <value>statusStrip1</value> - </data> - <data name=">>tsbSub.Type" xml:space="preserve"> - <value>System.Windows.Forms.ToolStripDropDownButton, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> - </data> - <data name="groupBox1.TabIndex" type="System.Int32, mscorlib"> - <value>2</value> - </data> - <data name="qrCodeControl.Dock" type="System.Windows.Forms.DockStyle, System.Windows.Forms"> - <value>Fill</value> - </data> - <data name="menuCopyPACUrl.Text" xml:space="preserve"> - <value>Copy local PAC URL</value> - </data> - <data name=">>toolStripSeparator3.Name" xml:space="preserve"> - <value>toolStripSeparator3</value> - </data> - <data name="tsbClose.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64"> - <value> - iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 - YQUAAAAJcEhZcwAADsAAAA7AAWrWiQkAAAAySURBVFhH7c6xDQAgCEVBRnVTHU2ZABuMxV3yOvJDAAA/ - GqfZVG6X8mg1dfUAAPBQxAZd0SJruVXHWwAAAABJRU5ErkJggg== -</value> - </data> - <data name="menuAddServers.Size" type="System.Drawing.Size, System.Drawing"> - <value>447, 22</value> - </data> - <data name="menuMoveBottom.Size" type="System.Drawing.Size, System.Drawing"> - <value>447, 22</value> - </data> - <data name=">>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=">>ssMain.Type" xml:space="preserve"> - <value>System.Windows.Forms.StatusStrip, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> - </data> - <data name=">>tsbCheckUpdatePACList.Name" xml:space="preserve"> - <value>tsbCheckUpdatePACList</value> - </data> - <metadata name="bgwPing.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"> - <value>232, 17</value> - </metadata> <metadata name="$this.Localizable" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"> <value>True</value> </metadata> - <metadata name="ssMain.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"> - <value>603, 17</value> - </metadata> <metadata name="$this.TrayHeight" type="System.Int32, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"> <value>65</value> </metadata> - <metadata name="cmsMain.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"> - <value>137, 17</value> - </metadata> - <metadata name="bgwScan.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"> - <value>498, 17</value> - </metadata> - <metadata name="notifyMain.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"> - <value>17, 17</value> - </metadata> - <metadata name="tsMain.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"> - <value>409, 17</value> - </metadata> - <metadata name="cmsLv.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"> - <value>327, 17</value> - </metadata> + <data name="$this.AutoScaleDimensions" type="System.Drawing.SizeF, System.Drawing"> + <value>6, 12</value> + </data> + <data name="$this.ClientSize" type="System.Drawing.Size, System.Drawing"> + <value>904, 593</value> + </data> + <data name="$this.Margin" type="System.Windows.Forms.Padding, System.Windows.Forms"> + <value>4, 4, 4, 4</value> + </data> + <data name="$this.Text" xml:space="preserve"> + <value>v2rayN</value> + </data> + <data name=">>menuAddVmessServer.Name" xml:space="preserve"> + <value>menuAddVmessServer</value> + </data> + <data name=">>menuAddVmessServer.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=">>menuAddShadowsocksServer.Name" xml:space="preserve"> + <value>menuAddShadowsocksServer</value> + </data> + <data name=">>menuAddShadowsocksServer.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=">>menuAddSocksServer.Name" xml:space="preserve"> + <value>menuAddSocksServer</value> + </data> + <data name=">>menuAddSocksServer.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=">>menuAddCustomServer.Name" xml:space="preserve"> + <value>menuAddCustomServer</value> + </data> + <data name=">>menuAddCustomServer.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=">>menuAddServers.Name" xml:space="preserve"> + <value>menuAddServers</value> + </data> + <data name=">>menuAddServers.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=">>menuScanScreen.Name" xml:space="preserve"> + <value>menuScanScreen</value> + </data> + <data name=">>menuScanScreen.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=">>toolStripSeparator1.Name" xml:space="preserve"> + <value>toolStripSeparator1</value> + </data> + <data name=">>toolStripSeparator1.Type" xml:space="preserve"> + <value>System.Windows.Forms.ToolStripSeparator, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> + </data> + <data name=">>menuRemoveServer.Name" xml:space="preserve"> + <value>menuRemoveServer</value> + </data> + <data name=">>menuRemoveServer.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=">>menuRemoveDuplicateServer.Name" xml:space="preserve"> + <value>menuRemoveDuplicateServer</value> + </data> + <data name=">>menuRemoveDuplicateServer.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=">>menuCopyServer.Name" xml:space="preserve"> + <value>menuCopyServer</value> + </data> + <data name=">>menuCopyServer.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=">>menuSetDefaultServer.Name" xml:space="preserve"> + <value>menuSetDefaultServer</value> + </data> + <data name=">>menuSetDefaultServer.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=">>toolStripSeparator3.Name" xml:space="preserve"> + <value>toolStripSeparator3</value> + </data> + <data name=">>toolStripSeparator3.Type" xml:space="preserve"> + <value>System.Windows.Forms.ToolStripSeparator, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> + </data> + <data name=">>menuMoveTop.Name" xml:space="preserve"> + <value>menuMoveTop</value> + </data> + <data name=">>menuMoveTop.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=">>menuMoveUp.Name" xml:space="preserve"> + <value>menuMoveUp</value> + </data> + <data name=">>menuMoveUp.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=">>menuMoveDown.Name" xml:space="preserve"> + <value>menuMoveDown</value> + </data> + <data name=">>menuMoveDown.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=">>menuMoveBottom.Name" xml:space="preserve"> + <value>menuMoveBottom</value> + </data> + <data name=">>menuMoveBottom.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=">>menuSelectAll.Name" xml:space="preserve"> + <value>menuSelectAll</value> + </data> + <data name=">>menuSelectAll.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=">>toolStripSeparator9.Name" xml:space="preserve"> + <value>toolStripSeparator9</value> + </data> + <data name=">>toolStripSeparator9.Type" xml:space="preserve"> + <value>System.Windows.Forms.ToolStripSeparator, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> + </data> + <data name=">>menuPingServer.Name" xml:space="preserve"> + <value>menuPingServer</value> + </data> + <data name=">>menuPingServer.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=">>menuSpeedServer.Name" xml:space="preserve"> + <value>menuSpeedServer</value> + </data> + <data name=">>menuSpeedServer.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=">>toolStripSeparator6.Name" xml:space="preserve"> + <value>toolStripSeparator6</value> + </data> + <data name=">>toolStripSeparator6.Type" xml:space="preserve"> + <value>System.Windows.Forms.ToolStripSeparator, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> + </data> + <data name=">>menuExport2ClientConfig.Name" xml:space="preserve"> + <value>menuExport2ClientConfig</value> + </data> + <data name=">>menuExport2ClientConfig.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=">>menuExport2ServerConfig.Name" xml:space="preserve"> + <value>menuExport2ServerConfig</value> + </data> + <data name=">>menuExport2ServerConfig.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=">>menuExport2ShareUrl.Name" xml:space="preserve"> + <value>menuExport2ShareUrl</value> + </data> + <data name=">>menuExport2ShareUrl.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=">>menuExport2SubContent.Name" xml:space="preserve"> + <value>menuExport2SubContent</value> + </data> + <data name=">>menuExport2SubContent.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=">>tsbServer.Name" xml:space="preserve"> + <value>tsbServer</value> + </data> + <data name=">>tsbServer.Type" xml:space="preserve"> + <value>System.Windows.Forms.ToolStripDropDownButton, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> + </data> + <data name=">>notifyMain.Name" xml:space="preserve"> + <value>notifyMain</value> + </data> + <data name=">>notifyMain.Type" xml:space="preserve"> + <value>System.Windows.Forms.NotifyIcon, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> + </data> + <data name=">>menuSysAgentEnabled.Name" xml:space="preserve"> + <value>menuSysAgentEnabled</value> + </data> + <data name=">>menuSysAgentEnabled.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=">>menuSysAgentMode.Name" xml:space="preserve"> + <value>menuSysAgentMode</value> + </data> + <data name=">>menuSysAgentMode.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=">>menuGlobal.Name" xml:space="preserve"> + <value>menuGlobal</value> + </data> + <data name=">>menuGlobal.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=">>menuGlobalPAC.Name" xml:space="preserve"> + <value>menuGlobalPAC</value> + </data> + <data name=">>menuGlobalPAC.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=">>menuKeep.Name" xml:space="preserve"> + <value>menuKeep</value> + </data> + <data name=">>menuKeep.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=">>menuKeepPAC.Name" xml:space="preserve"> + <value>menuKeepPAC</value> + </data> + <data name=">>menuKeepPAC.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=">>menuServers.Name" xml:space="preserve"> + <value>menuServers</value> + </data> + <data name=">>menuServers.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=">>menuAddServers2.Name" xml:space="preserve"> + <value>menuAddServers2</value> + </data> + <data name=">>menuAddServers2.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=">>menuScanScreen2.Name" xml:space="preserve"> + <value>menuScanScreen2</value> + </data> + <data name=">>menuScanScreen2.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=">>menuCopyPACUrl.Name" xml:space="preserve"> + <value>menuCopyPACUrl</value> + </data> + <data name=">>menuCopyPACUrl.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=">>toolStripSeparator2.Name" xml:space="preserve"> + <value>toolStripSeparator2</value> + </data> + <data name=">>toolStripSeparator2.Type" xml:space="preserve"> + <value>System.Windows.Forms.ToolStripSeparator, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> + </data> + <data name=">>menuExit.Name" xml:space="preserve"> + <value>menuExit</value> + </data> + <data name=">>menuExit.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=">>bgwPing.Name" xml:space="preserve"> + <value>bgwPing</value> + </data> + <data name=">>bgwPing.Type" xml:space="preserve"> + <value>System.ComponentModel.BackgroundWorker, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> + </data> + <data name=">>bgwScan.Name" xml:space="preserve"> + <value>bgwScan</value> + </data> + <data name=">>bgwScan.Type" xml:space="preserve"> + <value>System.ComponentModel.BackgroundWorker, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> + </data> + <data name=">>toolSslSocksPortLab.Name" xml:space="preserve"> + <value>toolSslSocksPortLab</value> + </data> + <data name=">>toolSslSocksPortLab.Type" xml:space="preserve"> + <value>System.Windows.Forms.ToolStripStatusLabel, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> + </data> + <data name=">>toolSslSocksPort.Name" xml:space="preserve"> + <value>toolSslSocksPort</value> + </data> + <data name=">>toolSslSocksPort.Type" xml:space="preserve"> + <value>System.Windows.Forms.ToolStripStatusLabel, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> + </data> + <data name=">>toolSslBlank1.Name" xml:space="preserve"> + <value>toolSslBlank1</value> + </data> + <data name=">>toolSslBlank1.Type" xml:space="preserve"> + <value>System.Windows.Forms.ToolStripStatusLabel, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> + </data> + <data name=">>toolSslHttpPortLab.Name" xml:space="preserve"> + <value>toolSslHttpPortLab</value> + </data> + <data name=">>toolSslHttpPortLab.Type" xml:space="preserve"> + <value>System.Windows.Forms.ToolStripStatusLabel, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> + </data> + <data name=">>toolSslHttpPort.Name" xml:space="preserve"> + <value>toolSslHttpPort</value> + </data> + <data name=">>toolSslHttpPort.Type" xml:space="preserve"> + <value>System.Windows.Forms.ToolStripStatusLabel, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> + </data> + <data name=">>toolSslBlank2.Name" xml:space="preserve"> + <value>toolSslBlank2</value> + </data> + <data name=">>toolSslBlank2.Type" xml:space="preserve"> + <value>System.Windows.Forms.ToolStripStatusLabel, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> + </data> + <data name=">>toolSslPacPortLab.Name" xml:space="preserve"> + <value>toolSslPacPortLab</value> + </data> + <data name=">>toolSslPacPortLab.Type" xml:space="preserve"> + <value>System.Windows.Forms.ToolStripStatusLabel, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> + </data> + <data name=">>toolSslPacPort.Name" xml:space="preserve"> + <value>toolSslPacPort</value> + </data> + <data name=">>toolSslPacPort.Type" xml:space="preserve"> + <value>System.Windows.Forms.ToolStripStatusLabel, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> + </data> + <data name=">>toolSslBlank3.Name" xml:space="preserve"> + <value>toolSslBlank3</value> + </data> + <data name=">>toolSslBlank3.Type" xml:space="preserve"> + <value>System.Windows.Forms.ToolStripStatusLabel, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> + </data> + <data name=">>toolSslServerSpeed.Name" xml:space="preserve"> + <value>toolSslServerSpeed</value> + </data> + <data name=">>toolSslServerSpeed.Type" xml:space="preserve"> + <value>System.Windows.Forms.ToolStripStatusLabel, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> + </data> + <data name=">>toolSslBlank4.Name" xml:space="preserve"> + <value>toolSslBlank4</value> + </data> + <data name=">>toolSslBlank4.Type" xml:space="preserve"> + <value>System.Windows.Forms.ToolStripStatusLabel, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> + </data> + <data name=">>toolStripSeparator4.Name" xml:space="preserve"> + <value>toolStripSeparator4</value> + </data> + <data name=">>toolStripSeparator4.Type" xml:space="preserve"> + <value>System.Windows.Forms.ToolStripSeparator, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> + </data> + <data name=">>tsbSub.Name" xml:space="preserve"> + <value>tsbSub</value> + </data> + <data name=">>tsbSub.Type" xml:space="preserve"> + <value>System.Windows.Forms.ToolStripDropDownButton, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> + </data> + <data name=">>tsbSubSetting.Name" xml:space="preserve"> + <value>tsbSubSetting</value> + </data> + <data name=">>tsbSubSetting.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=">>tsbSubUpdate.Name" xml:space="preserve"> + <value>tsbSubUpdate</value> + </data> + <data name=">>tsbSubUpdate.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=">>toolStripSeparator8.Name" xml:space="preserve"> + <value>toolStripSeparator8</value> + </data> + <data name=">>toolStripSeparator8.Type" xml:space="preserve"> + <value>System.Windows.Forms.ToolStripSeparator, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> + </data> + <data name=">>tsbOptionSetting.Name" xml:space="preserve"> + <value>tsbOptionSetting</value> + </data> + <data name=">>tsbOptionSetting.Type" xml:space="preserve"> + <value>System.Windows.Forms.ToolStripButton, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> + </data> + <data name=">>toolStripSeparator5.Name" xml:space="preserve"> + <value>toolStripSeparator5</value> + </data> + <data name=">>toolStripSeparator5.Type" xml:space="preserve"> + <value>System.Windows.Forms.ToolStripSeparator, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> + </data> + <data name=">>tsbReload.Name" xml:space="preserve"> + <value>tsbReload</value> + </data> + <data name=">>tsbReload.Type" xml:space="preserve"> + <value>System.Windows.Forms.ToolStripButton, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> + </data> + <data name=">>toolStripSeparator7.Name" xml:space="preserve"> + <value>toolStripSeparator7</value> + </data> + <data name=">>toolStripSeparator7.Type" xml:space="preserve"> + <value>System.Windows.Forms.ToolStripSeparator, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> + </data> + <data name=">>tsbCheckUpdate.Name" xml:space="preserve"> + <value>tsbCheckUpdate</value> + </data> + <data name=">>tsbCheckUpdate.Type" xml:space="preserve"> + <value>System.Windows.Forms.ToolStripDropDownButton, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> + </data> + <data name=">>tsbCheckUpdateN.Name" xml:space="preserve"> + <value>tsbCheckUpdateN</value> + </data> + <data name=">>tsbCheckUpdateN.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=">>tsbCheckUpdateCore.Name" xml:space="preserve"> + <value>tsbCheckUpdateCore</value> + </data> + <data name=">>tsbCheckUpdateCore.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=">>tsbCheckUpdatePACList.Name" xml:space="preserve"> + <value>tsbCheckUpdatePACList</value> + </data> + <data name=">>tsbCheckUpdatePACList.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=">>tsbCheckClearPACList.Name" xml:space="preserve"> + <value>tsbCheckClearPACList</value> + </data> + <data name=">>tsbCheckClearPACList.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=">>toolStripSeparator10.Name" xml:space="preserve"> + <value>toolStripSeparator10</value> + </data> + <data name=">>toolStripSeparator10.Type" xml:space="preserve"> + <value>System.Windows.Forms.ToolStripSeparator, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> + </data> + <data name=">>tsbHelp.Name" xml:space="preserve"> + <value>tsbHelp</value> + </data> + <data name=">>tsbHelp.Type" xml:space="preserve"> + <value>System.Windows.Forms.ToolStripDropDownButton, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> + </data> + <data name=">>tsbAbout.Name" xml:space="preserve"> + <value>tsbAbout</value> + </data> + <data name=">>tsbAbout.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=">>toolStripSeparator12.Name" xml:space="preserve"> + <value>toolStripSeparator12</value> + </data> + <data name=">>toolStripSeparator12.Type" xml:space="preserve"> + <value>System.Windows.Forms.ToolStripSeparator, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> + </data> + <data name=">>tsbLanguageDef.Name" xml:space="preserve"> + <value>tsbLanguageDef</value> + </data> + <data name=">>tsbLanguageDef.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=">>tsbLanguageZhHans.Name" xml:space="preserve"> + <value>tsbLanguageZhHans</value> + </data> + <data name=">>tsbLanguageZhHans.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=">>tsbPromotion.Name" xml:space="preserve"> + <value>tsbPromotion</value> + </data> + <data name=">>tsbPromotion.Type" xml:space="preserve"> + <value>System.Windows.Forms.ToolStripButton, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> + </data> + <data name=">>toolStripSeparator11.Name" xml:space="preserve"> + <value>toolStripSeparator11</value> + </data> + <data name=">>toolStripSeparator11.Type" xml:space="preserve"> + <value>System.Windows.Forms.ToolStripSeparator, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> + </data> + <data name=">>tsbClose.Name" xml:space="preserve"> + <value>tsbClose</value> + </data> + <data name=">>tsbClose.Type" xml:space="preserve"> + <value>System.Windows.Forms.ToolStripButton, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> + </data> + <data name=">>$this.Name" xml:space="preserve"> + <value>MainForm</value> + </data> + <data name=">>$this.Type" xml:space="preserve"> + <value>v2rayN.Forms.BaseForm, v2rayN, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null</value> + </data> </root> \ No newline at end of file diff --git a/v2rayN/v2rayN/Forms/MainForm.zh-Hans.resx b/v2rayN/v2rayN/Forms/MainForm.zh-Hans.resx index 8b928033..a7cd7b2e 100644 --- a/v2rayN/v2rayN/Forms/MainForm.zh-Hans.resx +++ b/v2rayN/v2rayN/Forms/MainForm.zh-Hans.resx @@ -395,13 +395,13 @@ </data> <data name="tsbReload.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64"> <value> - iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 - YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAE3SURBVFhH7ZaBDQIhDEVvBEdwBDfQDXQER3AD3cARdAPd - QDfSDbQvuSb1AicFjJrwkxcN0FIolOuamv5VE2E+gLaPayWchEcE+hhTXVPhIoQmDcFYbKpoJtwEdX4X - jgIrXfTwnzb6dBw22BaJVdjJmWQs1/SdBRtE0U5cBXW2oSFRO0HtSEeW2FZ1wsq9sjuRdTDVAXnNuWLY - 6JnAl0sYa/Q5q1dhq35ci+Bkq2HJvbZpxGeybAAuw4Fq+cnW1wPITgHFYxvBUw+qHEIL1yq1vDKhVlH3 - NQwF4JkcFRWiUAB7IVW2FFPO3YqlgPd+LJf02e8Fdi3rMdIAcLDuf9UpeT0IS0G/hvhPm305vSl7EQFY - B6zCvozvYGzRM8zEoeg5TPZwDaGvpHQni1yzSxbXPW9q+hF13ROHuJnQcjbhtQAAAABJRU5ErkJggg== + iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO + wwAADsMBx2+oZAAAATdJREFUWEftloENAiEMRW8ER3AEN9ANdARHcAPdwBF0A91AN9INtC+5JvUCJwWM + mvCTFw3QUiiU65qa/lUTYT6Ato9rJZyERwT6GFNdU+EihCYNwVhsqmgm3AR1fheOAitd9PCfNvp0HDbY + FolV2MmZZCzX9J0FG0TRTlwFdbahIVE7Qe1IR5bYVnXCyr2yO5F1MNUBec25YtjomcCXSxhr9DmrV2Gr + flyL4GSrYcm9tmnEZ7JsAC7DgWr5ydbXA8hOAcVjG8FTD6ocQgvXKrW8MqFWUfc1DAXgmRwVFaJQAHsh + VbYUU87diqWA934sl/TZ7wV2Lesx0gBwsO5/1Sl5PQhLQb+G+E+bfTm9KXsRAVgHrMK+jO9gbNEzzMSh + 6DlM9nANoa+kdCeLXLNLFtc9b2r6EXXdE4e4mdByNuG1AAAAAElFTkSuQmCC </value> </data> <data name="tsbReload.Size" type="System.Drawing.Size, System.Drawing"> @@ -457,12 +457,15 @@ </data> <data name="tsbClose.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64"> <value> - iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 - YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAAySURBVFhH7c6xDQAgCEVBRnVTHU2ZABuMxV3yOvJDAAA/ - GqfZVG6X8mg1dfUAAPBQxAZd0SJruVXHWwAAAABJRU5ErkJggg== + iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO + wwAADsMBx2+oZAAAADJJREFUWEftzrENACAIRUFGdVMdTZkAG4zFXfI68kMAAD8ap9lUbpfyaDV19QAA + 8FDEBl3RImu5VcdbAAAAAElFTkSuQmCC </value> </data> <data name="tsbClose.Text" xml:space="preserve"> <value> 关闭 </value> </data> + <data name="toolSslServerSpeed.Text" xml:space="preserve"> + <value>网速显示未启用</value> + </data> </root> \ No newline at end of file diff --git a/v2rayN/v2rayN/Handler/StatisticsHandler.cs b/v2rayN/v2rayN/Handler/StatisticsHandler.cs index 51e1c527..f0dd778b 100644 --- a/v2rayN/v2rayN/Handler/StatisticsHandler.cs +++ b/v2rayN/v2rayN/Handler/StatisticsHandler.cs @@ -5,18 +5,20 @@ using System.IO; using System.Text; using System.Text.RegularExpressions; using System.Threading; + using v2rayN.Mode; +using v2rayN.Protos.Statistics; + +using Grpc.Core; namespace v2rayN.Handler { class StatisticsHandler { - private Config config_; - private const string cliName_ = "v2ctl.exe"; - private string args_ = ""; - - private Process connector_; + private Mode.Config config_; + private Channel channel_; + private StatsService.StatsServiceClient client_; private Thread workThread_; Action<ulong, ulong, ulong, ulong, List<Mode.ServerStatistics>> updateFunc_; @@ -44,7 +46,7 @@ namespace v2rayN.Handler private bool exitFlag_; // true to close workThread_ - public StatisticsHandler(Config config, Action<ulong, ulong, ulong, ulong, List<Mode.ServerStatistics>> update) + public StatisticsHandler(Mode.Config config, Action<ulong, ulong, ulong, ulong, List<Mode.ServerStatistics>> update) { config_ = config; enabled_ = config.enableStatistics; @@ -63,40 +65,23 @@ namespace v2rayN.Handler loadFromFile(); - var fullPath = Utils.GetPath(cliName_); - - if (!File.Exists(fullPath)) - { - connector_ = null; - return; - } - - // .\v2ctl.exe api --server="127.0.0.1:port" StatsService.QueryStats "reset:true" - args_ = string.Format("api --server=\"127.0.0.1:{0}\" StatsService.QueryStats \"reset:true\"", Global.InboundAPIPort); - - connector_ = new Process(); - connector_.StartInfo.FileName = fullPath; - connector_.StartInfo.Arguments = args_; - connector_.StartInfo.RedirectStandardOutput = true; - connector_.StartInfo.UseShellExecute = false; - connector_.StartInfo.CreateNoWindow = true; - + grpcInit(); workThread_ = new Thread(new ThreadStart(run)); workThread_.Start(); } + private void grpcInit () + { + channel_ = new Channel($"127.0.0.1:{Global.InboundAPIPort}", ChannelCredentials.Insecure); + channel_.ConnectAsync(); + client_ = new StatsService.StatsServiceClient(channel_); + } + public void Close() { - try - { - exitFlag_ = true; - if (!connector_.HasExited) - { - connector_.Kill(); - } - } - catch { } + exitFlag_ = true; + channel_.ShutdownAsync(); } public void run() @@ -105,18 +90,18 @@ namespace v2rayN.Handler { while (!exitFlag_) { - if (enabled_) + if (enabled_ && channel_.State == ChannelState.Ready) { + var res = client_.QueryStats(new QueryStatsRequest() { Pattern = "", Reset = true }); + var addr = config_.address(); var port = config_.port(); var cur = Statistic.FindIndex(item => item.address == addr && item.port == port); - connector_.Start(); - string output = connector_.StandardOutput.ReadToEnd(); - UInt64 up = 0; - UInt64 down = 0; + ulong up = 0, + down = 0; //TODO: parse output - parseOutput(output, out up, out down); + parseOutput(res.Stat, out up, out down); Up = up; Down = down; @@ -135,48 +120,41 @@ namespace v2rayN.Handler if (UpdateUI) updateFunc_(TotalUp, TotalDown, Up, Down, Statistic); Thread.Sleep(config_.statisticsFreshRate); + channel_.ConnectAsync(); } } } catch { } } - public void parseOutput(string source, out UInt64 up, out UInt64 down) + public void parseOutput(Google.Protobuf.Collections.RepeatedField<Stat> source, out ulong up, out ulong down) { - // (?<=name: ")(.*?)(?=")|(?<=value: )(.*?) - var datas = Regex.Matches(source, "(?<=name: \")(?<name>.*?)(?=\").*?(?<=value: )(?<value>.*?)(?=>)", RegexOptions.Singleline); up = 0; down = 0; - foreach(Match match in datas) + foreach(var stat in source) { - var g = match.Groups; - var name = g["name"].Value; - var value = g["value"].Value; + var name = stat.Name; + var value = stat.Value; var nStr = name.Split(">>>".ToCharArray(), StringSplitOptions.RemoveEmptyEntries); var type = ""; name = name.Trim(); - value = value.Trim(); name = nStr[1]; type = nStr[3]; - try + if (name == Global.InboundProxyTagName) { - if (name == Global.InboundProxyTagName) + if (type == "uplink") { - if (type == "uplink") - { - up = UInt64.Parse(value); - } - else if (type == "downlink") - { - down = UInt64.Parse(value); - } + up = (ulong)value; + } + else if (type == "downlink") + { + down = (ulong)value; } } - catch { } } } diff --git a/v2rayN/v2rayN/Protos/Statistics.proto b/v2rayN/v2rayN/Protos/Statistics.proto new file mode 100644 index 00000000..1dd4f2b0 --- /dev/null +++ b/v2rayN/v2rayN/Protos/Statistics.proto @@ -0,0 +1,53 @@ +syntax = "proto3"; + +package v2ray.core.app.stats.command; +option csharp_namespace = "v2rayN.Protos.Statistics"; + +message GetStatsRequest { + // Name of the stat counter. + string name = 1; + // Whether or not to reset the counter to fetching its value. + bool reset = 2; +} + +message Stat { + string name = 1; + int64 value = 2; +} + +message GetStatsResponse { + Stat stat = 1; +} + +message QueryStatsRequest { + string pattern = 1; + bool reset = 2; +} + +message QueryStatsResponse { + repeated Stat stat = 1; +} + +message SysStatsRequest { +} + +message SysStatsResponse { + uint32 NumGoroutine = 1; + uint32 NumGC = 2; + uint64 Alloc = 3; + uint64 TotalAlloc = 4; + uint64 Sys = 5; + uint64 Mallocs = 6; + uint64 Frees = 7; + uint64 LiveObjects = 8; + uint64 PauseTotalNs = 9; + uint32 Uptime = 10; +} + +service StatsService { + rpc GetStats(GetStatsRequest) returns (GetStatsResponse) {} + rpc QueryStats(QueryStatsRequest) returns (QueryStatsResponse) {} + rpc GetSysStats(SysStatsRequest) returns (SysStatsResponse) {} +} + +message Config {} diff --git a/v2rayN/v2rayN/packages.config b/v2rayN/v2rayN/packages.config new file mode 100644 index 00000000..bd31e11d --- /dev/null +++ b/v2rayN/v2rayN/packages.config @@ -0,0 +1,11 @@ +<?xml version="1.0" encoding="utf-8"?> +<packages> + <package id="Google.Protobuf" version="3.9.1" targetFramework="net46" /> + <package id="Grpc" version="2.23.0" targetFramework="net46" /> + <package id="Grpc.Core" version="2.23.0" targetFramework="net46" /> + <package id="Grpc.Core.Api" version="2.23.0" targetFramework="net46" /> + <package id="Grpc.Tools" version="2.23.0" targetFramework="net46" developmentDependency="true" /> + <package id="System.Buffers" version="4.4.0" targetFramework="net46" /> + <package id="System.Memory" version="4.5.3" targetFramework="net46" /> + <package id="System.Runtime.CompilerServices.Unsafe" version="4.5.2" targetFramework="net46" /> +</packages> \ No newline at end of file diff --git a/v2rayN/v2rayN/v2rayN.csproj b/v2rayN/v2rayN/v2rayN.csproj index cbdb00c6..2e23a6d5 100644 --- a/v2rayN/v2rayN/v2rayN.csproj +++ b/v2rayN/v2rayN/v2rayN.csproj @@ -1,5 +1,6 @@ <?xml version="1.0" encoding="utf-8"?> <Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> + <Import Project="..\packages\Grpc.Tools.2.23.0\build\Grpc.Tools.props" Condition="Exists('..\packages\Grpc.Tools.2.23.0\build\Grpc.Tools.props')" /> <Import Project="$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props" Condition="Exists('$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props')" /> <PropertyGroup> <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration> @@ -74,11 +75,23 @@ <PropertyGroup /> <PropertyGroup /> <ItemGroup> + <Reference Include="Google.Protobuf, Version=3.9.1.0, Culture=neutral, PublicKeyToken=a7d26565bac4d604, processorArchitecture=MSIL"> + <HintPath>..\packages\Google.Protobuf.3.9.1\lib\net45\Google.Protobuf.dll</HintPath> + </Reference> + <Reference Include="Grpc.Core, Version=2.0.0.0, Culture=neutral, PublicKeyToken=d754f35622e28bad, processorArchitecture=MSIL"> + <HintPath>..\packages\Grpc.Core.2.23.0\lib\net45\Grpc.Core.dll</HintPath> + </Reference> + <Reference Include="Grpc.Core.Api, Version=2.0.0.0, Culture=neutral, PublicKeyToken=d754f35622e28bad, processorArchitecture=MSIL"> + <HintPath>..\packages\Grpc.Core.Api.2.23.0\lib\net45\Grpc.Core.Api.dll</HintPath> + </Reference> <Reference Include="Newtonsoft.Json"> <HintPath>.\Newtonsoft.Json.dll</HintPath> <Private>False</Private> </Reference> <Reference Include="System" /> + <Reference Include="System.Buffers, Version=4.0.2.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51, processorArchitecture=MSIL"> + <HintPath>..\packages\System.Buffers.4.4.0\lib\netstandard1.1\System.Buffers.dll</HintPath> + </Reference> <Reference Include="System.Core" /> <Reference Include="System.Data.DataSetExtensions" /> <Reference Include="Microsoft.CSharp" /> @@ -87,7 +100,13 @@ <Reference Include="System.Drawing" /> <Reference Include="System.IO.Compression" /> <Reference Include="System.IO.Compression.FileSystem" /> + <Reference Include="System.Memory, Version=4.0.1.1, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51, processorArchitecture=MSIL"> + <HintPath>..\packages\System.Memory.4.5.3\lib\netstandard1.1\System.Memory.dll</HintPath> + </Reference> <Reference Include="System.Net" /> + <Reference Include="System.Runtime.CompilerServices.Unsafe, Version=4.0.4.1, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL"> + <HintPath>..\packages\System.Runtime.CompilerServices.Unsafe.4.5.2\lib\netstandard1.0\System.Runtime.CompilerServices.Unsafe.dll</HintPath> + </Reference> <Reference Include="System.Windows.Forms" /> <Reference Include="System.Xml" /> <Reference Include="zxing"> @@ -295,6 +314,7 @@ <EmbeddedResource Include="app.config"> <SubType>Designer</SubType> </EmbeddedResource> + <None Include="packages.config" /> <None Include="Properties\Settings.settings"> <Generator>SettingsSingleFileGenerator</Generator> <LastGenOutput>Settings.Designer.cs</LastGenOutput> @@ -304,6 +324,7 @@ <DependentUpon>Settings.settings</DependentUpon> <DesignTimeSharedInput>True</DesignTimeSharedInput> </Compile> + <Protobuf Include="Protos\Statistics.proto" /> <None Include="Resources\abp.js.gz" /> <None Include="Resources\pac.txt.gz" /> <None Include="Resources\sysproxy.exe.gz" /> @@ -382,14 +403,22 @@ <EmbeddedResource Include="zxing.presentation.dll" /> <EmbeddedResource Include="zxing.dll" /> </ItemGroup> - <ItemGroup> - <Folder Include="protos\" /> - </ItemGroup> + <ItemGroup /> <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" /> <PropertyGroup> <PostBuildEvent> </PostBuildEvent> </PropertyGroup> + <Import Project="..\packages\Grpc.Core.2.23.0\build\net45\Grpc.Core.targets" Condition="Exists('..\packages\Grpc.Core.2.23.0\build\net45\Grpc.Core.targets')" /> + <Target Name="EnsureNuGetPackageBuildImports" BeforeTargets="PrepareForBuild"> + <PropertyGroup> + <ErrorText>This project references NuGet package(s) that are missing on this computer. Use NuGet Package Restore to download them. For more information, see http://go.microsoft.com/fwlink/?LinkID=322105. The missing file is {0}.</ErrorText> + </PropertyGroup> + <Error Condition="!Exists('..\packages\Grpc.Core.2.23.0\build\net45\Grpc.Core.targets')" Text="$([System.String]::Format('$(ErrorText)', '..\packages\Grpc.Core.2.23.0\build\net45\Grpc.Core.targets'))" /> + <Error Condition="!Exists('..\packages\Grpc.Tools.2.23.0\build\Grpc.Tools.props')" Text="$([System.String]::Format('$(ErrorText)', '..\packages\Grpc.Tools.2.23.0\build\Grpc.Tools.props'))" /> + <Error Condition="!Exists('..\packages\Grpc.Tools.2.23.0\build\Grpc.Tools.targets')" Text="$([System.String]::Format('$(ErrorText)', '..\packages\Grpc.Tools.2.23.0\build\Grpc.Tools.targets'))" /> + </Target> + <Import Project="..\packages\Grpc.Tools.2.23.0\build\Grpc.Tools.targets" Condition="Exists('..\packages\Grpc.Tools.2.23.0\build\Grpc.Tools.targets')" /> <!-- To modify your build process, add your task inside one of the targets below and uncomment it. Other similar extension points exist, see Microsoft.Common.targets. <Target Name="BeforeBuild">