From 125331181fe07ffb22b67d3f1ddffadd41d08708 Mon Sep 17 00:00:00 2001 From: JaredDC Date: Tue, 12 Oct 2021 15:52:07 +0800 Subject: [PATCH] Revert "merge 12 commits behind 2dust:master" This reverts commit 4548443761a9820fda358248780992fadefd2233. --- README.md | 2 +- v2rayN/v2rayN/Forms/MainForm.Designer.cs | 196 +- v2rayN/v2rayN/Forms/MainForm.cs | 21 +- v2rayN/v2rayN/Forms/MainForm.resx | 2782 +++++++++-------- .../Forms/OptionSettingForm.Designer.cs | 16 - v2rayN/v2rayN/Forms/OptionSettingForm.cs | 2 - v2rayN/v2rayN/Forms/OptionSettingForm.resx | 623 ++-- .../Forms/OptionSettingForm.zh-Hans.resx | 117 +- .../RoutingRuleSettingDetailsForm.Designer.cs | 29 +- .../Forms/RoutingRuleSettingDetailsForm.cs | 3 - .../Forms/RoutingRuleSettingDetailsForm.resx | 1006 +++--- ...RoutingRuleSettingDetailsForm.zh-Hans.resx | 3 - v2rayN/v2rayN/Forms/RoutingRuleSettingForm.cs | 10 +- v2rayN/v2rayN/Global.cs | 2 +- v2rayN/v2rayN/Handler/ConfigHandler.cs | 102 +- v2rayN/v2rayN/Handler/DownloadHandle.cs | 2 +- v2rayN/v2rayN/Handler/MainFormHandler.cs | 151 +- v2rayN/v2rayN/Handler/UpdateHandle.cs | 45 +- v2rayN/v2rayN/Handler/V2rayConfigHandler.cs | 5 +- v2rayN/v2rayN/Mode/Config.cs | 5 - v2rayN/v2rayN/Mode/RulesItem.cs | 4 +- v2rayN/v2rayN/Program.cs | 4 +- v2rayN/v2rayN/Properties/AssemblyInfo.cs | 2 +- v2rayN/v2rayN/Properties/Settings.Designer.cs | 2 +- v2rayN/v2rayN/Sample/custom_routing_black | 29 - v2rayN/v2rayN/Tool/Utils.cs | 15 +- v2rayN/v2rayN/app.config | 2 +- v2rayN/v2rayN/v2rayN.csproj | 3 +- v2rayN/v2rayUpgrade/App.config | 2 +- v2rayN/v2rayUpgrade/MainForm.cs | 4 +- .../Properties/Resources.Designer.cs | 2 +- .../Properties/Settings.Designer.cs | 2 +- v2rayN/v2rayUpgrade/v2rayUpgrade.csproj | 3 +- v2rayN/v2rayUpgrade/v2rayUpgrade.csproj.user | 2 +- 34 files changed, 2501 insertions(+), 2697 deletions(-) delete mode 100644 v2rayN/v2rayN/Sample/custom_routing_black diff --git a/README.md b/README.md index d00fa479..98611c32 100644 --- a/README.md +++ b/README.md @@ -29,5 +29,5 @@ Click the **BUTTON** below to **download** the latest binary file - 不要担心,你的配置会保存,比如订阅,选择,路由规则. ### Requirements -- Microsoft [.NET Framework 4.8](https://docs.microsoft.com/zh-cn/dotnet/framework/install/guide-for-developers) +- Microsoft [.NET Framework 4.6](https://docs.microsoft.com/zh-cn/dotnet/framework/install/guide-for-developers) or higher - Project V core [https://github.com/v2fly/v2ray-core/releases](https://github.com/v2fly/v2ray-core/releases) diff --git a/v2rayN/v2rayN/Forms/MainForm.Designer.cs b/v2rayN/v2rayN/Forms/MainForm.Designer.cs index 9571a716..49d7c26d 100644 --- a/v2rayN/v2rayN/Forms/MainForm.Designer.cs +++ b/v2rayN/v2rayN/Forms/MainForm.Designer.cs @@ -83,6 +83,7 @@ this.toolSslHttpPortLab = new System.Windows.Forms.ToolStripStatusLabel(); this.toolSslHttpPort = new System.Windows.Forms.ToolStripStatusLabel(); this.toolSslBlank2 = new System.Windows.Forms.ToolStripStatusLabel(); + this.toolSslBlank3 = new System.Windows.Forms.ToolStripStatusLabel(); this.toolSslServerSpeed = new System.Windows.Forms.ToolStripStatusLabel(); this.toolSslBlank4 = new System.Windows.Forms.ToolStripStatusLabel(); this.notifyMain = new System.Windows.Forms.NotifyIcon(this.components); @@ -158,17 +159,19 @@ // // scMain.Panel1 // + resources.ApplyResources(this.scMain.Panel1, "scMain.Panel1"); this.scMain.Panel1.Controls.Add(this.lvServers); // // scMain.Panel2 // + resources.ApplyResources(this.scMain.Panel2, "scMain.Panel2"); this.scMain.Panel2.Controls.Add(this.qrCodeControl); this.scMain.TabStop = false; // // lvServers // - this.lvServers.ContextMenuStrip = this.cmsLv; resources.ApplyResources(this.lvServers, "lvServers"); + this.lvServers.ContextMenuStrip = this.cmsLv; this.lvServers.FullRowSelect = true; this.lvServers.GridLines = true; this.lvServers.HeaderStyle = System.Windows.Forms.ColumnHeaderStyle.Nonclickable; @@ -187,6 +190,7 @@ // // 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, @@ -221,195 +225,195 @@ this.menuExport2ShareUrl, this.menuExport2SubContent}); this.cmsLv.Name = "cmsLv"; - resources.ApplyResources(this.cmsLv, "cmsLv"); + this.cmsLv.OwnerItem = this.tsbServer; // // menuAddVmessServer // - this.menuAddVmessServer.Name = "menuAddVmessServer"; resources.ApplyResources(this.menuAddVmessServer, "menuAddVmessServer"); + this.menuAddVmessServer.Name = "menuAddVmessServer"; this.menuAddVmessServer.Click += new System.EventHandler(this.menuAddVmessServer_Click); // // menuAddVlessServer // - this.menuAddVlessServer.Name = "menuAddVlessServer"; resources.ApplyResources(this.menuAddVlessServer, "menuAddVlessServer"); + this.menuAddVlessServer.Name = "menuAddVlessServer"; this.menuAddVlessServer.Click += new System.EventHandler(this.menuAddVlessServer_Click); // // menuAddShadowsocksServer // - this.menuAddShadowsocksServer.Name = "menuAddShadowsocksServer"; resources.ApplyResources(this.menuAddShadowsocksServer, "menuAddShadowsocksServer"); + this.menuAddShadowsocksServer.Name = "menuAddShadowsocksServer"; this.menuAddShadowsocksServer.Click += new System.EventHandler(this.menuAddShadowsocksServer_Click); // // menuAddSocksServer // - this.menuAddSocksServer.Name = "menuAddSocksServer"; resources.ApplyResources(this.menuAddSocksServer, "menuAddSocksServer"); + this.menuAddSocksServer.Name = "menuAddSocksServer"; this.menuAddSocksServer.Click += new System.EventHandler(this.menuAddSocksServer_Click); // // menuAddTrojanServer // - this.menuAddTrojanServer.Name = "menuAddTrojanServer"; resources.ApplyResources(this.menuAddTrojanServer, "menuAddTrojanServer"); + this.menuAddTrojanServer.Name = "menuAddTrojanServer"; this.menuAddTrojanServer.Click += new System.EventHandler(this.menuAddTrojanServer_Click); // // menuAddCustomServer // - this.menuAddCustomServer.Name = "menuAddCustomServer"; resources.ApplyResources(this.menuAddCustomServer, "menuAddCustomServer"); + this.menuAddCustomServer.Name = "menuAddCustomServer"; this.menuAddCustomServer.Click += new System.EventHandler(this.menuAddCustomServer_Click); // // menuAddServers // - this.menuAddServers.Name = "menuAddServers"; resources.ApplyResources(this.menuAddServers, "menuAddServers"); + this.menuAddServers.Name = "menuAddServers"; this.menuAddServers.Click += new System.EventHandler(this.menuAddServers_Click); // // menuScanScreen // - this.menuScanScreen.Name = "menuScanScreen"; resources.ApplyResources(this.menuScanScreen, "menuScanScreen"); + this.menuScanScreen.Name = "menuScanScreen"; this.menuScanScreen.Click += new System.EventHandler(this.menuScanScreen_Click); // // toolStripSeparator1 // - this.toolStripSeparator1.Name = "toolStripSeparator1"; resources.ApplyResources(this.toolStripSeparator1, "toolStripSeparator1"); + this.toolStripSeparator1.Name = "toolStripSeparator1"; // // menuRemoveServer // - this.menuRemoveServer.Name = "menuRemoveServer"; resources.ApplyResources(this.menuRemoveServer, "menuRemoveServer"); + this.menuRemoveServer.Name = "menuRemoveServer"; this.menuRemoveServer.Click += new System.EventHandler(this.menuRemoveServer_Click); // // menuRemoveDuplicateServer // - this.menuRemoveDuplicateServer.Name = "menuRemoveDuplicateServer"; resources.ApplyResources(this.menuRemoveDuplicateServer, "menuRemoveDuplicateServer"); + this.menuRemoveDuplicateServer.Name = "menuRemoveDuplicateServer"; this.menuRemoveDuplicateServer.Click += new System.EventHandler(this.menuRemoveDuplicateServer_Click); // // menuCopyServer // - this.menuCopyServer.Name = "menuCopyServer"; resources.ApplyResources(this.menuCopyServer, "menuCopyServer"); + this.menuCopyServer.Name = "menuCopyServer"; this.menuCopyServer.Click += new System.EventHandler(this.menuCopyServer_Click); // // menuSetDefaultServer // - this.menuSetDefaultServer.Name = "menuSetDefaultServer"; resources.ApplyResources(this.menuSetDefaultServer, "menuSetDefaultServer"); + this.menuSetDefaultServer.Name = "menuSetDefaultServer"; this.menuSetDefaultServer.Click += new System.EventHandler(this.menuSetDefaultServer_Click); // // toolStripSeparator3 // - this.toolStripSeparator3.Name = "toolStripSeparator3"; resources.ApplyResources(this.toolStripSeparator3, "toolStripSeparator3"); + this.toolStripSeparator3.Name = "toolStripSeparator3"; // // menuMoveTop // - this.menuMoveTop.Name = "menuMoveTop"; resources.ApplyResources(this.menuMoveTop, "menuMoveTop"); + this.menuMoveTop.Name = "menuMoveTop"; this.menuMoveTop.Click += new System.EventHandler(this.menuMoveTop_Click); // // menuMoveUp // - this.menuMoveUp.Name = "menuMoveUp"; resources.ApplyResources(this.menuMoveUp, "menuMoveUp"); + this.menuMoveUp.Name = "menuMoveUp"; this.menuMoveUp.Click += new System.EventHandler(this.menuMoveUp_Click); // // menuMoveDown // - this.menuMoveDown.Name = "menuMoveDown"; resources.ApplyResources(this.menuMoveDown, "menuMoveDown"); + this.menuMoveDown.Name = "menuMoveDown"; this.menuMoveDown.Click += new System.EventHandler(this.menuMoveDown_Click); // // menuMoveBottom // - this.menuMoveBottom.Name = "menuMoveBottom"; resources.ApplyResources(this.menuMoveBottom, "menuMoveBottom"); + this.menuMoveBottom.Name = "menuMoveBottom"; this.menuMoveBottom.Click += new System.EventHandler(this.menuMoveBottom_Click); // // menuSelectAll // - this.menuSelectAll.Name = "menuSelectAll"; resources.ApplyResources(this.menuSelectAll, "menuSelectAll"); + this.menuSelectAll.Name = "menuSelectAll"; this.menuSelectAll.Click += new System.EventHandler(this.menuSelectAll_Click); // // toolStripSeparator9 // - this.toolStripSeparator9.Name = "toolStripSeparator9"; resources.ApplyResources(this.toolStripSeparator9, "toolStripSeparator9"); + this.toolStripSeparator9.Name = "toolStripSeparator9"; // // menuPingServer // - this.menuPingServer.Name = "menuPingServer"; resources.ApplyResources(this.menuPingServer, "menuPingServer"); + this.menuPingServer.Name = "menuPingServer"; this.menuPingServer.Click += new System.EventHandler(this.menuPingServer_Click); // // menuTcpingServer // - this.menuTcpingServer.Name = "menuTcpingServer"; resources.ApplyResources(this.menuTcpingServer, "menuTcpingServer"); + this.menuTcpingServer.Name = "menuTcpingServer"; this.menuTcpingServer.Click += new System.EventHandler(this.menuTcpingServer_Click); // // menuRealPingServer // - this.menuRealPingServer.Name = "menuRealPingServer"; resources.ApplyResources(this.menuRealPingServer, "menuRealPingServer"); + this.menuRealPingServer.Name = "menuRealPingServer"; this.menuRealPingServer.Click += new System.EventHandler(this.menuRealPingServer_Click); // // menuSpeedServer // - this.menuSpeedServer.Name = "menuSpeedServer"; resources.ApplyResources(this.menuSpeedServer, "menuSpeedServer"); + this.menuSpeedServer.Name = "menuSpeedServer"; this.menuSpeedServer.Click += new System.EventHandler(this.menuSpeedServer_Click); // // tsbTestMe // - this.tsbTestMe.Name = "tsbTestMe"; resources.ApplyResources(this.tsbTestMe, "tsbTestMe"); + this.tsbTestMe.Name = "tsbTestMe"; this.tsbTestMe.Click += new System.EventHandler(this.tsbTestMe_Click); // // menuClearServerStatistics // - this.menuClearServerStatistics.Name = "menuClearServerStatistics"; resources.ApplyResources(this.menuClearServerStatistics, "menuClearServerStatistics"); + this.menuClearServerStatistics.Name = "menuClearServerStatistics"; this.menuClearServerStatistics.Click += new System.EventHandler(this.menuClearStatistic_Click); // // toolStripSeparator6 // - this.toolStripSeparator6.Name = "toolStripSeparator6"; resources.ApplyResources(this.toolStripSeparator6, "toolStripSeparator6"); + this.toolStripSeparator6.Name = "toolStripSeparator6"; // // menuExport2ClientConfig // - this.menuExport2ClientConfig.Name = "menuExport2ClientConfig"; resources.ApplyResources(this.menuExport2ClientConfig, "menuExport2ClientConfig"); + this.menuExport2ClientConfig.Name = "menuExport2ClientConfig"; this.menuExport2ClientConfig.Click += new System.EventHandler(this.menuExport2ClientConfig_Click); // // menuExport2ServerConfig // - this.menuExport2ServerConfig.Name = "menuExport2ServerConfig"; resources.ApplyResources(this.menuExport2ServerConfig, "menuExport2ServerConfig"); + this.menuExport2ServerConfig.Name = "menuExport2ServerConfig"; this.menuExport2ServerConfig.Click += new System.EventHandler(this.menuExport2ServerConfig_Click); // // menuExport2ShareUrl // - this.menuExport2ShareUrl.Name = "menuExport2ShareUrl"; resources.ApplyResources(this.menuExport2ShareUrl, "menuExport2ShareUrl"); + this.menuExport2ShareUrl.Name = "menuExport2ShareUrl"; this.menuExport2ShareUrl.Click += new System.EventHandler(this.menuExport2ShareUrl_Click); // // menuExport2SubContent // - this.menuExport2SubContent.Name = "menuExport2SubContent"; resources.ApplyResources(this.menuExport2SubContent, "menuExport2SubContent"); + this.menuExport2SubContent.Name = "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 @@ -424,33 +428,35 @@ // // splitContainer1.Panel1 // + resources.ApplyResources(this.splitContainer1.Panel1, "splitContainer1.Panel1"); this.splitContainer1.Panel1.Controls.Add(this.groupBox1); // // splitContainer1.Panel2 // + resources.ApplyResources(this.splitContainer1.Panel2, "splitContainer1.Panel2"); this.splitContainer1.Panel2.Controls.Add(this.gbMsgTitle); // // groupBox1 // - this.groupBox1.Controls.Add(this.scMain); resources.ApplyResources(this.groupBox1, "groupBox1"); + this.groupBox1.Controls.Add(this.scMain); this.groupBox1.Name = "groupBox1"; this.groupBox1.TabStop = false; // // gbMsgTitle // + resources.ApplyResources(this.gbMsgTitle, "gbMsgTitle"); this.gbMsgTitle.Controls.Add(this.txtMsgBox); this.gbMsgTitle.Controls.Add(this.ssMain); - resources.ApplyResources(this.gbMsgTitle, "gbMsgTitle"); this.gbMsgTitle.Name = "gbMsgTitle"; this.gbMsgTitle.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; this.txtMsgBox.ContextMenuStrip = this.cmsMsgBox; - 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; @@ -458,6 +464,7 @@ // // cmsMsgBox // + resources.ApplyResources(this.cmsMsgBox, "cmsMsgBox"); this.cmsMsgBox.Items.AddRange(new System.Windows.Forms.ToolStripItem[] { this.menuMsgBoxSelectAll, this.menuMsgBoxCopy, @@ -465,40 +472,40 @@ this.menuMsgBoxAddRoutingRule, this.menuMsgBoxFilter}); this.cmsMsgBox.Name = "cmsMsgBox"; - resources.ApplyResources(this.cmsMsgBox, "cmsMsgBox"); // // menuMsgBoxSelectAll // - this.menuMsgBoxSelectAll.Name = "menuMsgBoxSelectAll"; resources.ApplyResources(this.menuMsgBoxSelectAll, "menuMsgBoxSelectAll"); + this.menuMsgBoxSelectAll.Name = "menuMsgBoxSelectAll"; this.menuMsgBoxSelectAll.Click += new System.EventHandler(this.menuMsgBoxSelectAll_Click); // // menuMsgBoxCopy // - this.menuMsgBoxCopy.Name = "menuMsgBoxCopy"; resources.ApplyResources(this.menuMsgBoxCopy, "menuMsgBoxCopy"); + this.menuMsgBoxCopy.Name = "menuMsgBoxCopy"; this.menuMsgBoxCopy.Click += new System.EventHandler(this.menuMsgBoxCopy_Click); // // menuMsgBoxCopyAll // - this.menuMsgBoxCopyAll.Name = "menuMsgBoxCopyAll"; resources.ApplyResources(this.menuMsgBoxCopyAll, "menuMsgBoxCopyAll"); + this.menuMsgBoxCopyAll.Name = "menuMsgBoxCopyAll"; this.menuMsgBoxCopyAll.Click += new System.EventHandler(this.menuMsgBoxCopyAll_Click); // // menuMsgBoxAddRoutingRule // - this.menuMsgBoxAddRoutingRule.Name = "menuMsgBoxAddRoutingRule"; resources.ApplyResources(this.menuMsgBoxAddRoutingRule, "menuMsgBoxAddRoutingRule"); + this.menuMsgBoxAddRoutingRule.Name = "menuMsgBoxAddRoutingRule"; this.menuMsgBoxAddRoutingRule.Click += new System.EventHandler(this.menuMsgBoxAddRoutingRule_Click); // // menuMsgBoxFilter // - this.menuMsgBoxFilter.Name = "menuMsgBoxFilter"; resources.ApplyResources(this.menuMsgBoxFilter, "menuMsgBoxFilter"); + this.menuMsgBoxFilter.Name = "menuMsgBoxFilter"; this.menuMsgBoxFilter.Click += new System.EventHandler(this.menuMsgBoxFilter_Click); // // ssMain // + resources.ApplyResources(this.ssMain, "ssMain"); this.ssMain.ImageScalingSize = new System.Drawing.Size(20, 20); this.ssMain.Items.AddRange(new System.Windows.Forms.ToolStripItem[] { this.toolSslSocksPortLab, @@ -507,9 +514,9 @@ this.toolSslHttpPortLab, this.toolSslHttpPort, this.toolSslBlank2, + 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); // @@ -520,8 +527,8 @@ // // toolSslSocksPort // - this.toolSslSocksPort.Name = "toolSslSocksPort"; resources.ApplyResources(this.toolSslSocksPort, "toolSslSocksPort"); + this.toolSslSocksPort.Name = "toolSslSocksPort"; // // toolSslBlank1 // @@ -536,8 +543,8 @@ // // toolSslHttpPort // - this.toolSslHttpPort.Name = "toolSslHttpPort"; resources.ApplyResources(this.toolSslHttpPort, "toolSslHttpPort"); + this.toolSslHttpPort.Name = "toolSslHttpPort"; // // toolSslBlank2 // @@ -545,6 +552,12 @@ this.toolSslBlank2.Name = "toolSslBlank2"; this.toolSslBlank2.Spring = true; // + // toolSslBlank3 + // + resources.ApplyResources(this.toolSslBlank3, "toolSslBlank3"); + this.toolSslBlank3.Name = "toolSslBlank3"; + this.toolSslBlank3.Spring = true; + // // toolSslServerSpeed // resources.ApplyResources(this.toolSslServerSpeed, "toolSslServerSpeed"); @@ -553,19 +566,19 @@ // // toolSslBlank4 // - this.toolSslBlank4.Name = "toolSslBlank4"; resources.ApplyResources(this.toolSslBlank4, "toolSslBlank4"); + this.toolSslBlank4.Name = "toolSslBlank4"; // // notifyMain // - this.notifyMain.ContextMenuStrip = this.cmsMain; resources.ApplyResources(this.notifyMain, "notifyMain"); + this.notifyMain.ContextMenuStrip = this.cmsMain; this.notifyMain.DoubleClick += notifyIcon_DoubleClick; // // cmsMain // - this.cmsMain.ImageScalingSize = new System.Drawing.Size(20, 20); resources.ApplyResources(this.cmsMain, "cmsMain"); + this.cmsMain.ImageScalingSize = new System.Drawing.Size(20, 20); this.cmsMain.Items.AddRange(new System.Windows.Forms.ToolStripItem[] { this.menuSysAgentMode, this.menuRoutings, @@ -583,74 +596,74 @@ // // menuSysAgentMode // + resources.ApplyResources(this.menuSysAgentMode, "menuSysAgentMode"); this.menuSysAgentMode.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] { this.menuKeepClear, this.menuGlobal, this.menuKeepNothing}); this.menuSysAgentMode.Name = "menuSysAgentMode"; - resources.ApplyResources(this.menuSysAgentMode, "menuSysAgentMode"); // // menuKeepClear // - this.menuKeepClear.Name = "menuKeepClear"; resources.ApplyResources(this.menuKeepClear, "menuKeepClear"); + this.menuKeepClear.Name = "menuKeepClear"; this.menuKeepClear.Click += new System.EventHandler(this.menuKeepClear_Click); // // menuGlobal // - this.menuGlobal.Name = "menuGlobal"; resources.ApplyResources(this.menuGlobal, "menuGlobal"); + this.menuGlobal.Name = "menuGlobal"; this.menuGlobal.Click += new System.EventHandler(this.menuGlobal_Click); // // menuKeepNothing // - this.menuKeepNothing.Name = "menuKeepNothing"; resources.ApplyResources(this.menuKeepNothing, "menuKeepNothing"); + this.menuKeepNothing.Name = "menuKeepNothing"; this.menuKeepNothing.Click += new System.EventHandler(this.menuKeepNothing_Click); // // menuRoutings // - this.menuRoutings.Name = "menuRoutings"; resources.ApplyResources(this.menuRoutings, "menuRoutings"); + this.menuRoutings.Name = "menuRoutings"; // // menuServers // - this.menuServers.Name = "menuServers"; resources.ApplyResources(this.menuServers, "menuServers"); + this.menuServers.Name = "menuServers"; menuServers.Visible = false; // // toolStripSeparator13 // - this.toolStripSeparator13.Name = "toolStripSeparator13"; resources.ApplyResources(this.toolStripSeparator13, "toolStripSeparator13"); + this.toolStripSeparator13.Name = "toolStripSeparator13"; // // menuAddServers2 // - this.menuAddServers2.Name = "menuAddServers2"; resources.ApplyResources(this.menuAddServers2, "menuAddServers2"); + this.menuAddServers2.Name = "menuAddServers2"; this.menuAddServers2.Click += new System.EventHandler(this.menuAddServers_Click); // // menuScanScreen2 // - this.menuScanScreen2.Name = "menuScanScreen2"; resources.ApplyResources(this.menuScanScreen2, "menuScanScreen2"); + this.menuScanScreen2.Name = "menuScanScreen2"; this.menuScanScreen2.Click += new System.EventHandler(this.menuScanScreen_Click); // // menuUpdateSubscriptions // - this.menuUpdateSubscriptions.Name = "menuUpdateSubscriptions"; resources.ApplyResources(this.menuUpdateSubscriptions, "menuUpdateSubscriptions"); + this.menuUpdateSubscriptions.Name = "menuUpdateSubscriptions"; this.menuUpdateSubscriptions.Click += new System.EventHandler(this.menuUpdateSubscriptions_Click); // // toolStripSeparator2 // - this.toolStripSeparator2.Name = "toolStripSeparator2"; resources.ApplyResources(this.toolStripSeparator2, "toolStripSeparator2"); + this.toolStripSeparator2.Name = "toolStripSeparator2"; // // menuExit // - this.menuExit.Name = "menuExit"; resources.ApplyResources(this.menuExit, "menuExit"); + this.menuExit.Name = "menuExit"; this.menuExit.Click += new System.EventHandler(this.menuExit_Click); // // bgwScan @@ -666,6 +679,7 @@ // // 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, @@ -683,88 +697,87 @@ this.tsbPromotion, this.toolStripSeparator11, this.tsbClose}); - resources.ApplyResources(this.tsMain, "tsMain"); this.tsMain.Name = "tsMain"; this.tsMain.TabStop = true; // // toolStripSeparator4 // - this.toolStripSeparator4.Name = "toolStripSeparator4"; resources.ApplyResources(this.toolStripSeparator4, "toolStripSeparator4"); + this.toolStripSeparator4.Name = "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 // - this.tsbSubSetting.Name = "tsbSubSetting"; resources.ApplyResources(this.tsbSubSetting, "tsbSubSetting"); + this.tsbSubSetting.Name = "tsbSubSetting"; this.tsbSubSetting.Click += new System.EventHandler(this.tsbSubSetting_Click); // // tsbSubUpdate // - this.tsbSubUpdate.Name = "tsbSubUpdate"; resources.ApplyResources(this.tsbSubUpdate, "tsbSubUpdate"); + this.tsbSubUpdate.Name = "tsbSubUpdate"; this.tsbSubUpdate.Click += new System.EventHandler(this.tsbSubUpdate_Click); // // tsbQRCodeSwitch // + resources.ApplyResources(this.tsbQRCodeSwitch, "tsbQRCodeSwitch"); this.tsbQRCodeSwitch.CheckOnClick = true; this.tsbQRCodeSwitch.ForeColor = System.Drawing.Color.Black; this.tsbQRCodeSwitch.Image = global::v2rayN.Properties.Resources.share; - resources.ApplyResources(this.tsbQRCodeSwitch, "tsbQRCodeSwitch"); this.tsbQRCodeSwitch.Name = "tsbQRCodeSwitch"; this.tsbQRCodeSwitch.CheckedChanged += new System.EventHandler(this.tsbQRCodeSwitch_CheckedChanged); // // toolStripSeparator8 // - this.toolStripSeparator8.Name = "toolStripSeparator8"; resources.ApplyResources(this.toolStripSeparator8, "toolStripSeparator8"); + this.toolStripSeparator8.Name = "toolStripSeparator8"; // // tsbSetting // + resources.ApplyResources(this.tsbSetting, "tsbSetting"); this.tsbSetting.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] { this.tsbOptionSetting, this.tsbRoutingSetting, this.toolStripSeparator14, this.tsbBackupGuiNConfig}); this.tsbSetting.Image = global::v2rayN.Properties.Resources.option; - resources.ApplyResources(this.tsbSetting, "tsbSetting"); this.tsbSetting.Name = "tsbSetting"; // // tsbOptionSetting // - this.tsbOptionSetting.Name = "tsbOptionSetting"; resources.ApplyResources(this.tsbOptionSetting, "tsbOptionSetting"); + this.tsbOptionSetting.Name = "tsbOptionSetting"; this.tsbOptionSetting.Click += new System.EventHandler(this.tsbOptionSetting_Click); // // tsbRoutingSetting // - this.tsbRoutingSetting.Name = "tsbRoutingSetting"; resources.ApplyResources(this.tsbRoutingSetting, "tsbRoutingSetting"); + this.tsbRoutingSetting.Name = "tsbRoutingSetting"; this.tsbRoutingSetting.Click += new System.EventHandler(this.tsbRoutingSetting_Click); // // toolStripSeparator14 // - this.toolStripSeparator14.Name = "toolStripSeparator14"; resources.ApplyResources(this.toolStripSeparator14, "toolStripSeparator14"); + this.toolStripSeparator14.Name = "toolStripSeparator14"; // // tsbBackupGuiNConfig // - this.tsbBackupGuiNConfig.Name = "tsbBackupGuiNConfig"; resources.ApplyResources(this.tsbBackupGuiNConfig, "tsbBackupGuiNConfig"); + this.tsbBackupGuiNConfig.Name = "tsbBackupGuiNConfig"; this.tsbBackupGuiNConfig.Click += new System.EventHandler(this.tsbBackupGuiNConfig_Click); // // toolStripSeparator5 // - this.toolStripSeparator5.Name = "toolStripSeparator5"; resources.ApplyResources(this.toolStripSeparator5, "toolStripSeparator5"); + this.toolStripSeparator5.Name = "toolStripSeparator5"; // // tsbReload // @@ -774,11 +787,12 @@ // // toolStripSeparator7 // - this.toolStripSeparator7.Name = "toolStripSeparator7"; resources.ApplyResources(this.toolStripSeparator7, "toolStripSeparator7"); + this.toolStripSeparator7.Name = "toolStripSeparator7"; // // tsbCheckUpdate // + resources.ApplyResources(this.tsbCheckUpdate, "tsbCheckUpdate"); this.tsbCheckUpdate.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] { this.tsbCheckUpdateN, this.tsbCheckUpdateCore, @@ -787,51 +801,51 @@ this.tsbCheckUpdateGeoSite, this.tsbCheckUpdateGeoIP}); this.tsbCheckUpdate.Image = global::v2rayN.Properties.Resources.checkupdate; - resources.ApplyResources(this.tsbCheckUpdate, "tsbCheckUpdate"); this.tsbCheckUpdate.Name = "tsbCheckUpdate"; // // tsbCheckUpdateN // - this.tsbCheckUpdateN.Name = "tsbCheckUpdateN"; resources.ApplyResources(this.tsbCheckUpdateN, "tsbCheckUpdateN"); + this.tsbCheckUpdateN.Name = "tsbCheckUpdateN"; this.tsbCheckUpdateN.Click += new System.EventHandler(this.tsbCheckUpdateN_Click); // // tsbCheckUpdateCore // - this.tsbCheckUpdateCore.Name = "tsbCheckUpdateCore"; resources.ApplyResources(this.tsbCheckUpdateCore, "tsbCheckUpdateCore"); + this.tsbCheckUpdateCore.Name = "tsbCheckUpdateCore"; this.tsbCheckUpdateCore.Click += new System.EventHandler(this.tsbCheckUpdateCore_Click); // // tsbCheckUpdateXrayCore // - this.tsbCheckUpdateXrayCore.Name = "tsbCheckUpdateXrayCore"; resources.ApplyResources(this.tsbCheckUpdateXrayCore, "tsbCheckUpdateXrayCore"); + this.tsbCheckUpdateXrayCore.Name = "tsbCheckUpdateXrayCore"; this.tsbCheckUpdateXrayCore.Click += new System.EventHandler(this.tsbCheckUpdateXrayCore_Click); // // toolStripSeparator15 // - this.toolStripSeparator15.Name = "toolStripSeparator15"; resources.ApplyResources(this.toolStripSeparator15, "toolStripSeparator15"); + this.toolStripSeparator15.Name = "toolStripSeparator15"; // // tsbCheckUpdateGeoSite // - this.tsbCheckUpdateGeoSite.Name = "tsbCheckUpdateGeoSite"; resources.ApplyResources(this.tsbCheckUpdateGeoSite, "tsbCheckUpdateGeoSite"); + this.tsbCheckUpdateGeoSite.Name = "tsbCheckUpdateGeoSite"; this.tsbCheckUpdateGeoSite.Click += new System.EventHandler(this.tsbCheckUpdateGeoSite_Click); // // tsbCheckUpdateGeoIP // - this.tsbCheckUpdateGeoIP.Name = "tsbCheckUpdateGeoIP"; resources.ApplyResources(this.tsbCheckUpdateGeoIP, "tsbCheckUpdateGeoIP"); + this.tsbCheckUpdateGeoIP.Name = "tsbCheckUpdateGeoIP"; this.tsbCheckUpdateGeoIP.Click += new System.EventHandler(this.tsbCheckUpdateGeoIP_Click); // // toolStripSeparator10 // - this.toolStripSeparator10.Name = "toolStripSeparator10"; resources.ApplyResources(this.toolStripSeparator10, "toolStripSeparator10"); + this.toolStripSeparator10.Name = "toolStripSeparator10"; // // tsbHelp // + resources.ApplyResources(this.tsbHelp, "tsbHelp"); this.tsbHelp.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] { this.tsbAbout, this.tsbV2rayWebsite, @@ -839,50 +853,49 @@ this.tsbLanguageDef, this.tsbLanguageZhHans}); this.tsbHelp.Image = global::v2rayN.Properties.Resources.help; - resources.ApplyResources(this.tsbHelp, "tsbHelp"); this.tsbHelp.Name = "tsbHelp"; // // tsbAbout // - this.tsbAbout.Name = "tsbAbout"; resources.ApplyResources(this.tsbAbout, "tsbAbout"); + this.tsbAbout.Name = "tsbAbout"; this.tsbAbout.Click += new System.EventHandler(this.tsbAbout_Click); // // tsbV2rayWebsite // - this.tsbV2rayWebsite.Name = "tsbV2rayWebsite"; resources.ApplyResources(this.tsbV2rayWebsite, "tsbV2rayWebsite"); + this.tsbV2rayWebsite.Name = "tsbV2rayWebsite"; this.tsbV2rayWebsite.Click += new System.EventHandler(this.tsbV2rayWebsite_Click); // // toolStripSeparator12 // - this.toolStripSeparator12.Name = "toolStripSeparator12"; resources.ApplyResources(this.toolStripSeparator12, "toolStripSeparator12"); + this.toolStripSeparator12.Name = "toolStripSeparator12"; // // tsbLanguageDef // - this.tsbLanguageDef.Name = "tsbLanguageDef"; resources.ApplyResources(this.tsbLanguageDef, "tsbLanguageDef"); + this.tsbLanguageDef.Name = "tsbLanguageDef"; this.tsbLanguageDef.Click += new System.EventHandler(this.tsbLanguageDef_Click); // // tsbLanguageZhHans // - this.tsbLanguageZhHans.Name = "tsbLanguageZhHans"; resources.ApplyResources(this.tsbLanguageZhHans, "tsbLanguageZhHans"); + this.tsbLanguageZhHans.Name = "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 // - this.toolStripSeparator11.Name = "toolStripSeparator11"; resources.ApplyResources(this.toolStripSeparator11, "toolStripSeparator11"); + this.toolStripSeparator11.Name = "toolStripSeparator11"; // // tsbClose // @@ -1000,6 +1013,7 @@ private System.Windows.Forms.ToolStripStatusLabel toolSslHttpPort; private System.Windows.Forms.ToolStripStatusLabel toolSslBlank2; private System.Windows.Forms.ToolStripStatusLabel toolSslBlank1; + private System.Windows.Forms.ToolStripStatusLabel toolSslBlank3; private System.Windows.Forms.ToolStripStatusLabel toolSslSocksPortLab; private System.Windows.Forms.ToolStripStatusLabel toolSslHttpPortLab; private System.Windows.Forms.ToolStripStatusLabel toolSslServerSpeed; diff --git a/v2rayN/v2rayN/Forms/MainForm.cs b/v2rayN/v2rayN/Forms/MainForm.cs index db777430..a5beb8d7 100644 --- a/v2rayN/v2rayN/Forms/MainForm.cs +++ b/v2rayN/v2rayN/Forms/MainForm.cs @@ -50,7 +50,6 @@ namespace v2rayN.Forms { ConfigHandler.LoadConfig(ref config); ConfigHandler.InitBuiltinRouting(ref config); - MainFormHandler.Instance.BackupGuiNConfig(config, true); v2rayHandler = new V2rayHandler(); v2rayHandler.ProcessEvent += v2rayHandler_ProcessEvent; @@ -58,7 +57,6 @@ namespace v2rayN.Forms { statistics = new StatisticsHandler(config, UpdateStatisticsHandler); } - MainFormHandler.Instance.UpdateTask(config, UpdateTaskHandler); } private void MainForm_VisibleChanged(object sender, EventArgs e) @@ -938,7 +936,7 @@ namespace v2rayN.Forms { if (!Utils.IsNullOrEmpty(MsgFilter)) { - if (!Regex.IsMatch(text, MsgFilter)) + if (!Regex.IsMatch(text,MsgFilter)) { return; } @@ -970,10 +968,7 @@ namespace v2rayN.Forms /// private void ClearMsg() { - txtMsgBox.Invoke((Action)delegate - { - txtMsgBox.Clear(); - }); + this.txtMsgBox.Clear(); } /// @@ -1095,15 +1090,6 @@ namespace v2rayN.Forms } } - private void UpdateTaskHandler(bool success, string msg) - { - AppendText(false, msg); - if (success) - { - Global.reloadV2ray = true; - LoadV2ray(); - } - } #endregion #region 移动服务器 @@ -1233,7 +1219,8 @@ namespace v2rayN.Forms { CloseV2ray(); - string fileName = Utils.GetPath(Utils.GetDownloadFileName(msg)); + string fileName = Global.DownloadFileName; + fileName = Utils.GetPath(fileName); FileManager.ZipExtractToFile(fileName, config.ignoreGeoUpdateCore ? "geo" : ""); AppendText(false, UIRes.I18N("MsgUpdateV2rayCoreSuccessfullyMore")); diff --git a/v2rayN/v2rayN/Forms/MainForm.resx b/v2rayN/v2rayN/Forms/MainForm.resx index a0f751f7..c110104b 100644 --- a/v2rayN/v2rayN/Forms/MainForm.resx +++ b/v2rayN/v2rayN/Forms/MainForm.resx @@ -117,203 +117,776 @@ System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - Fill + + Remove duplicate servers - - 3, 17 - - - 327, 17 - - + 355, 22 - - Add [VMess] server + + System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - + + 355, 22 + + + 97, 53 + + 355, 22 Add [VLESS] server - - 355, 22 + + 0 - - Add [Shadowsocks] server + + System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - 355, 22 + + System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + Restart service + + + tsbSubSetting + + + 264, 22 + + + gbMsgTitle + + + menuMoveUp Add [Socks] server + + System.Windows.Forms.ToolStripSeparator, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + + ImageAboveText + + + 227, 22 + + + 语言-[中文简体] + + + NoControl + + + Settings + + + tsbHelp + + + System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Windows.Forms.SplitterPanel, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + toolStripSeparator6 + 355, 22 - - Add [Trojan] server + + menuMoveDown - - 355, 22 + + System.Windows.Forms.ToolStripSeparator, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - Add a custom configuration server + + 99, 53 - - 355, 22 + + Update subscriptions - - Import bulk URL from clipboard (Ctrl+V) + + $this - - 355, 22 + + System.Windows.Forms.ToolStripSeparator, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - Scan QR code on the screen (Ctrl+S) + + 187, 22 - - 352, 6 + + gbMsgTitle + + + tsbSetting + + + toolSslBlank2 355, 22 - - Remove selected servers (Delete) - - + 355, 22 - - Remove duplicate servers + + tsbCheckUpdateN + + + 45, 53 + + + Do not change system proxy + + + tsbCheckUpdateGeoSite + + + System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + toolStripSeparator7 + + + Update v2flyCore + + + Update GeoSite + + + Magenta + + + menuMsgBoxAddRoutingRule 355, 22 - - Clone selected server + + System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - 355, 22 + + menuExport2SubContent - - Set as active server (Enter) + + 52, 21 - - 352, 6 + + Share + + + 227, 22 + + + tsbQRCodeSwitch + + + Add Routing Rule (Ctrl+V) 355, 22 - - Move to top (T) - - - 355, 22 - - - Up (U) - - - 355, 22 - - - Down (D) - - - 355, 22 - - - Move to bottom (B) - - - 355, 22 - - - Select All (Ctrl+A) - - - 352, 6 - - - 355, 22 - - - Test servers ping (Ctrl+P) - - - 355, 22 - - - Test servers with tcping (Ctrl+O) - - - 355, 22 - - - Test servers real delay (Ctrl+R) - - - 355, 22 - - - Test servers download speed (Ctrl+T) - - - 355, 22 - - - Test current service status - - - 355, 22 - - - Clear all service statistics - - - 352, 6 - - - 355, 22 + + Horizontal Export selected server for client configuration - - 355, 22 + + tsbRoutingSetting + + + System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + 227, 22 Export selected server for server configuration - - 355, 22 + + splitContainer1 - - Export share URLs to clipboard (Ctrl+C) + + System.Windows.Forms.SplitContainer, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - 355, 22 + + 128, 53 - - Export subscription (base64) share to clipboard + + System.Windows.Forms.SplitContainer, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + 0 + + + Test servers real delay (Ctrl+R) + + + menuTcpingServer + + + ImageAboveText + + + System.Windows.Forms.ToolStripSeparator, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 356, 622 - - cmsLv + + System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + v2rayN + + + 355, 22 + + + toolStripSeparator1 + + + System.Windows.Forms.ToolStripDropDownButton, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + 203, 22 + + + System.Windows.Forms.ToolStripSeparator, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + menuMsgBoxCopy + + + System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + tsbClose + + + System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Windows.Forms.ToolStripSeparator, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Windows.Forms.ToolStripSeparator, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + menuPingServer + + + System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + tsbLanguageDef + + + + iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO + wwAADsMBx2+oZAAAATdJREFUWEftloENAiEMRW8ER3AEN9ANdARHcAPdwBF0A91AN9INtC+5JvUCJwWM + mvCTFw3QUiiU65qa/lUTYT6Ato9rJZyERwT6GFNdU+EihCYNwVhsqmgm3AR1fheOAitd9PCfNvp0HDbY + FolV2MmZZCzX9J0FG0TRTlwFdbahIVE7Qe1IR5bYVnXCyr2yO5F1MNUBec25YtjomcCXSxhr9DmrV2Gr + flyL4GSrYcm9tmnEZ7JsAC7DgWr5ydbXA8hOAcVjG8FTD6ocQgvXKrW8MqFWUfc1DAXgmRwVFaJQAHsh + VbYUU87diqWA934sl/TZ7wV2Lesx0gBwsO5/1Sl5PQhLQb+G+E+bfTm9KXsRAVgHrMK+jO9gbNEzzMSh + 6DlM9nANoa+kdCeLXLNLFtc9b2r6EXXdE4e4mdByNuG1AAAAAElFTkSuQmCC + + + + Servers + + + Export subscription (base64) share to clipboard + + + 3, 17 + + + 355, 22 + + + System.Windows.Forms.ToolStripStatusLabel, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + Fill + + + 6, 56 + + + System.Windows.Forms.ToolStripSeparator, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + 220, 21 + + + menuAddCustomServer + + + txtMsgBox + + + System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + Import bulk URL from clipboard + + + 0 + + + Move to bottom (B) + + + toolSslBlank3 + + + System.Windows.Forms.ToolStripStatusLabel, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + 6, 12 + + + 48, 53 + + + System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + Copy All + + + System.ComponentModel.BackgroundWorker, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + panel1 + + + 206, 21 + + + Fill + + + 0 + + + 686, 280 + + + toolStripSeparator4 + + + System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + 176, 22 + + + System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Windows.Forms.ToolStripSeparator, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Windows.Forms.ToolStripStatusLabel, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + scMain.Panel2 + + + System.Windows.Forms.ToolStripDropDownButton, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + 39, 21 + + + menuAddServers2 + + + Fill + + + + 3 + + + Add [VMess] server + + + $this + + + System.Windows.Forms.SplitterPanel, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + v2rayN.Forms.BaseForm, v2rayN, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null + + + tsbAbout + + + 206, 21 + + + 0 + + + toolStripSeparator5 + + + System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + True + + + 352, 6 + + + tsbPromotion + + + 256, 280 + + + 355, 22 + + + 4, 4, 4, 4 + + + Test servers with tcping (Ctrl+O) + + + System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + 6, 56 + + + 352, 6 + + + groupBox1 + + + 206, 21 + + + 2 + + + 125, 22 + + + Clear all service statistics + + + scMain.Panel2 + + + 176, 22 + + + 3 + + + 187, 22 + + + 6, 56 + + + Test servers download speed (Ctrl+T) + + + ssMain + + + 686 + + + splitContainer1 + + + 265, 170 + + + 243, 22 + + + splitContainer1.Panel1 + + + menuUpdateSubscriptions + + + scMain + + + Check for updates + + + tsbCheckUpdateXrayCore + + + 0, 21 + + + toolSslServerSpeed + + + System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + 4 + + + 125, 22 + + + scMain + + + 203, 22 + + + HTTP: + + + 952, 56 + + + tsbReload + + + menuCopyServer + + + System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + 0 + + + Help + + + menuMsgBoxSelectAll + + + menuSelectAll + + + Move to top (T) + + + System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + Vertical + + + System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + Scan QR code on the screen (Ctrl+S) + + + ImageAboveText + + + System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + Promotion + + + menuAddServers + + + 355, 22 + + + System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + tsbLanguageZhHans + + + menuRemoveDuplicateServer + + + System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + BottomCenter + + + menuExport2ShareUrl + + + 3 + + + splitContainer1.Panel1 + + + SOCKS5: + + + v2rayN (this software) + + + tsbOptionSetting + + + Magenta + + + System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Windows.Forms.ToolStripStatusLabel, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + 0, 0 + + + System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + Server + + + v2rayN.Base.ListViewFlickerFree, v2rayN, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null + + + menuAddShadowsocksServer + + + toolSslBlank4 + + + menuAddTrojanServer + + + 261, 6 + + + v2rayN + + + Language-[English] + + + 264, 22 + + + menuScanScreen2 + + + 0 + + + Fill + + + Routing + + + System.Windows.Forms.GroupBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + Add [Trojan] server + + + 176, 22 + + + System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + toolStripSeparator11 System.Windows.Forms.ContextMenuStrip, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - + + Set message filters + + + 352, 6 + + + System.Windows.Forms.ContextMenuStrip, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Windows.Forms.ToolStripStatusLabel, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + V2Ray Website + + Fill + + No + + + 1 + + + tsbV2rayWebsite + + + cmsMsgBox + + + System.Windows.Forms.SplitterPanel, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + OptionSetting + + + menuMoveTop + + + Copy (Ctrl+C) + AAEAAAD/////AQAAAAAAAAAMAgAAAFdTeXN0ZW0uV2luZG93cy5Gb3JtcywgVmVyc2lvbj00LjAuMC4w @@ -331,1316 +904,755 @@ ZW0uRHJhd2luZy5HcmFwaGljc1VuaXQBAAAAB3ZhbHVlX18ACAMAAAADAAAACw== - - 0, 0 - - - 686, 280 - - - - 0 - - - lvServers - - - v2rayN.Base.ListViewFlickerFree, v2rayN, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null - - - scMain.Panel1 - - - 0 - - - scMain.Panel1 - - - System.Windows.Forms.SplitterPanel, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - scMain - - - 0 - - - Fill - - - 0, 0 - - - 4, 4, 4, 4 - - - 256, 280 - - - 2 - - - qrCodeControl - - - v2rayN.Forms.QRCodeControl, v2rayN, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null - - - scMain.Panel2 - - - 0 - - - scMain.Panel2 - - - System.Windows.Forms.SplitterPanel, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - scMain - - - 1 - - - 100 - - - 946, 280 - - - 686 - - - 0 - - - scMain - - - System.Windows.Forms.SplitContainer, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - groupBox1 - - - 0 - - - Magenta - - - 64, 53 - - - Servers - - - ImageAboveText - - - Fill - - - 0, 66 - - - Horizontal - - - Fill - - - 0, 0 - 952, 300 - - 0 + + tsbCheckUpdateGeoIP - - Servers list - - - groupBox1 - - - System.Windows.Forms.GroupBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - splitContainer1.Panel1 - - - 0 - - - splitContainer1.Panel1 - - - System.Windows.Forms.SplitterPanel, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - splitContainer1 - - - 0 - - - 603, 17 - - - 227, 22 - - - Select All (Ctrl+A) - - - 227, 22 - - - Copy (Ctrl+C) - - - 227, 22 - - - Copy All - - - 227, 22 - - - Add Routing Rule (Ctrl+V) - - - 227, 22 - - - Set message filters - - - 228, 114 - - - cmsMsgBox - - - System.Windows.Forms.ContextMenuStrip, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - Fill - - - 3, 17 - - - 0 - - - True - - - Vertical - - - 946, 177 - - - 3 - - - txtMsgBox - - - System.Windows.Forms.TextBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - gbMsgTitle - - - 0 - - - 228, 18 - - - 微软雅黑, 8pt - - - 52, 21 - - - SOCKS5: - - - 0, 21 - - - 微软雅黑, 8pt - - - 279, 21 - - - 微软雅黑, 8pt - - - 39, 21 - - - HTTP: - - - 0, 21 - - - 微软雅黑, 8pt - - - 279, 21 - - - False - - - 微软雅黑, 8pt - - - No - - - 250, 21 - - - SPEED Disabled - - - MiddleRight - - - 0, 21 - - - 3, 194 - - - 946, 26 - - - 0 - - - statusStrip1 - - - ssMain - - - System.Windows.Forms.StatusStrip, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - gbMsgTitle - - - 1 - - - Fill - - - 0, 0 - - - 952, 223 - - - 3 - - - Informations - - - gbMsgTitle - - - System.Windows.Forms.GroupBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - splitContainer1.Panel2 - - - 0 - - - splitContainer1.Panel2 - - - System.Windows.Forms.SplitterPanel, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - splitContainer1 - - - 1 - - - 952, 527 - - - 300 - - - 5 - - - splitContainer1 - - - System.Windows.Forms.SplitContainer, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - $this - - - 3 - - - 17, 17 - - - 137, 17 - - - NoControl - - - 243, 22 - - - Clear system proxy - - - 243, 22 - - - Set system proxy - - - 243, 22 - - - Do not change system proxy - - - 264, 22 - - - Http proxy - - - 264, 22 - - - Routing - - - 264, 22 - - - Server - - - 261, 6 - - - 264, 22 - - - Import bulk URL from clipboard - - - 264, 22 - - - Scan QR code on the screen - - - 264, 22 - - - Update subscriptions - - - 261, 6 - - - 264, 22 - - - Exit - - - 265, 170 - - - cmsMain - - - System.Windows.Forms.ContextMenuStrip, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - v2rayN - - - True - - - 498, 17 - - - Top - - - 0, 56 - - - 952, 10 - - - 2 - - - panel1 - - - System.Windows.Forms.Panel, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - $this - - - 4 - - - 409, 17 - - - 6, 56 - - - 180, 22 - - - Settings - - - 180, 22 - - - Updates - - - Magenta - - - 99, 53 - - - Subscriptions - - - ImageAboveText - - - Magenta - - - 45, 53 - - - Share - - - BottomCenter - - - ImageAboveText - - - 6, 56 - - - 176, 22 - - - OptionSetting - - - 176, 22 - - - RoutingSetting - - - 173, 6 - - - 176, 22 - - - BackupGuiConfig - - - Magenta - - - 67, 53 - - - Settings + + menuScanScreen ImageAboveText + + cmsLv + + + toolStripSeparator12 + 6, 56 - - - iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 - YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAE3SURBVFhH7ZaBDQIhDEVvBEdwBDfQDXQER3AD3cARdAPd - QDfSDbQvuSb1AicFjJrwkxcN0FIolOuamv5VE2E+gLaPayWchEcE+hhTXVPhIoQmDcFYbKpoJtwEdX4X - jgIrXfTwnzb6dBw22BaJVdjJmWQs1/SdBRtE0U5cBXW2oSFRO0HtSEeW2FZ1wsq9sjuRdTDVAXnNuWLY - 6JnAl0sYa/Q5q1dhq35ci+Bkq2HJvbZpxGeybAAuw4Fq+cnW1wPITgHFYxvBUw+qHEIL1yq1vDKhVlH3 - NQwF4JkcFRWiUAB7IVW2FFPO3YqlgPd+LJf02e8Fdi3rMdIAcLDuf9UpeT0IS0G/hvhPm305vSl7EQFY - B6zCvozvYGzRM8zEoeg5TPZwDaGvpHQni1yzSxbXPW9q+hF13ROHuJnQcjbhtQAAAABJRU5ErkJggg== - + + Fill - - BottomCenter + + toolSslBlank1 - - Magenta + + tsbSubUpdate - - 97, 53 + + tsMain - - Restart service + + 5 - + + SPEED Disabled + + + 355, 22 + + + 67, 53 + + + menuSysAgentMode + + + menuKeepNothing + + + 952, 527 + + + System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + ImageAboveText - - 6, 56 - - - 203, 22 - - - v2rayN (this software) - - - 203, 22 - - - Update v2flyCore - - - 203, 22 - - - Update XrayCore - - - 200, 6 - - - 203, 22 - - - Update GeoSite - - - 203, 22 - - - Update GeoIP - - - Magenta - - - 128, 53 - - - Check for updates - - - ImageAboveText - - - 6, 56 - - - 187, 22 - - - v2rayN Project - - - 187, 22 - - - V2Ray Website - - - 184, 6 - - - 187, 22 - - - Language-[English] - 187, 22 - - 语言-[中文简体] + + 227, 22 - - Magenta + + System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - 48, 53 + + 1 - - Help + + cmsMain - - ImageAboveText + + 264, 22 - - Magenta + + menuServers + + + System.Windows.Forms.ToolStripSeparator, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + toolStripSeparator13 + + + menuMsgBoxFilter + + + 203, 22 + + + RoutingSetting + + + System.Windows.Forms.ToolStripStatusLabel, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + Update GeoIP + + + 3, 194 + + + True + + + 355, 22 + + + Subscriptions + + + 952, 10 + + + Updates + + + 264, 22 + + + toolStripSeparator14 + + + 0 + + + toolStripSeparator8 + + + menuMsgBoxCopyAll + + + menuExport2ServerConfig 89, 53 - - Promotion + + System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - + + BottomCenter + + + Test servers ping (Ctrl+P) + + + System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + 355, 22 + + + 264, 22 + + + System.Windows.Forms.ToolStripDropDownButton, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Windows.Forms.ToolStripDropDownButton, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + Top + + + menuSetDefaultServer + + + System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + 203, 22 + + + Settings + + + 0, 21 + + + System.Windows.Forms.ToolStripStatusLabel, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + Http proxy + + + System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + 355, 22 + + + groupBox1 + + + MainForm + + + 微软雅黑, 8pt + + + menuExit + + + 227, 22 + + + False + + + System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + Servers list + + + System.Windows.Forms.ToolStripStatusLabel, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + lvServers + + + menuRealPingServer + + + Magenta + + + System.Windows.Forms.ToolStripStatusLabel, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + menuGlobal + + + 300 + + + System.Windows.Forms.ToolStripButton, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + 2 + + + 4, 4, 4, 4 + + + Magenta + + + 355, 22 + + + v2rayN Project + + + 0 + + + System.Windows.Forms.ToolStripSeparator, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + toolSslHttpPort + + + Select All (Ctrl+A) + + + menuRoutings + + + gbMsgTitle + + + System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Windows.Forms.ToolStripButton, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + tsbCheckUpdateCore + + + menuSpeedServer + + + 355, 22 + + + menuRemoveServer + + + tsbBackupGuiNConfig + + + tsbServer + + + tsbTestMe + + + 355, 22 + + + 946, 177 + + + System.Windows.Forms.ToolStripSeparator, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + menuAddVmessServer + + + scMain + + + Down (D) + + + 352, 6 + + + Magenta + + + 243, 22 + + + Remove selected servers (Delete) + + + 355, 22 + + + tsbSub + + + Magenta + + ImageAboveText + + Clone selected server + + + 0, 0 + + + System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + 355, 22 + + + System.Windows.Forms.SplitterPanel, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + tsbCheckUpdate + + + System.Windows.Forms.TextBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + 微软雅黑, 8pt + + + Export share URLs to clipboard (Ctrl+C) + + + 243, 22 + + + 355, 22 + + + System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + v2rayN.Forms.QRCodeControl, v2rayN, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null + + + 微软雅黑, 8pt + + + System.Windows.Forms.ToolStrip, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + menuExport2ClientConfig + + + $this + + + 0, 0 + + + qrCodeControl + + + 228, 114 + + + Clear system proxy + + + 355, 22 + + + 0 + + + System.Windows.Forms.ToolStripSeparator, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Windows.Forms.Panel, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + 微软雅黑, 8pt + + + System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + ImageAboveText + + + System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + 203, 22 + + + 184, 6 + + + splitContainer1.Panel2 + + + 0, 0 + + + scMain.Panel1 + + + Up (U) + + + System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + notifyMain + + + Set system proxy + + + System.Windows.Forms.ToolStripButton, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + MiddleRight + + + System.Windows.Forms.GroupBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + Select All (Ctrl+A) + + + 0, 66 + + + 100 + + + System.Windows.Forms.ToolStripSeparator, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + menuAddSocksServer + + + scMain.Panel1 + + + 微软雅黑, 8pt + + + 64, 53 + + + Magenta + + + 946, 26 + + + 5 + + + 355, 22 + + + Set as active server (Enter) + + + menuAddVlessServer + + + 946, 280 + + + 6, 56 + + + Add [Shadowsocks] server + + + 261, 6 + + + 微软雅黑, 8pt + + + splitContainer1 + + + 952, 593 + + + Test current service status + + + toolSslSocksPort + + + toolStripSeparator10 + + + toolSslHttpPortLab + + + menuMoveBottom + + + 355, 22 + + + 1 + + + Magenta + + + 0 + + + System.Windows.Forms.ToolStripSeparator, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + 187, 22 + + + Informations + + + 0 + + + System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + 264, 22 + 6, 56 - - - iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 - YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAAySURBVFhH7c6xDQAgCEVBRnVTHU2ZABuMxV3yOvJDAAA/ - GqfZVG6X8mg1dfUAAPBQxAZd0SJruVXHWwAAAABJRU5ErkJggg== - + + toolStripSeparator9 - + + splitContainer1.Panel2 + + + System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + Magenta 52, 53 + + ImageAboveText + + + System.Windows.Forms.NotifyIcon, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + Exit + + + menuClearServerStatistics + + + System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + Scan QR code on the screen + + + 0, 56 + Close - - ImageAboveText + + 264, 22 - - 0, 0 + + 0, 21 - - 952, 56 + + 0 - + + Import bulk URL from clipboard (Ctrl+V) + + + 952, 223 + + + Update XrayCore + + + toolStripSeparator2 + + + toolSslSocksPortLab + + + Add a custom configuration server + + + 173, 6 + + 1 - - tsMain + + bgwScan - - System.Windows.Forms.ToolStrip, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + System.Windows.Forms.ToolStripButton, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - $this + + statusStrip1 - - 5 + + System.Windows.Forms.ToolStripDropDownButton, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + 0, 0 + + + Fill + + + 3, 17 + + + toolStripSeparator3 + + + BackupGuiConfig + + + + iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO + wwAADsMBx2+oZAAAADJJREFUWEftzrENACAIRUFGdVMdTZkAG4zFXfI68kMAAD8ap9lUbpfyaDV19QAA + 8FDEBl3RImu5VcdbAAAAAElFTkSuQmCC + + + + 355, 22 + + + 355, 22 + + + System.Windows.Forms.ContextMenuStrip, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + menuKeepClear + + + ImageAboveText + + + System.Windows.Forms.StatusStrip, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + 200, 6 + + + toolStripSeparator15 + + + 228, 18 + + + 603, 17 + True 65 - - 6, 12 - - - 952, 593 - - - 4, 4, 4, 4 - - - v2rayN - - - menuAddVmessServer - - - System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - menuAddVlessServer - - - System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - menuAddShadowsocksServer - - - System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - menuAddSocksServer - - - System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - menuAddTrojanServer - - - System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - menuAddCustomServer - - - System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - menuAddServers - - - System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - menuScanScreen - - - System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - toolStripSeparator1 - - - System.Windows.Forms.ToolStripSeparator, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - menuRemoveServer - - - System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - menuRemoveDuplicateServer - - - System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - menuCopyServer - - - System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - menuSetDefaultServer - - - System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - toolStripSeparator3 - - - System.Windows.Forms.ToolStripSeparator, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - menuMoveTop - - - System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - menuMoveUp - - - System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - menuMoveDown - - - System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - menuMoveBottom - - - System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - menuSelectAll - - - System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - toolStripSeparator9 - - - System.Windows.Forms.ToolStripSeparator, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - menuPingServer - - - System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - menuTcpingServer - - - System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - menuRealPingServer - - - System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - menuSpeedServer - - - System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - tsbTestMe - - - System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - menuClearServerStatistics - - - System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - toolStripSeparator6 - - - System.Windows.Forms.ToolStripSeparator, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - menuExport2ClientConfig - - - System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - menuExport2ServerConfig - - - System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - menuExport2ShareUrl - - - System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - menuExport2SubContent - - - System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - tsbServer - - - System.Windows.Forms.ToolStripDropDownButton, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - menuMsgBoxSelectAll - - - System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - menuMsgBoxCopy - - - System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - menuMsgBoxCopyAll - - - System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - menuMsgBoxAddRoutingRule - - - System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - menuMsgBoxFilter - - - System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - toolSslSocksPortLab - - - System.Windows.Forms.ToolStripStatusLabel, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - toolSslSocksPort - - - System.Windows.Forms.ToolStripStatusLabel, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - toolSslBlank1 - - - System.Windows.Forms.ToolStripStatusLabel, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - toolSslHttpPortLab - - - System.Windows.Forms.ToolStripStatusLabel, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - toolSslHttpPort - - - System.Windows.Forms.ToolStripStatusLabel, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - toolSslBlank2 - - - System.Windows.Forms.ToolStripStatusLabel, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - toolSslServerSpeed - - - System.Windows.Forms.ToolStripStatusLabel, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - toolSslBlank4 - - - System.Windows.Forms.ToolStripStatusLabel, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - notifyMain - - - System.Windows.Forms.NotifyIcon, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - menuSysAgentMode - - - System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - menuKeepClear - - - System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - menuGlobal - - - System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - menuKeepNothing - - - System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - menuRoutings - - - System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - menuServers - - - System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - toolStripSeparator13 - - - System.Windows.Forms.ToolStripSeparator, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - menuAddServers2 - - - System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - menuScanScreen2 - - - System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - menuUpdateSubscriptions - - - System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - toolStripSeparator2 - - - System.Windows.Forms.ToolStripSeparator, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - menuExit - - - System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - bgwScan - - - System.ComponentModel.BackgroundWorker, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - toolStripSeparator4 - - - System.Windows.Forms.ToolStripSeparator, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - tsbSub - - - System.Windows.Forms.ToolStripDropDownButton, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - tsbSubSetting - - - System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - tsbSubUpdate - - - System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - tsbQRCodeSwitch - - - System.Windows.Forms.ToolStripButton, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - toolStripSeparator8 - - - System.Windows.Forms.ToolStripSeparator, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - tsbSetting - - - System.Windows.Forms.ToolStripDropDownButton, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - tsbOptionSetting - - - System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - tsbRoutingSetting - - - System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - toolStripSeparator14 - - - System.Windows.Forms.ToolStripSeparator, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - tsbBackupGuiNConfig - - - System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - toolStripSeparator5 - - - System.Windows.Forms.ToolStripSeparator, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - tsbReload - - - System.Windows.Forms.ToolStripButton, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - toolStripSeparator7 - - - System.Windows.Forms.ToolStripSeparator, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - tsbCheckUpdate - - - System.Windows.Forms.ToolStripDropDownButton, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - tsbCheckUpdateN - - - System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - tsbCheckUpdateCore - - - System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - tsbCheckUpdateXrayCore - - - System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - toolStripSeparator15 - - - System.Windows.Forms.ToolStripSeparator, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - tsbCheckUpdateGeoSite - - - System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - tsbCheckUpdateGeoIP - - - System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - toolStripSeparator10 - - - System.Windows.Forms.ToolStripSeparator, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - tsbHelp - - - System.Windows.Forms.ToolStripDropDownButton, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - tsbAbout - - - System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - tsbV2rayWebsite - - - System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - toolStripSeparator12 - - - System.Windows.Forms.ToolStripSeparator, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - tsbLanguageDef - - - System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - tsbLanguageZhHans - - - System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - tsbPromotion - - - System.Windows.Forms.ToolStripButton, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - toolStripSeparator11 - - - System.Windows.Forms.ToolStripSeparator, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - tsbClose - - - System.Windows.Forms.ToolStripButton, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - MainForm - - - v2rayN.Forms.BaseForm, v2rayN, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null - + + 137, 17 + + + 498, 17 + + + 17, 17 + + + 409, 17 + + + 327, 17 + \ No newline at end of file diff --git a/v2rayN/v2rayN/Forms/OptionSettingForm.Designer.cs b/v2rayN/v2rayN/Forms/OptionSettingForm.Designer.cs index 65e88bcf..2d895f88 100644 --- a/v2rayN/v2rayN/Forms/OptionSettingForm.Designer.cs +++ b/v2rayN/v2rayN/Forms/OptionSettingForm.Designer.cs @@ -69,8 +69,6 @@ this.txtKcpmtu = new System.Windows.Forms.TextBox(); this.label6 = new System.Windows.Forms.Label(); this.tabPage7 = new System.Windows.Forms.TabPage(); - this.txtautoUpdateInterval = new System.Windows.Forms.TextBox(); - this.label15 = new System.Windows.Forms.Label(); this.chkIgnoreGeoUpdateCore = new System.Windows.Forms.CheckBox(); this.cmbCoreType = new System.Windows.Forms.ComboBox(); this.label4 = new System.Windows.Forms.Label(); @@ -374,8 +372,6 @@ // tabPage7 // resources.ApplyResources(this.tabPage7, "tabPage7"); - this.tabPage7.Controls.Add(this.txtautoUpdateInterval); - this.tabPage7.Controls.Add(this.label15); this.tabPage7.Controls.Add(this.chkIgnoreGeoUpdateCore); this.tabPage7.Controls.Add(this.cmbCoreType); this.tabPage7.Controls.Add(this.label4); @@ -388,16 +384,6 @@ this.tabPage7.Name = "tabPage7"; this.tabPage7.UseVisualStyleBackColor = true; // - // txtautoUpdateInterval - // - resources.ApplyResources(this.txtautoUpdateInterval, "txtautoUpdateInterval"); - this.txtautoUpdateInterval.Name = "txtautoUpdateInterval"; - // - // label15 - // - resources.ApplyResources(this.label15, "label15"); - this.label15.Name = "label15"; - // // chkIgnoreGeoUpdateCore // resources.ApplyResources(this.chkIgnoreGeoUpdateCore, "chkIgnoreGeoUpdateCore"); @@ -593,7 +579,5 @@ private System.Windows.Forms.Label label12; private System.Windows.Forms.GroupBox groupBox2; private System.Windows.Forms.Label label13; - private System.Windows.Forms.TextBox txtautoUpdateInterval; - private System.Windows.Forms.Label label15; } } \ No newline at end of file diff --git a/v2rayN/v2rayN/Forms/OptionSettingForm.cs b/v2rayN/v2rayN/Forms/OptionSettingForm.cs index d104d927..e6acb0d8 100644 --- a/v2rayN/v2rayN/Forms/OptionSettingForm.cs +++ b/v2rayN/v2rayN/Forms/OptionSettingForm.cs @@ -123,7 +123,6 @@ namespace v2rayN.Forms chkIgnoreGeoUpdateCore.Checked = config.ignoreGeoUpdateCore; cmbCoreType.SelectedIndex = (int)config.coreType; - txtautoUpdateInterval.Text = config.autoUpdateInterval.ToString(); } private void btnOK_Click(object sender, EventArgs e) { @@ -291,7 +290,6 @@ namespace v2rayN.Forms config.ignoreGeoUpdateCore = chkIgnoreGeoUpdateCore.Checked; config.coreType = (ECoreType)cmbCoreType.SelectedIndex; - config.autoUpdateInterval = Utils.ToInt(txtautoUpdateInterval.Text); return 0; } diff --git a/v2rayN/v2rayN/Forms/OptionSettingForm.resx b/v2rayN/v2rayN/Forms/OptionSettingForm.resx index 8015fffe..1cec3650 100644 --- a/v2rayN/v2rayN/Forms/OptionSettingForm.resx +++ b/v2rayN/v2rayN/Forms/OptionSettingForm.resx @@ -127,16 +127,16 @@ 11 - - - 107, 12 + + System.Windows.Forms.TextBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 Keep older when deduplication - 4 + 2 + 6, 283 @@ -159,7 +159,7 @@ groupBox1 - 7 + 5 tti @@ -185,18 +185,15 @@ groupBox1 - - label15 - - - txtautoUpdateInterval - - - 2 + + 662, 523 35 + + 111, 24 + 468, 60 @@ -207,6 +204,9 @@ 102, 16 + + cmbprotocol + 6 @@ -216,9 +216,6 @@ tabPage3 - - 2 - 5 @@ -243,9 +240,6 @@ 40 - - System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - True @@ -255,14 +249,17 @@ True - - System.Windows.Forms.CheckBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + tabPage6 + + + tabPage6 36 - - System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + 75, 23 7 @@ -294,15 +291,18 @@ tabPage6 - - tabPage6 - 317, 12 15, 63 + + System.Windows.Forms.CheckBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + 0 + 2 @@ -324,14 +324,8 @@ 654, 427 - - System.Windows.Forms.TextBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - groupBox1 - - - NoControl + + 654, 427 System.Windows.Forms.CheckBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 @@ -339,14 +333,14 @@ Settings - - txtKcpreadBufferSize + + True System.Windows.Forms.CheckBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - tabPage2 + + label4 42 @@ -372,8 +366,8 @@ True - - tabPage6 + + Turn on Sniffing 0, 10 @@ -396,14 +390,20 @@ 3 + + none + System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 NoControl - - System.Windows.Forms.TextBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + 6 + + + tabPage7 0 @@ -414,6 +414,9 @@ Fill + + 576, 16 + 18 @@ -429,12 +432,12 @@ NoControl - - 15, 16 - System.Windows.Forms.Button, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + System.Windows.Forms.TextBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + 89, 12 @@ -453,18 +456,21 @@ System.Windows.Forms.ComboBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + groupBox1 + 12 + + NoControl + 10 32 - - label6 - 6, 12 @@ -495,8 +501,11 @@ txtKcptti - - Turn on Sniffing + + Vertical + + + 15, 160 281, 12 @@ -504,15 +513,12 @@ Ignore Geo files when updating core - - 355, 16 + + 2 3, 3, 3, 3 - - 97, 20 - 3 @@ -528,20 +534,23 @@ 325, 130 + + 124, 60 + 78, 21 + + Log level + tabControl1 - - System.Windows.Forms.CheckBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - 59, 12 - - 654, 427 + + cmbCoreType v2rayN.Forms.BaseForm, v2rayN, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null @@ -555,15 +564,24 @@ 4 + + True + Statistics freshrate + + 107, 12 + 120, 16 89, 12 + + btnOK + 18, 66 @@ -588,29 +606,20 @@ Turn on Sniffing - - cmbloglevel - groupBox1 - - 345, 100 - 18, 28 System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - tabPage7 - 20 - - 10 + + 29 System.Windows.Forms.TabPage, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 @@ -649,7 +658,7 @@ groupBox1 - 2 + 0 18, 104 @@ -657,8 +666,8 @@ tabPage2 - - 97, 20 + + mtu socks @@ -666,30 +675,27 @@ tabPage1 - - 576, 16 + + System.Windows.Forms.GroupBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 System.Windows.Forms.TextBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + groupBox1 + True panel1 - - readBufferSize - 30 53, 12 - - System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - 13 @@ -711,14 +717,17 @@ 345, 62 - - 11 + + 15, 16 + + + 3, 3, 3, 3 chkudpEnabled - 3 + 1 True @@ -753,26 +762,20 @@ False - - label7 - - - allowInsecure + + System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 txtlocalPort - - System.Windows.Forms.GroupBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + 236, 28 tabPage7 - - tabPage7 - - - True + + 19 4, 22 @@ -792,41 +795,29 @@ protocol - - Turn on Mux Multiplexing + + 84, 16 23, 12 - - System.Windows.Forms.ComboBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - 638, 356 True - - 5 - 3, 3 System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - System.Windows.Forms.TextBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - chkAllowLANConn - - 84, 16 - - - tabControl1 + + True True @@ -840,9 +831,6 @@ 1 - - System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - tabPage6 @@ -858,23 +846,17 @@ NoControl - - 654, 427 - chkEnableStatistics - - System.Windows.Forms.Panel, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + socks 4 - - 7 - - - 1 + + 355, 16 53, 12 @@ -885,8 +867,8 @@ True - - 124, 60 + + 369, 27 System.Windows.Forms.TextBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 @@ -903,14 +885,11 @@ False - - System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - 9 - - System.Windows.Forms.GroupBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + 8 0 @@ -919,7 +898,7 @@ 101, 12 - 8 + 6 12 @@ -927,8 +906,8 @@ 20 - - cmbprotocol + + allowInsecure groupBox2 @@ -936,38 +915,44 @@ Enable Statistics (Realtime netspeed and traffic records. Require restart the v2rayN client) - - cmbCoreType + + 107, 12 + + + 204, 16 662, 453 + + $this + 4 Listening port + + protocol + Fill 41 - - System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - 257, 60 - - groupBox1 + + System.Windows.Forms.GroupBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 tabControl1 - - True + + System.Windows.Forms.Panel, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 34 @@ -975,9 +960,6 @@ cmbprotocol2 - - NoControl - chkKeepOlderDedupl @@ -988,7 +970,7 @@ 16 - 9 + 7 True @@ -1011,6 +993,9 @@ tabPage2 + + tabControl1 + listening port 2 @@ -1020,15 +1005,12 @@ chkAllowIn2 + + System.Windows.Forms.TabControl, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + tabPage3 - - System.Windows.Forms.Panel, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - True - panel2 @@ -1044,8 +1026,8 @@ 4, 22 - - v2fly_core + + 9 label1 @@ -1056,26 +1038,17 @@ 10 - - 29 - error - - 15, 160 - - - groupBox1 - 59, 12 NoControl - - 38 + + txtKcpdownlinkCapacity System.Windows.Forms.CheckBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 @@ -1086,8 +1059,8 @@ downlinkCapacity - - 120, 16 + + tabControl1 662, 10 @@ -1098,6 +1071,9 @@ True + + 246, 16 + True @@ -1116,9 +1092,6 @@ False - - Custom DNS (multiple, separated by commas (,)) - 206, 29 @@ -1158,29 +1131,29 @@ 8 - - 35 - linkDnsObjectDoc System.Windows.Forms.TabPage, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + Bottom - - tabPage7 + + txtKcpreadBufferSize System.Windows.Forms.ComboBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - Log level + + groupBox1 - - tabControl1 + + System.Windows.Forms.ComboBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + Fill 638, 219 @@ -1191,14 +1164,11 @@ 2 - - 251, 12 - - - 15, 64 + + System.Windows.Forms.CheckBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - 10 + 8 groupBox2 @@ -1221,15 +1191,15 @@ 8, 52 - - 78, 21 - - + 9 - + True + + 78, 21 + tabPage7 @@ -1239,23 +1209,23 @@ True - - System.Windows.Forms.TabControl, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + v2fly_core True - - 1 + + System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - 40 + + 6 23, 12 - - 8 + + 11 8 @@ -1263,20 +1233,17 @@ Exception - - NoControl + + Use semicolon (;) - - 37 - - - groupBox1 + + 345, 100 94, 21 - - 0 + + NoControl 654, 427 @@ -1290,9 +1257,15 @@ 17 + + 23 + 94, 21 + + debug + System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 @@ -1302,35 +1275,32 @@ 0, 463 + + 0 + System.Windows.Forms.TextBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 tabPage1 - - 6 + + 3 - - 125, 12 + + http 0 - - Use semicolon (;) + + 97, 20 - - mtu + + label7 - - 32 - - - tabPage6 - - - 6 + + 7 False @@ -1356,8 +1326,8 @@ txtKcpuplinkCapacity - - 23 + + tabPage2 chklogEnabled @@ -1374,32 +1344,23 @@ System.Windows.Forms.TabPage, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - 325, 156 - groupBox2 4, 22 - - True + + 40 - - 5 - - - Automatic update interval of Geo(minutes) - - - groupBox1 + + System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 4, 22 - - socks + + groupBox1 NoControl @@ -1407,8 +1368,8 @@ 6 - - protocol + + Custom DNS (multiple, separated by commas (,)) tabPage7 @@ -1419,11 +1380,11 @@ System.Windows.Forms.CheckBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - True + + 15, 132 - - $this + + 3 8 @@ -1434,8 +1395,8 @@ 0, 0 - - 19 + + True True @@ -1443,14 +1404,14 @@ 3 - - writeBufferSize + + 1 11 - - True + + System.Windows.Forms.Panel, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 89, 12 @@ -1464,14 +1425,11 @@ 31 - - 369, 27 + + System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - http - - - Fill + + groupBox1 groupBox1 @@ -1479,11 +1437,11 @@ groupBox1 - - groupBox1 + + 32 - - 15, 132 + + System.Windows.Forms.TextBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 True @@ -1491,6 +1449,9 @@ 345, 24 + + tabPage7 + Core: DNS settings @@ -1500,11 +1461,11 @@ label3 - - System.Windows.Forms.CheckBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + 125, 12 - - 204, 16 + + NoControl System.Windows.Forms.ComboBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 @@ -1512,8 +1473,11 @@ 94, 21 - - 75, 23 + + System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + writeBufferSize System.Windows.Forms.CheckBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 @@ -1521,35 +1485,32 @@ 8, 41 - - uplinkCapacity - 0, 0, 0, 0 - - 662, 523 + + uplinkCapacity - - label4 + + System.Windows.Forms.CheckBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - Vertical + + 35 - - 6 + + 5 - - 236, 66 + + 4 3, 3, 3, 3 - - 97, 21 + + 10 - - 107, 12 + + cmbloglevel label5 @@ -1557,29 +1518,26 @@ 15, 192 - - btnOK + + tabPage6 False - - debug + + tabPage6 System.Windows.Forms.CheckBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - True - chkmuxEnabled - - none + + True - - tabPage6 + + System.Windows.Forms.CheckBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 False @@ -1587,20 +1545,17 @@ 253, 134 - - 342, 17 - 0, 0 Enable UDP - - System.Windows.Forms.CheckBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + 15, 64 - - 3, 3, 3, 3 + + True groupBox1 @@ -1623,44 +1578,38 @@ groupBox1 - - NoControl + + 120, 16 - - System.Windows.Forms.TextBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + readBufferSize - - 9 + + 2 - - 0 - - - txtKcpdownlinkCapacity + + System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 groupBox1 - - 0 + + 342, 17 94, 21 - - 3 + + 97, 20 3 - - 30, 162 + + groupBox1 - - 236, 28 - - - Bottom + + 654, 427 11 @@ -1689,17 +1638,17 @@ cbFreshrate - - 246, 16 + + Turn on Mux Multiplexing tabPage6 - - tabPage7 + + label6 - - 111, 24 + + 236, 66 NoControl diff --git a/v2rayN/v2rayN/Forms/OptionSettingForm.zh-Hans.resx b/v2rayN/v2rayN/Forms/OptionSettingForm.zh-Hans.resx index 673c26af..1740c11e 100644 --- a/v2rayN/v2rayN/Forms/OptionSettingForm.zh-Hans.resx +++ b/v2rayN/v2rayN/Forms/OptionSettingForm.zh-Hans.resx @@ -139,63 +139,30 @@ Core:KCP设置 - - 255, 156 - - - 191, 12 - - - 自动更新Geo文件的间隔(单位分钟) - - - 150, 16 - - - 更新Core时忽略Geo文件 - - - 53, 12 - - - Core类型 - - - 156, 16 - - - 去重时保留序号较小的项 - - - 77, 12 - - - 统计刷新频率 - - - 372, 16 - - - 启用统计(实时网速显示和使用流量显示,需要重启v2rayN客户端) - - - 144, 16 - - - 允许来自局域网的连接 - - - 180, 16 - - - 开机自动启动(可能会不成功) - 654, 443 v2rayN设置 + + 95, 12 + + + 使用分号(;)分隔 + + + 239, 12 + + + 对于下列字符开头的地址不使用代理服务器: + + + 654, 443 + + + 例外 + 654, 443 @@ -292,23 +259,47 @@ 自定义DNS(可多个,用逗号(,)隔开) - - 654, 443 + + 150, 16 - - 例外 + + 更新Core时忽略Geo文件 - - 95, 12 + + 53, 12 - - 使用分号(;)分隔 + + Core类型 - - 239, 12 + + 156, 16 - - 对于下列字符开头的地址不使用代理服务器: + + 去重时保留序号较小的项 + + + 77, 12 + + + 统计刷新频率 + + + 372, 16 + + + 启用统计(实时网速显示和使用流量显示,需要重启v2rayN客户端) + + + 144, 16 + + + 允许来自局域网的连接 + + + 180, 16 + + + 开机自动启动(可能会不成功) 0, 479 diff --git a/v2rayN/v2rayN/Forms/RoutingRuleSettingDetailsForm.Designer.cs b/v2rayN/v2rayN/Forms/RoutingRuleSettingDetailsForm.Designer.cs index 3f0f1e40..504b60ea 100644 --- a/v2rayN/v2rayN/Forms/RoutingRuleSettingDetailsForm.Designer.cs +++ b/v2rayN/v2rayN/Forms/RoutingRuleSettingDetailsForm.Designer.cs @@ -31,7 +31,6 @@ System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(RoutingRuleSettingDetailsForm)); this.panel1 = new System.Windows.Forms.Panel(); this.panel3 = new System.Windows.Forms.Panel(); - this.chkEnabled = new System.Windows.Forms.CheckBox(); this.clbInboundTag = new System.Windows.Forms.CheckedListBox(); this.label2 = new System.Windows.Forms.Label(); this.clbProtocol = new System.Windows.Forms.CheckedListBox(); @@ -63,8 +62,6 @@ // // panel3 // - resources.ApplyResources(this.panel3, "panel3"); - this.panel3.Controls.Add(this.chkEnabled); this.panel3.Controls.Add(this.clbInboundTag); this.panel3.Controls.Add(this.label2); this.panel3.Controls.Add(this.clbProtocol); @@ -74,18 +71,13 @@ this.panel3.Controls.Add(this.labRoutingTips); this.panel3.Controls.Add(this.label4); this.panel3.Controls.Add(this.cmbOutboundTag); + resources.ApplyResources(this.panel3, "panel3"); this.panel3.Name = "panel3"; // - // chkEnabled - // - resources.ApplyResources(this.chkEnabled, "chkEnabled"); - this.chkEnabled.Name = "chkEnabled"; - this.chkEnabled.UseVisualStyleBackColor = true; - // // clbInboundTag // - resources.ApplyResources(this.clbInboundTag, "clbInboundTag"); this.clbInboundTag.CheckOnClick = true; + resources.ApplyResources(this.clbInboundTag, "clbInboundTag"); this.clbInboundTag.FormattingEnabled = true; this.clbInboundTag.Items.AddRange(new object[] { resources.GetString("clbInboundTag.Items"), @@ -100,8 +92,8 @@ // // clbProtocol // - resources.ApplyResources(this.clbProtocol, "clbProtocol"); this.clbProtocol.CheckOnClick = true; + resources.ApplyResources(this.clbProtocol, "clbProtocol"); this.clbProtocol.FormattingEnabled = true; this.clbProtocol.Items.AddRange(new object[] { resources.GetString("clbProtocol.Items"), @@ -127,8 +119,8 @@ // // labRoutingTips // - resources.ApplyResources(this.labRoutingTips, "labRoutingTips"); this.labRoutingTips.ForeColor = System.Drawing.Color.Brown; + resources.ApplyResources(this.labRoutingTips, "labRoutingTips"); this.labRoutingTips.Name = "labRoutingTips"; // // label4 @@ -138,26 +130,26 @@ // // cmbOutboundTag // - resources.ApplyResources(this.cmbOutboundTag, "cmbOutboundTag"); this.cmbOutboundTag.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList; this.cmbOutboundTag.FormattingEnabled = true; this.cmbOutboundTag.Items.AddRange(new object[] { resources.GetString("cmbOutboundTag.Items"), resources.GetString("cmbOutboundTag.Items1"), resources.GetString("cmbOutboundTag.Items2")}); + resources.ApplyResources(this.cmbOutboundTag, "cmbOutboundTag"); this.cmbOutboundTag.Name = "cmbOutboundTag"; // // panel4 // - resources.ApplyResources(this.panel4, "panel4"); this.panel4.Controls.Add(this.btnClose); this.panel4.Controls.Add(this.btnOK); + resources.ApplyResources(this.panel4, "panel4"); this.panel4.Name = "panel4"; // // btnClose // - resources.ApplyResources(this.btnClose, "btnClose"); this.btnClose.DialogResult = System.Windows.Forms.DialogResult.Cancel; + resources.ApplyResources(this.btnClose, "btnClose"); this.btnClose.Name = "btnClose"; this.btnClose.UseVisualStyleBackColor = true; this.btnClose.Click += new System.EventHandler(this.btnClose_Click); @@ -171,15 +163,15 @@ // // panel2 // - resources.ApplyResources(this.panel2, "panel2"); this.panel2.Controls.Add(this.groupBox2); this.panel2.Controls.Add(this.groupBox1); + resources.ApplyResources(this.panel2, "panel2"); this.panel2.Name = "panel2"; // // groupBox2 // - resources.ApplyResources(this.groupBox2, "groupBox2"); this.groupBox2.Controls.Add(this.txtIP); + resources.ApplyResources(this.groupBox2, "groupBox2"); this.groupBox2.Name = "groupBox2"; this.groupBox2.TabStop = false; // @@ -190,8 +182,8 @@ // // groupBox1 // - resources.ApplyResources(this.groupBox1, "groupBox1"); this.groupBox1.Controls.Add(this.txtDomain); + resources.ApplyResources(this.groupBox1, "groupBox1"); this.groupBox1.Name = "groupBox1"; this.groupBox1.TabStop = false; // @@ -244,6 +236,5 @@ private System.Windows.Forms.CheckedListBox clbProtocol; private System.Windows.Forms.CheckedListBox clbInboundTag; private System.Windows.Forms.Label label2; - private System.Windows.Forms.CheckBox chkEnabled; } } \ No newline at end of file diff --git a/v2rayN/v2rayN/Forms/RoutingRuleSettingDetailsForm.cs b/v2rayN/v2rayN/Forms/RoutingRuleSettingDetailsForm.cs index a08e872b..8b861f08 100644 --- a/v2rayN/v2rayN/Forms/RoutingRuleSettingDetailsForm.cs +++ b/v2rayN/v2rayN/Forms/RoutingRuleSettingDetailsForm.cs @@ -59,7 +59,6 @@ namespace v2rayN.Forms } } rulesItem.protocol = protocol; - rulesItem.enabled = chkEnabled.Checked; } } private void BindingData() @@ -92,7 +91,6 @@ namespace v2rayN.Forms } } } - chkEnabled.Checked = rulesItem.enabled; } } private void ClearBind() @@ -101,7 +99,6 @@ namespace v2rayN.Forms cmbOutboundTag.Text = Global.agentTag; txtDomain.Text = string.Empty; txtIP.Text = string.Empty; - chkEnabled.Checked = true; } private void btnOK_Click(object sender, EventArgs e) { diff --git a/v2rayN/v2rayN/Forms/RoutingRuleSettingDetailsForm.resx b/v2rayN/v2rayN/Forms/RoutingRuleSettingDetailsForm.resx index fe5c1095..23589990 100644 --- a/v2rayN/v2rayN/Forms/RoutingRuleSettingDetailsForm.resx +++ b/v2rayN/v2rayN/Forms/RoutingRuleSettingDetailsForm.resx @@ -117,577 +117,547 @@ System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - 53, 12 - - - System.Windows.Forms.CheckedListBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - - 32 - - - 245, 20 - - - 80 - - - 31 - - - proxy - - - 4, 4, 4, 4 - - - Fill - - - panel1 - - - 3 - - - clbProtocol - - - Protocol - - - System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - 7 - - - NoControl - - - System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - True - - - 3 - - - Left - - - 80 - - - NoControl - - - 0 - - - 29, 12 - - - 1 - - - http - - - panel2 - - - tls - - - RoutingSettingDetailsForm - - - NoControl - - - System.Windows.Forms.CheckedListBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - 6 - - - Fill - - - 411, 15 - - - 119, 20 - - - System.Windows.Forms.Panel, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - 36 - - - Bottom - - - 0 - - - System.Windows.Forms.Panel, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - 344, 375 - - - $this - - - 598, 16 - - - groupBox1 - - - NoControl - - - 2 - - - 5 - - - label1 - - - 742, 395 - - - 0, 0 - - - 9 - - - True - - - System.Windows.Forms.CheckBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - panel3 - - - True - - - 3 - - - panel4 - - - 5 - - - bittorrent - - - System.Windows.Forms.Button, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - socks - - - panel3 - - - 19, 82 - - - 25 - - - 347, 16 - - - 3, 17 - - - panel3 - - - 19, 20 - - - labRoutingTips - - - 19, 47 - - - 39 - - - groupBox1 - - - 1 - - - RoutingRuleSettingDetailsForm - - - panel2 - - - System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - panel3 - - - 107, 43 - - - groupBox2 - - - 8 - - - 1 - - - 386, 375 - - - panel3 - - - System.Windows.Forms.ComboBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - panel2 - - - Fill - - - panel4 - - - NoControl - - + Top - - $this - - - 42 - - - groupBox2 - - - panel3 - - - panel3 - - - System.Windows.Forms.Panel, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - System.Windows.Forms.TextBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - http - - - txtPort - - - 3, 17 - - - 1 + + + 0, 0 742, 10 - - 0, 0 - - - 24 - - - Port - - - Enable - - - label4 - - - &OK - - - 75, 23 - - - System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - panel4 - - - 34 - - - 274, 47 - - - 40 - - - block - - - 33 - - - 347, 43 - - - 0 - - - panel3 - - - System.Windows.Forms.GroupBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - btnOK - - - 2 - - - 119, 21 - - - 4 - + 7 - - 0 + + panel1 - - 11 + + System.Windows.Forms.Panel, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - 0 - - - panel3 - - - 8 - - - v2rayN.Forms.BaseForm, v2rayN, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null - - - label3 - - - inboundTag - - - Top - - - 742, 60 - - - 0, 121 - - + $this - - *Set the rules, separated by commas (,); The comma in the regular is replaced by <COMMA> + + 3 + + + 80 + + + socks + + + http + + + 347, 16 245, 20 - - 65, 12 - - - btnClose - - - 392, 0 - - - 742, 111 - - - True - - - 6, 12 - - - 0 - - - 617, 19 - - - 0, 10 - - - System.Windows.Forms.TextBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - System.Windows.Forms.TextBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - True - - - System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - txtIP - - - direct - - - label2 - - - 60, 16 - - - cmbOutboundTag - - - chkEnabled - - - True - - - 274, 20 - - - NoControl - - - 742, 576 - - - 10 - - - $this - - - 392, 395 - - - 75, 23 + + 41 clbInboundTag - - 4 + + System.Windows.Forms.CheckedListBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - &Cancel + + panel3 - - NoControl + + 0 + + + True NoControl + + 274, 20 + + + 65, 12 + + + 40 + + + inboundTag + + + label2 + + + System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + panel3 + + + 1 + + + 80 + + + http + + + tls + + + bittorrent + + + 347, 43 + + + 245, 20 + + + 39 + + + clbProtocol + + + System.Windows.Forms.CheckedListBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + panel3 + + + 2 + + + True + + + NoControl + + + 274, 47 + + + 53, 12 + + + 36 + + + Protocol + + + label3 + + + System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + panel3 + + + 3 + + + 107, 43 + + + 119, 21 + + + 35 + + + txtPort + + + System.Windows.Forms.TextBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + panel3 + + + 4 + True - - 4 + + NoControl - - txtDomain + + 19, 47 - - 41 + + 29, 12 - - IP + + 34 - + + Port + + + label1 + + + System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + panel3 + + + 5 + + + NoControl + + + 19, 82 + + + 598, 16 + + + 33 + + + *Set the rules, separated by commas (,); The comma in the regular is replaced by <COMMA> + + + labRoutingTips + + + System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + panel3 + + + 6 + + + True + + + NoControl + + + 19, 20 + + + 71, 12 + + + 32 + + + outboundTag + + + label4 + + + System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + panel3 + + + 7 + + + proxy + + + direct + + + block + + + 107, 16 + + + 119, 20 + + + 31 + + + cmbOutboundTag + + + System.Windows.Forms.ComboBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + panel3 + + + 8 + + + Top + + + 0, 10 + + + 742, 111 + + + 8 + + panel3 System.Windows.Forms.Panel, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - System.Windows.Forms.Button, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + $this - - 0, 516 + + 2 - - 71, 12 - - - 350, 395 - - - panel3 - - - Domain - - - Fill + + NoControl 504, 15 - - 107, 16 + + 75, 23 - - outboundTag + + 4 + + + &Cancel + + + btnClose + + + System.Windows.Forms.Button, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + panel4 + + + 0 + + + NoControl + + + 411, 15 + + + 75, 23 + + + 5 + + + &OK + + + btnOK + + + System.Windows.Forms.Button, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + panel4 + + + 1 + + + Bottom + + + 0, 516 + + + 742, 60 + + + 10 + + + panel4 + + + System.Windows.Forms.Panel, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + $this + + + 1 + + + Fill + + + 3, 17 + + + True + + + 344, 375 + + + 25 + + + txtIP + + + System.Windows.Forms.TextBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + groupBox2 + + + 0 + + + Fill + + + 392, 0 + + + 350, 395 + + + 4 + + + IP + + + groupBox2 + + + System.Windows.Forms.GroupBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + panel2 + + + 0 + + + Fill + + + 3, 17 + + + True + + + 386, 375 + + + 24 + + + txtDomain + + + System.Windows.Forms.TextBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + groupBox1 + + + 0 + + + Left + + + 0, 0 + + + 392, 395 + + + 3 + + + Domain + + + groupBox1 System.Windows.Forms.GroupBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - 35 + + panel2 + + + 1 + + + Fill + + + 0, 121 + + + 742, 395 + + + 11 + + + panel2 + + + System.Windows.Forms.Panel, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + $this + + + 0 True + + 6, 12 + + + 742, 576 + + + 4, 4, 4, 4 + + + RoutingSettingDetailsForm + + + RoutingRuleSettingDetailsForm + + + v2rayN.Forms.BaseForm, v2rayN, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null + \ No newline at end of file diff --git a/v2rayN/v2rayN/Forms/RoutingRuleSettingDetailsForm.zh-Hans.resx b/v2rayN/v2rayN/Forms/RoutingRuleSettingDetailsForm.zh-Hans.resx index f050d4f5..15246bd3 100644 --- a/v2rayN/v2rayN/Forms/RoutingRuleSettingDetailsForm.zh-Hans.resx +++ b/v2rayN/v2rayN/Forms/RoutingRuleSettingDetailsForm.zh-Hans.resx @@ -118,9 +118,6 @@ System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - 670, 18 - 372, 16 diff --git a/v2rayN/v2rayN/Forms/RoutingRuleSettingForm.cs b/v2rayN/v2rayN/Forms/RoutingRuleSettingForm.cs index f7957ca2..6376feb8 100644 --- a/v2rayN/v2rayN/Forms/RoutingRuleSettingForm.cs +++ b/v2rayN/v2rayN/Forms/RoutingRuleSettingForm.cs @@ -55,13 +55,12 @@ namespace v2rayN.Forms lvRoutings.HeaderStyle = ColumnHeaderStyle.Clickable; lvRoutings.Columns.Add("", 30); - lvRoutings.Columns.Add("outboundTag", 80); + lvRoutings.Columns.Add("outboundTag", 100); lvRoutings.Columns.Add("port", 80); - lvRoutings.Columns.Add("protocol", 80); - lvRoutings.Columns.Add("inboundTag", 80); + lvRoutings.Columns.Add("protocol", 100); + lvRoutings.Columns.Add("inboundTag", 100); lvRoutings.Columns.Add("domain", 160); - lvRoutings.Columns.Add("ip", 160); - lvRoutings.Columns.Add("enable", 60); + lvRoutings.Columns.Add("ip", 160); lvRoutings.EndUpdate(); } @@ -82,7 +81,6 @@ namespace v2rayN.Forms Utils.AddSubItem(lvItem, "inboundTag", Utils.List2String(item.inboundTag)); Utils.AddSubItem(lvItem, "domain", Utils.List2String(item.domain)); Utils.AddSubItem(lvItem, "ip", Utils.List2String(item.ip)); - Utils.AddSubItem(lvItem, "enable", item.enabled.ToString()); if (lvItem != null) lvRoutings.Items.Add(lvItem); } diff --git a/v2rayN/v2rayN/Global.cs b/v2rayN/v2rayN/Global.cs index 0a37c2c6..a44cc1ee 100644 --- a/v2rayN/v2rayN/Global.cs +++ b/v2rayN/v2rayN/Global.cs @@ -7,7 +7,7 @@ namespace v2rayN { #region 常量 - //public const string DownloadFileName = "v2ray-windows.zip"; + public const string DownloadFileName = "v2ray-windows.zip"; public const string v2rayWebsiteUrl = @"https://www.v2fly.org/"; public const string AboutUrl = @"https://github.com/2dust/v2rayN"; public const string UpdateUrl = AboutUrl + @"/releases"; diff --git a/v2rayN/v2rayN/Handler/ConfigHandler.cs b/v2rayN/v2rayN/Handler/ConfigHandler.cs index cf53c3e0..41f354b9 100644 --- a/v2rayN/v2rayN/Handler/ConfigHandler.cs +++ b/v2rayN/v2rayN/Handler/ConfigHandler.cs @@ -51,9 +51,7 @@ namespace v2rayN.Handler enableStatistics = false, // 默认中等刷新率 - statisticsFreshRate = (int)Global.StatisticsFreshRate.medium, - - enableRoutingAdvanced = true + statisticsFreshRate = (int)Global.StatisticsFreshRate.medium }; } @@ -176,7 +174,7 @@ namespace v2rayN.Handler /// /// /// - public static int AddServer(ref Config config, VmessItem vmessItem, int index, bool toFile = true) + public static int AddServer(ref Config config, VmessItem vmessItem, int index) { vmessItem.configVersion = 2; vmessItem.configType = (int)EConfigType.Vmess; @@ -214,10 +212,8 @@ namespace v2rayN.Handler } } - if (toFile) - { - ToJsonFile(config); - } + ToJsonFile(config); + return 0; } @@ -528,7 +524,7 @@ namespace v2rayN.Handler /// /// /// - public static int AddShadowsocksServer(ref Config config, VmessItem vmessItem, int index, bool toFile = true) + public static int AddShadowsocksServer(ref Config config, VmessItem vmessItem, int index) { vmessItem.configVersion = 2; vmessItem.configType = (int)EConfigType.Shadowsocks; @@ -562,10 +558,7 @@ namespace v2rayN.Handler } } - if (toFile) - { - ToJsonFile(config); - } + ToJsonFile(config); return 0; } @@ -577,7 +570,7 @@ namespace v2rayN.Handler /// /// /// - public static int AddSocksServer(ref Config config, VmessItem vmessItem, int index, bool toFile = true) + public static int AddSocksServer(ref Config config, VmessItem vmessItem, int index) { vmessItem.configVersion = 2; vmessItem.configType = (int)EConfigType.Socks; @@ -604,10 +597,7 @@ namespace v2rayN.Handler } } - if (toFile) - { - ToJsonFile(config); - } + ToJsonFile(config); return 0; } @@ -620,7 +610,7 @@ namespace v2rayN.Handler /// /// /// - public static int AddTrojanServer(ref Config config, VmessItem vmessItem, int index, bool toFile = true) + public static int AddTrojanServer(ref Config config, VmessItem vmessItem, int index) { vmessItem.configVersion = 2; vmessItem.configType = (int)EConfigType.Trojan; @@ -654,10 +644,7 @@ namespace v2rayN.Handler } } - if (toFile) - { - ToJsonFile(config); - } + ToJsonFile(config); return 0; } @@ -767,41 +754,40 @@ namespace v2rayN.Handler vmessItem.subid = subid; if (vmessItem.configType == (int)EConfigType.Vmess) { - if (AddServer(ref config, vmessItem, -1, false) == 0) + if (AddServer(ref config, vmessItem, -1) == 0) { countServers++; } } else if (vmessItem.configType == (int)EConfigType.Shadowsocks) { - if (AddShadowsocksServer(ref config, vmessItem, -1, false) == 0) + if (AddShadowsocksServer(ref config, vmessItem, -1) == 0) { countServers++; } } else if (vmessItem.configType == (int)EConfigType.Socks) { - if (AddSocksServer(ref config, vmessItem, -1, false) == 0) + if (AddSocksServer(ref config, vmessItem, -1) == 0) { countServers++; } } else if (vmessItem.configType == (int)EConfigType.Trojan) { - if (AddTrojanServer(ref config, vmessItem, -1, false) == 0) + if (AddTrojanServer(ref config, vmessItem, -1) == 0) { countServers++; } } else if (vmessItem.configType == (int)EConfigType.VLESS) { - if (AddVlessServer(ref config, vmessItem, -1, false) == 0) + if (AddVlessServer(ref config, vmessItem, -1) == 0) { countServers++; } } } - ToJsonFile(config); return countServers; } @@ -929,7 +915,7 @@ namespace v2rayN.Handler /// /// /// - public static int AddVlessServer(ref Config config, VmessItem vmessItem, int index, bool toFile = true) + public static int AddVlessServer(ref Config config, VmessItem vmessItem, int index) { vmessItem.configVersion = 2; vmessItem.configType = (int)EConfigType.VLESS; @@ -967,10 +953,7 @@ namespace v2rayN.Handler } } - if (toFile) - { - ToJsonFile(config); - } + ToJsonFile(config); return 0; } @@ -1078,10 +1061,6 @@ namespace v2rayN.Handler { return -1; } - if (routingItem.rules == null) - { - routingItem.rules = new List(); - } if (blReplace) { routingItem.rules.Clear(); @@ -1193,44 +1172,35 @@ namespace v2rayN.Handler if (config.routings.Count(it => it.locked != true) <= 0) { //Global - var item1 = new RoutingItem() - { - remarks = "全局(Global)", - url = string.Empty, - }; - AddBatchRoutingRules(ref item1, Utils.GetEmbedText(Global.CustomRoutingFileName + "global")); + var item1 = new RoutingItem(); + item1.remarks = "全局(Global)"; + item1.url = string.Empty; + item1.rules = new List(); + string result1 = Utils.GetEmbedText(Global.CustomRoutingFileName + "global"); + AddBatchRoutingRules(ref item1, result1); config.routings.Add(item1); //Bypass the mainland - var item2 = new RoutingItem() - { - remarks = "绕过大陆(Whitelist)", - url = string.Empty, - }; - AddBatchRoutingRules(ref item2, Utils.GetEmbedText(Global.CustomRoutingFileName + "white")); + var item2 = new RoutingItem(); + item2.remarks = "绕过大陆(Whitelist)"; + item2.url = string.Empty; + item2.rules = new List(); + string result2 = Utils.GetEmbedText(Global.CustomRoutingFileName + "white"); + AddBatchRoutingRules(ref item2, result2); config.routings.Add(item2); - //Blacklist - var item3 = new RoutingItem() - { - remarks = "黑名单(Blacklist)", - url = string.Empty, - }; - AddBatchRoutingRules(ref item3, Utils.GetEmbedText(Global.CustomRoutingFileName + "black")); - config.routings.Add(item3); - config.routingIndex = 0; } if (GetLockedRoutingItem(ref config) == null) { - var item1 = new RoutingItem() - { - remarks = "locked", - url = string.Empty, - locked = true, - }; - AddBatchRoutingRules(ref item1, Utils.GetEmbedText(Global.CustomRoutingFileName + "locked")); + var item1 = new RoutingItem(); + item1.remarks = "locked"; + item1.url = string.Empty; + item1.rules = new List(); + item1.locked = true; + string result1 = Utils.GetEmbedText(Global.CustomRoutingFileName + "locked"); + AddBatchRoutingRules(ref item1, result1); config.routings.Add(item1); } diff --git a/v2rayN/v2rayN/Handler/DownloadHandle.cs b/v2rayN/v2rayN/Handler/DownloadHandle.cs index e2970659..0bdde6c2 100644 --- a/v2rayN/v2rayN/Handler/DownloadHandle.cs +++ b/v2rayN/v2rayN/Handler/DownloadHandle.cs @@ -52,7 +52,7 @@ namespace v2rayN.Handler ws.DownloadFileCompleted += ws_DownloadFileCompleted; ws.DownloadProgressChanged += ws_DownloadProgressChanged; - ws.DownloadFileAsync(new Uri(url), Utils.GetPath(Utils.GetDownloadFileName(url))); + ws.DownloadFileAsync(new Uri(url), Utils.GetPath(Global.DownloadFileName)); } catch (Exception ex) { diff --git a/v2rayN/v2rayN/Handler/MainFormHandler.cs b/v2rayN/v2rayN/Handler/MainFormHandler.cs index c2113b89..a291c099 100644 --- a/v2rayN/v2rayN/Handler/MainFormHandler.cs +++ b/v2rayN/v2rayN/Handler/MainFormHandler.cs @@ -1,7 +1,5 @@ using System; using System.Drawing; -using System.Threading; -using System.Threading.Tasks; using System.Windows.Forms; using v2rayN.Base; using v2rayN.Mode; @@ -11,7 +9,7 @@ namespace v2rayN.Handler class MainFormHandler { private static MainFormHandler instance; - Action _updateUI; + Action updateUI; //private DownloadHandle downloadHandle2; //private Config _config; @@ -168,82 +166,103 @@ namespace v2rayN.Handler return counter; } - public void BackupGuiNConfig(Config config, bool auto = false) + + public void UpdateSubscriptionProcess(Config config, Action update) { - string fileName = string.Empty; - if (auto) + updateUI = update; + + updateUI(false, UIRes.I18N("MsgUpdateSubscriptionStart")); + + if (config.subItem == null || config.subItem.Count <= 0) { - fileName = Utils.GetTempPath($"guiNConfig{DateTime.Now.ToString("yyyyMMddHHmmssfff")}.json"); + updateUI(false, UIRes.I18N("MsgNoValidSubscription")); + return; } - else + + for (int k = 1; k <= config.subItem.Count; k++) { - SaveFileDialog fileDialog = new SaveFileDialog + string id = config.subItem[k - 1].id.TrimEx(); + string url = config.subItem[k - 1].url.TrimEx(); + string hashCode = $"{k}->"; + if (config.subItem[k - 1].enabled == false) { - Filter = "guiNConfig|*.json", - FilterIndex = 2, - RestoreDirectory = true - }; - if (fileDialog.ShowDialog() != DialogResult.OK) - { - return; + continue; } - fileName = fileDialog.FileName; + if (Utils.IsNullOrEmpty(id) || Utils.IsNullOrEmpty(url)) + { + updateUI(false, $"{hashCode}{UIRes.I18N("MsgNoValidSubscription")}"); + continue; + } + + DownloadHandle downloadHandle3 = new DownloadHandle(); + downloadHandle3.UpdateCompleted += (sender2, args) => + { + if (args.Success) + { + updateUI(false, $"{hashCode}{UIRes.I18N("MsgGetSubscriptionSuccessfully")}"); + string result = Utils.Base64Decode(args.Msg); + if (Utils.IsNullOrEmpty(result)) + { + updateUI(false, $"{hashCode}{UIRes.I18N("MsgSubscriptionDecodingFailed")}"); + return; + } + + ConfigHandler.RemoveServerViaSubid(ref config, id); + updateUI(false, $"{hashCode}{UIRes.I18N("MsgClearSubscription")}"); + // RefreshServers(); + int ret = MainFormHandler.Instance.AddBatchServers(config, result, id); + if (ret > 0) + { + // RefreshServers(); + } + else + { + updateUI(false, $"{hashCode}{UIRes.I18N("MsgFailedImportSubscription")}"); + } + updateUI(true, $"{hashCode}{UIRes.I18N("MsgUpdateSubscriptionEnd")}"); + } + else + { + updateUI(false, args.Msg); + } + }; + downloadHandle3.Error += (sender2, args) => + { + updateUI(false, args.GetException().Message); + }; + + downloadHandle3.WebDownloadString(url); + updateUI(false, $"{hashCode}{UIRes.I18N("MsgStartGettingSubscriptions")}"); } + + } + + public void BackupGuiNConfig(Config config) + { + SaveFileDialog fileDialog = new SaveFileDialog + { + Filter = "guiNConfig|*.json", + FilterIndex = 2, + RestoreDirectory = true + }; + if (fileDialog.ShowDialog() != DialogResult.OK) + { + return; + } + string fileName = fileDialog.FileName; if (Utils.IsNullOrEmpty(fileName)) { return; } - var ret = Utils.ToJsonFile(config, fileName); - if (!auto) + if (Utils.ToJsonFile(config, fileName) == 0) { - if (ret == 0) - { - - UI.Show(UIRes.I18N("OperationSuccess")); - } - else - { - UI.ShowWarning(UIRes.I18N("OperationFailed")); - } + UI.Show(UIRes.I18N("OperationSuccess")); + } + else + { + UI.ShowWarning(UIRes.I18N("OperationFailed")); } } - public void UpdateTask(Config config, Action update) - { - _updateUI = update; - Task.Run(() => UpdateTaskRun(config)); - } - - private void UpdateTaskRun(Config config) - { - var updateHandle = new UpdateHandle(); - while (true) - { - Utils.SaveLog("UpdateTaskRun"); - Thread.Sleep(60000); - if (config.autoUpdateInterval <= 0) - { - continue; - } - - updateHandle.UpdateGeoFile("geosite", config, (bool success, string msg) => - { - _updateUI(false, msg); - if (success) - Utils.SaveLog("geosite" + msg); - }); - - Thread.Sleep(60000); - - updateHandle.UpdateGeoFile("geoip", config, (bool success, string msg) => - { - _updateUI(false, msg); - if (success) - Utils.SaveLog("geoip" + msg); - }); - - Thread.Sleep(60000 * config.autoUpdateInterval); - } - } } -} \ No newline at end of file +} diff --git a/v2rayN/v2rayN/Handler/UpdateHandle.cs b/v2rayN/v2rayN/Handler/UpdateHandle.cs index b872ba75..28633104 100644 --- a/v2rayN/v2rayN/Handler/UpdateHandle.cs +++ b/v2rayN/v2rayN/Handler/UpdateHandle.cs @@ -41,9 +41,8 @@ namespace v2rayN.Handler { _config = config; _updateFunc = update; - var url = string.Empty; - DownloadHandle downloadHandle = null; + DownloadHandle downloadHandle = null; if (downloadHandle == null) { downloadHandle = new DownloadHandle(); @@ -56,8 +55,7 @@ namespace v2rayN.Handler try { - string fileName = Utils.GetPath(Utils.GetDownloadFileName(url)); - fileName = Utils.UrlEncode(fileName); + string fileName = Utils.GetPath(Global.DownloadFileName); Process process = new Process { StartInfo = new ProcessStartInfo @@ -94,8 +92,8 @@ namespace v2rayN.Handler { _updateFunc(false, string.Format(UIRes.I18N("MsgParsingSuccessfully"), "v2rayN")); - url = args.Msg; - askToDownload(downloadHandle, url, true); + string url = args.Msg; + askToDownload(downloadHandle, url); } else { @@ -111,7 +109,6 @@ namespace v2rayN.Handler { _config = config; _updateFunc = update; - var url = string.Empty; DownloadHandle downloadHandle = null; if (downloadHandle == null) @@ -126,7 +123,7 @@ namespace v2rayN.Handler try { - _updateFunc(true, url); + _updateFunc(true, ""); } catch (Exception ex) { @@ -149,8 +146,8 @@ namespace v2rayN.Handler if (args.Success) { _updateFunc(false, string.Format(UIRes.I18N("MsgParsingSuccessfully"), "Core")); - url = args.Msg; - askToDownload(downloadHandle, url, true); + string url = args.Msg; + askToDownload(downloadHandle, url); } else { @@ -239,7 +236,6 @@ namespace v2rayN.Handler { _config = config; _updateFunc = update; - var url = string.Format(geoUrl, geoName); DownloadHandle downloadHandle = null; if (downloadHandle == null) @@ -254,7 +250,7 @@ namespace v2rayN.Handler try { - string fileName = Utils.GetPath(Utils.GetDownloadFileName(url)); + string fileName = Utils.GetPath(Global.DownloadFileName); if (File.Exists(fileName)) { string targetPath = Utils.GetPath($"{geoName}.dat"); @@ -282,7 +278,8 @@ namespace v2rayN.Handler }; } - askToDownload(downloadHandle, url, false); + var url = string.Format(geoUrl, geoName); + askToDownload(downloadHandle, url); } #region private @@ -296,12 +293,6 @@ namespace v2rayN.Handler { AllowAutoRedirect = false }; - if (httpProxyTest() > 0) - { - int httpPort = _config.GetLocalPort(Global.InboundHttp); - WebProxy webProxy = new WebProxy(Global.Loopback, httpPort); - webRequestHandler.Proxy = webProxy; - } HttpClient httpClient = new HttpClient(webRequestHandler); string url; @@ -436,21 +427,9 @@ namespace v2rayN.Handler } } - private void askToDownload(DownloadHandle downloadHandle, string url, bool blAsk) + private void askToDownload(DownloadHandle downloadHandle, string url) { - bool blDownload = false; - if (blAsk) - { - if (UI.ShowYesNo(string.Format(UIRes.I18N("DownloadYesNo"), url)) == DialogResult.Yes) - { - blDownload = true; - } - } - else - { - blDownload = true; - } - if (blDownload) + if (UI.ShowYesNo(string.Format(UIRes.I18N("DownloadYesNo"), url)) == DialogResult.Yes) { if (httpProxyTest() > 0) { diff --git a/v2rayN/v2rayN/Handler/V2rayConfigHandler.cs b/v2rayN/v2rayN/Handler/V2rayConfigHandler.cs index 61df26d0..3712c228 100644 --- a/v2rayN/v2rayN/Handler/V2rayConfigHandler.cs +++ b/v2rayN/v2rayN/Handler/V2rayConfigHandler.cs @@ -197,10 +197,7 @@ namespace v2rayN.Handler { foreach (var item in config.routings[config.routingIndex].rules) { - if (item.enabled) - { - routingUserRule(item, ref v2rayConfig); - } + routingUserRule(item, ref v2rayConfig); } } } diff --git a/v2rayN/v2rayN/Mode/Config.cs b/v2rayN/v2rayN/Mode/Config.cs index a8a54cb2..67bafaea 100644 --- a/v2rayN/v2rayN/Mode/Config.cs +++ b/v2rayN/v2rayN/Mode/Config.cs @@ -195,11 +195,6 @@ namespace v2rayN.Mode get; set; } - public int autoUpdateInterval - { - get; set; - } = 0; - #region 函数 public string address() diff --git a/v2rayN/v2rayN/Mode/RulesItem.cs b/v2rayN/v2rayN/Mode/RulesItem.cs index 823e970b..738a889f 100644 --- a/v2rayN/v2rayN/Mode/RulesItem.cs +++ b/v2rayN/v2rayN/Mode/RulesItem.cs @@ -19,9 +19,7 @@ namespace v2rayN.Mode public List domain { get; set; } public List protocol { get; set; } - - public bool enabled { get; set; } = true; - + } } diff --git a/v2rayN/v2rayN/Program.cs b/v2rayN/v2rayN/Program.cs index d63f2b64..c4b24c35 100644 --- a/v2rayN/v2rayN/Program.cs +++ b/v2rayN/v2rayN/Program.cs @@ -34,7 +34,7 @@ namespace v2rayN if (!IsDuplicateInstance()) { - Utils.SaveLog($"v2rayN start up | {Utils.GetVersion()} | {Utils.GetExePath()}"); + Utils.SaveLog("v2rayN start up " + Utils.GetVersion()); //设置语言环境 string lang = Utils.RegReadValue(Global.MyRegPath, Global.MyRegKeyLanguage, "zh-Hans"); @@ -82,7 +82,7 @@ namespace v2rayN string name = Utils.GetExePath(); // Allow different locations to run name = name.Replace("\\", "/"); // https://stackoverflow.com/questions/20714120/could-not-find-a-part-of-the-path-error-while-creating-mutex - + Global.mutexObj = new Mutex(false, name, out bool bCreatedNew); return !bCreatedNew; } diff --git a/v2rayN/v2rayN/Properties/AssemblyInfo.cs b/v2rayN/v2rayN/Properties/AssemblyInfo.cs index 4a4693f9..82c50b3f 100644 --- a/v2rayN/v2rayN/Properties/AssemblyInfo.cs +++ b/v2rayN/v2rayN/Properties/AssemblyInfo.cs @@ -32,4 +32,4 @@ using System.Runtime.InteropServices; // 方法是按如下所示使用“*”: //[assembly: AssemblyVersion("1.0.*")] //[assembly: AssemblyVersion("1.0.0")] -[assembly: AssemblyFileVersion("4.22")] +[assembly: AssemblyFileVersion("4.20")] diff --git a/v2rayN/v2rayN/Properties/Settings.Designer.cs b/v2rayN/v2rayN/Properties/Settings.Designer.cs index dea73b7b..62dd9b42 100644 --- a/v2rayN/v2rayN/Properties/Settings.Designer.cs +++ b/v2rayN/v2rayN/Properties/Settings.Designer.cs @@ -12,7 +12,7 @@ namespace v2rayN.Properties { [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()] - [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "16.3.0.0")] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "14.0.0.0")] internal sealed partial class Settings : global::System.Configuration.ApplicationSettingsBase { private static Settings defaultInstance = ((Settings)(global::System.Configuration.ApplicationSettingsBase.Synchronized(new Settings()))); diff --git a/v2rayN/v2rayN/Sample/custom_routing_black b/v2rayN/v2rayN/Sample/custom_routing_black deleted file mode 100644 index 9005c944..00000000 --- a/v2rayN/v2rayN/Sample/custom_routing_black +++ /dev/null @@ -1,29 +0,0 @@ -[ - { - "outboundTag": "direct", - "protocol": [ - "bittorrent" - ] - }, - { - "outboundTag": "block", - "domain": [ - "geosite:category-ads-all" - ] - }, - { - "outboundTag": "proxy", - "ip": [ - "geoip:telegram" - ], - "domain": [ - "geosite:gfw", - "geosite:greatfire", - "geosite:tld-!cn" - ] - }, - { - "port": "0-65535", - "outboundTag": "direct" - } -] \ No newline at end of file diff --git a/v2rayN/v2rayN/Tool/Utils.cs b/v2rayN/v2rayN/Tool/Utils.cs index 5eed9f09..522db7c8 100644 --- a/v2rayN/v2rayN/Tool/Utils.cs +++ b/v2rayN/v2rayN/Tool/Utils.cs @@ -536,7 +536,7 @@ namespace v2rayN try { string exePath = GetExePath(); - RegWriteValue(autoRunRegPath, autoRunName, run ? $"\"{exePath}\"" : ""); + RegWriteValue(autoRunRegPath, autoRunName, run ? exePath : ""); } catch { @@ -553,7 +553,7 @@ namespace v2rayN { string value = RegReadValue(autoRunRegPath, autoRunName, ""); string exePath = GetExePath(); - if (value?.Equals(exePath) == true || value?.Equals($"\"{exePath}\"") == true) + if (value?.Equals(exePath) == true) { return true; } @@ -708,8 +708,7 @@ namespace v2rayN ServicePointManager.SecurityProtocol = SecurityProtocolType.Ssl3 | SecurityProtocolType.Tls | SecurityProtocolType.Tls11 - | SecurityProtocolType.Tls12 - | SecurityProtocolType.Tls13; + | SecurityProtocolType.Tls12; ServicePointManager.DefaultConnectionLimit = 256; } #endregion @@ -833,14 +832,6 @@ namespace v2rayN { i.SubItems.Add(new ListViewItem.ListViewSubItem() { Name = name, Text = text }); } - - public static string GetDownloadFileName(string url) - { - var fileName = System.IO.Path.GetFileName(url); - fileName += "_temp"; - - return fileName; - } #endregion #region TempPath diff --git a/v2rayN/v2rayN/app.config b/v2rayN/v2rayN/app.config index df5f1904..620ddb42 100644 --- a/v2rayN/v2rayN/app.config +++ b/v2rayN/v2rayN/app.config @@ -1,7 +1,7 @@ - + diff --git a/v2rayN/v2rayN/v2rayN.csproj b/v2rayN/v2rayN/v2rayN.csproj index 286151ae..0b17564f 100644 --- a/v2rayN/v2rayN/v2rayN.csproj +++ b/v2rayN/v2rayN/v2rayN.csproj @@ -9,7 +9,7 @@ Properties v2rayN v2rayN - v4.8 + v4.6 512 false @@ -402,7 +402,6 @@ - diff --git a/v2rayN/v2rayUpgrade/App.config b/v2rayN/v2rayUpgrade/App.config index 4bfa0056..2d2a12d8 100644 --- a/v2rayN/v2rayUpgrade/App.config +++ b/v2rayN/v2rayUpgrade/App.config @@ -1,6 +1,6 @@ - + diff --git a/v2rayN/v2rayUpgrade/MainForm.cs b/v2rayN/v2rayUpgrade/MainForm.cs index 6b9ff16c..8b30a2cb 100644 --- a/v2rayN/v2rayUpgrade/MainForm.cs +++ b/v2rayN/v2rayUpgrade/MainForm.cs @@ -3,7 +3,6 @@ using System.Diagnostics; using System.IO; using System.IO.Compression; using System.Text; -using System.Web; using System.Windows.Forms; namespace v2rayUpgrade @@ -18,8 +17,7 @@ namespace v2rayUpgrade InitializeComponent(); if (args.Length > 0) { - fileName = string.Join(" ", args); - fileName = HttpUtility.UrlDecode(fileName); + fileName = args[0]; } } private void showWarn(string message) diff --git a/v2rayN/v2rayUpgrade/Properties/Resources.Designer.cs b/v2rayN/v2rayUpgrade/Properties/Resources.Designer.cs index f766ed10..5ad1ac66 100644 --- a/v2rayN/v2rayUpgrade/Properties/Resources.Designer.cs +++ b/v2rayN/v2rayUpgrade/Properties/Resources.Designer.cs @@ -19,7 +19,7 @@ namespace v2rayUpgrade.Properties { // 类通过类似于 ResGen 或 Visual Studio 的工具自动生成的。 // 若要添加或移除成员,请编辑 .ResX 文件,然后重新运行 ResGen // (以 /str 作为命令选项),或重新生成 VS 项目。 - [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "16.0.0.0")] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "15.0.0.0")] [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()] internal class Resources { diff --git a/v2rayN/v2rayUpgrade/Properties/Settings.Designer.cs b/v2rayN/v2rayUpgrade/Properties/Settings.Designer.cs index ecf1927f..5656cdc6 100644 --- a/v2rayN/v2rayUpgrade/Properties/Settings.Designer.cs +++ b/v2rayN/v2rayUpgrade/Properties/Settings.Designer.cs @@ -12,7 +12,7 @@ namespace v2rayUpgrade.Properties { [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()] - [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "16.3.0.0")] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "15.9.0.0")] internal sealed partial class Settings : global::System.Configuration.ApplicationSettingsBase { private static Settings defaultInstance = ((Settings)(global::System.Configuration.ApplicationSettingsBase.Synchronized(new Settings()))); diff --git a/v2rayN/v2rayUpgrade/v2rayUpgrade.csproj b/v2rayN/v2rayUpgrade/v2rayUpgrade.csproj index a619ae5e..b7d6307f 100644 --- a/v2rayN/v2rayUpgrade/v2rayUpgrade.csproj +++ b/v2rayN/v2rayUpgrade/v2rayUpgrade.csproj @@ -8,7 +8,7 @@ WinExe v2rayUpgrade v2rayUpgrade - v4.8 + v4.6 512 true true @@ -39,7 +39,6 @@ - diff --git a/v2rayN/v2rayUpgrade/v2rayUpgrade.csproj.user b/v2rayN/v2rayUpgrade/v2rayUpgrade.csproj.user index 4890b148..60d6da27 100644 --- a/v2rayN/v2rayUpgrade/v2rayUpgrade.csproj.user +++ b/v2rayN/v2rayUpgrade/v2rayUpgrade.csproj.user @@ -1,6 +1,6 @@  - C:\Githubb\v2rayN\v2rayN\v2rayUpgrade\bin\Debug\v2ray-windows.zip + D:\Github\v2rayN\v2rayN\v2rayUpgrade\bin\Debug\v2ray-windows.zip \ No newline at end of file