diff --git a/v2rayN/v2rayN/Forms/OptionSettingForm.Designer.cs b/v2rayN/v2rayN/Forms/OptionSettingForm.Designer.cs index 8a2f03e2..2d895f88 100644 --- a/v2rayN/v2rayN/Forms/OptionSettingForm.Designer.cs +++ b/v2rayN/v2rayN/Forms/OptionSettingForm.Designer.cs @@ -78,6 +78,11 @@ this.chkEnableStatistics = new System.Windows.Forms.CheckBox(); this.chkAllowLANConn = new System.Windows.Forms.CheckBox(); this.chkAutoRun = new System.Windows.Forms.CheckBox(); + this.tabPage3 = new System.Windows.Forms.TabPage(); + this.groupBox2 = new System.Windows.Forms.GroupBox(); + this.label13 = new System.Windows.Forms.Label(); + this.label12 = new System.Windows.Forms.Label(); + this.txtsystemProxyExceptions = new System.Windows.Forms.TextBox(); this.panel2 = new System.Windows.Forms.Panel(); this.btnOK = new System.Windows.Forms.Button(); this.panel1 = new System.Windows.Forms.Panel(); @@ -87,6 +92,8 @@ this.tabPage2.SuspendLayout(); this.tabPage6.SuspendLayout(); this.tabPage7.SuspendLayout(); + this.tabPage3.SuspendLayout(); + this.groupBox2.SuspendLayout(); this.panel2.SuspendLayout(); this.SuspendLayout(); // @@ -105,6 +112,7 @@ this.tabControl1.Controls.Add(this.tabPage2); this.tabControl1.Controls.Add(this.tabPage6); this.tabControl1.Controls.Add(this.tabPage7); + this.tabControl1.Controls.Add(this.tabPage3); this.tabControl1.Name = "tabControl1"; this.tabControl1.SelectedIndex = 0; // @@ -433,6 +441,37 @@ this.chkAutoRun.Name = "chkAutoRun"; this.chkAutoRun.UseVisualStyleBackColor = true; // + // tabPage3 + // + resources.ApplyResources(this.tabPage3, "tabPage3"); + this.tabPage3.Controls.Add(this.groupBox2); + this.tabPage3.Name = "tabPage3"; + this.tabPage3.UseVisualStyleBackColor = true; + // + // groupBox2 + // + resources.ApplyResources(this.groupBox2, "groupBox2"); + this.groupBox2.Controls.Add(this.label13); + this.groupBox2.Controls.Add(this.label12); + this.groupBox2.Controls.Add(this.txtsystemProxyExceptions); + this.groupBox2.Name = "groupBox2"; + this.groupBox2.TabStop = false; + // + // label13 + // + resources.ApplyResources(this.label13, "label13"); + this.label13.Name = "label13"; + // + // label12 + // + resources.ApplyResources(this.label12, "label12"); + this.label12.Name = "label12"; + // + // txtsystemProxyExceptions + // + resources.ApplyResources(this.txtsystemProxyExceptions, "txtsystemProxyExceptions"); + this.txtsystemProxyExceptions.Name = "txtsystemProxyExceptions"; + // // panel2 // resources.ApplyResources(this.panel2, "panel2"); @@ -473,6 +512,9 @@ this.tabPage6.PerformLayout(); this.tabPage7.ResumeLayout(false); this.tabPage7.PerformLayout(); + this.tabPage3.ResumeLayout(false); + this.groupBox2.ResumeLayout(false); + this.groupBox2.PerformLayout(); this.panel2.ResumeLayout(false); this.ResumeLayout(false); @@ -532,5 +574,10 @@ private System.Windows.Forms.ComboBox cmbCoreType; private System.Windows.Forms.Label label4; private System.Windows.Forms.CheckBox chkIgnoreGeoUpdateCore; + private System.Windows.Forms.TabPage tabPage3; + private System.Windows.Forms.TextBox txtsystemProxyExceptions; + private System.Windows.Forms.Label label12; + private System.Windows.Forms.GroupBox groupBox2; + private System.Windows.Forms.Label label13; } } \ No newline at end of file diff --git a/v2rayN/v2rayN/Forms/OptionSettingForm.cs b/v2rayN/v2rayN/Forms/OptionSettingForm.cs index 95dbb622..e6acb0d8 100644 --- a/v2rayN/v2rayN/Forms/OptionSettingForm.cs +++ b/v2rayN/v2rayN/Forms/OptionSettingForm.cs @@ -65,8 +65,9 @@ namespace v2rayN.Forms //remoteDNS txtremoteDNS.Text = config.remoteDNS; - chkdefAllowInsecure.Checked = config.defAllowInsecure; + + txtsystemProxyExceptions.Text = config.systemProxyExceptions; } @@ -228,9 +229,10 @@ namespace v2rayN.Forms //remoteDNS config.remoteDNS = txtremoteDNS.Text.TrimEx(); - config.defAllowInsecure = chkdefAllowInsecure.Checked; + config.systemProxyExceptions = txtsystemProxyExceptions.Text.TrimEx(); + return 0; } diff --git a/v2rayN/v2rayN/Forms/OptionSettingForm.resx b/v2rayN/v2rayN/Forms/OptionSettingForm.resx index 99b34537..1cec3650 100644 --- a/v2rayN/v2rayN/Forms/OptionSettingForm.resx +++ b/v2rayN/v2rayN/Forms/OptionSettingForm.resx @@ -136,17 +136,21 @@ 2 + + + 6, 283 + Record local logs tabPage7 - - 4 + + 12 - - 0 + + 4, 22 txtKcpwriteBufferSize @@ -181,15 +185,14 @@ groupBox1 - 662, 523 35 - - 1 + + 111, 24 468, 60 @@ -201,14 +204,20 @@ 102, 16 + + cmbprotocol + 6 14 - - 12 + + tabPage3 + + + 5 30, 88 @@ -240,18 +249,18 @@ True - - 234, 16 + + tabPage6 - - 4, 22 - - - System.Windows.Forms.CheckBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + tabPage6 36 + + 75, 23 + 7 @@ -261,9 +270,6 @@ 12 - - label7 - http @@ -285,9 +291,18 @@ tabPage6 + + 317, 12 + 15, 63 + + System.Windows.Forms.CheckBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + 0 + 2 @@ -306,32 +321,38 @@ 111, 62 - - groupBox1 + + 654, 427 + + + 654, 427 System.Windows.Forms.CheckBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - 662, 10 - Settings + + True + System.Windows.Forms.CheckBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 label4 + + 42 + txtKcpmtu lbFreshrate - - 12 + + 4 System.Windows.Forms.ComboBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 @@ -345,12 +366,12 @@ True + + Turn on Sniffing + 0, 10 - - 58, 20 - Support DnsObject @@ -360,8 +381,8 @@ False - - groupBox1 + + tabControl1 $this @@ -369,8 +390,8 @@ 3 - - 7 + + none System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 @@ -378,14 +399,20 @@ NoControl + + 6 + tabPage7 - - 19 + + 0 - - Bottom + + tabPage6 + + + Fill 576, 16 @@ -399,9 +426,6 @@ System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - 15, 40 - congestion @@ -429,12 +453,18 @@ v2rayN settings - - 16 + + System.Windows.Forms.ComboBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 groupBox1 + + 12 + + + NoControl + 10 @@ -465,23 +495,17 @@ Automatically start at system startup - - 654, 427 - 1 - - 4, 4, 4, 4 - txtKcptti Vertical - - Turn on Sniffing + + 15, 160 281, 12 @@ -498,8 +522,11 @@ 3 - - 662, 453 + + System.Windows.Forms.TextBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + True 33, 29 @@ -522,6 +549,9 @@ 59, 12 + + cmbCoreType + v2rayN.Forms.BaseForm, v2rayN, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null @@ -531,12 +561,18 @@ tabPage2 - - panel2 + + 4 + + + True Statistics freshrate + + 107, 12 + 120, 16 @@ -558,11 +594,8 @@ True - - tabPage6 - - - tabPage6 + + 4, 4, 4, 4 tabPage6 @@ -597,12 +630,18 @@ 5 + + label12 + Core Type True + + 8, 28 + chksniffingEnabled @@ -642,6 +681,12 @@ System.Windows.Forms.TextBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + groupBox1 + + + True + panel1 @@ -660,8 +705,8 @@ 468, 27 - - 236, 28 + + label13 chkAutoRun @@ -672,11 +717,11 @@ 345, 62 - - 11 + + 15, 16 - - 15, 129 + + 3, 3, 3, 3 chkudpEnabled @@ -717,20 +762,23 @@ False - - tabPage6 + + System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 txtlocalPort + + 236, 28 + tabPage7 - - System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + 19 - - 125, 12 + + 4, 22 tabPage6 @@ -747,26 +795,29 @@ protocol + + 84, 16 + 23, 12 638, 356 - - socks + + True 3, 3 + + System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + chkAllowLANConn - - 84, 16 - - - tabControl1 + + True True @@ -774,29 +825,23 @@ System.Windows.Forms.TextBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - True + + 15, 40 1 - - 10 + + tabPage6 369, 62 - - 161, 84 - 9 - - groupBox1 - - - 10 + + System proxy settings NoControl @@ -804,6 +849,9 @@ chkEnableStatistics + + socks + 4 @@ -831,15 +879,12 @@ label2 - - 15, 132 + + 234, 16 False - - System.Windows.Forms.ComboBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - 9 @@ -861,18 +906,24 @@ 20 - - cmbprotocol + + allowInsecure + + + groupBox2 Enable Statistics (Realtime netspeed and traffic records. Require restart the v2rayN client) - - NoControl + + 107, 12 204, 16 + + 662, 453 + $this @@ -882,23 +933,26 @@ Listening port + + protocol + Fill - - System.Windows.Forms.ComboBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + 41 257, 60 - - 0 + + System.Windows.Forms.GroupBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - 94, 21 + + tabControl1 - - True + + System.Windows.Forms.Panel, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 34 @@ -909,14 +963,14 @@ chkKeepOlderDedupl - - True + + 15, 129 16 - - True + + 7 True @@ -954,14 +1008,14 @@ System.Windows.Forms.TabControl, 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 + + tabPage3 - - True + + panel2 - - 15, 160 + + Vertical 38 @@ -972,9 +1026,6 @@ 4, 22 - - v2fly_core - 9 @@ -987,35 +1038,38 @@ 10 - - tabPage6 - error 59, 12 + + NoControl + + + txtKcpdownlinkCapacity + System.Windows.Forms.CheckBox, 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 + + 654, 427 downlinkCapacity - - 120, 16 + + tabControl1 - - 75, 23 + + 662, 10 txtlocalPort2 - - 2 + + True 246, 16 @@ -1029,6 +1083,9 @@ 654, 427 + + 42 + 15, 108 @@ -1050,8 +1107,8 @@ Allow connections from the LAN - - tabPage1 + + 161, 84 System.Windows.Forms.CheckBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 @@ -1062,6 +1119,9 @@ 2 + + groupBox2 + panel2 @@ -1077,11 +1137,14 @@ System.Windows.Forms.TabPage, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + Bottom + txtKcpreadBufferSize - - none + + System.Windows.Forms.ComboBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 groupBox1 @@ -1092,29 +1155,29 @@ Fill - - protocol + + 638, 219 - - 4, 22 + + OptionSettingForm - - 15 + + 2 System.Windows.Forms.CheckBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - 15, 64 - 8 - - System.Windows.Forms.CheckBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + groupBox2 - - 5 + + 58, 20 + + + 1 13 @@ -1125,6 +1188,12 @@ 0 + + 8, 52 + + + 9 + True @@ -1140,8 +1209,8 @@ True - - allowInsecure + + v2fly_core True @@ -1149,26 +1218,35 @@ System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + 6 + 23, 12 - - 654, 427 + + 11 8 - - tabControl1 + + Exception + + + Use semicolon (;) 345, 100 + + 94, 21 + NoControl - - True + + 654, 427 10 @@ -1185,14 +1263,26 @@ 94, 21 - - 6 + + debug + + + System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + 0 0, 463 - - groupBox1 + + 0 + + + System.Windows.Forms.TextBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + tabPage1 3 @@ -1206,11 +1296,8 @@ 97, 20 - - tabPage6 - - - tabPage6 + + label7 7 @@ -1227,8 +1314,8 @@ &OK - - 94, 21 + + 10 1 @@ -1251,17 +1338,26 @@ tabPage7 + + txtsystemProxyExceptions + + + System.Windows.Forms.TabPage, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + groupBox2 + 4, 22 - - $this + + 40 System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - True + + 4, 22 groupBox1 @@ -1272,20 +1368,20 @@ 6 - - 236, 66 + + Custom DNS (multiple, separated by commas (,)) tabPage7 - - 15, 16 + + $this System.Windows.Forms.CheckBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - True + + 15, 132 3 @@ -1296,6 +1392,9 @@ txtremoteDNS + + 0, 0 + True @@ -1305,8 +1404,8 @@ 3 - - writeBufferSize + + 1 11 @@ -1317,6 +1416,9 @@ 89, 12 + + 16 + System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 @@ -1329,8 +1431,8 @@ groupBox1 - - Core: DNS settings + + groupBox1 groupBox1 @@ -1341,23 +1443,26 @@ System.Windows.Forms.TextBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + True + 345, 24 tabPage7 - - cbFreshrate - - - OptionSettingForm + + Core: DNS settings 236, 104 - - System.Windows.Forms.CheckBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + label3 + + + 125, 12 NoControl @@ -1371,6 +1476,12 @@ 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 + 8, 41 @@ -1380,14 +1491,14 @@ uplinkCapacity - - txtKcpdownlinkCapacity + + System.Windows.Forms.CheckBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 35 - - 6 + + 5 4 @@ -1395,8 +1506,11 @@ 3, 3, 3, 3 - - 107, 12 + + 10 + + + cmbloglevel label5 @@ -1410,8 +1524,8 @@ False - - debug + + tabPage6 System.Windows.Forms.CheckBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 @@ -1419,8 +1533,8 @@ chkmuxEnabled - - label3 + + True System.Windows.Forms.CheckBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 @@ -1437,15 +1551,18 @@ Enable UDP - - cmbCoreType + + 15, 64 - - 3, 3, 3, 3 + + True groupBox1 + + 15 + 126, 16 @@ -1455,17 +1572,20 @@ 75, 23 + + Do not use proxy server for addresses beginning with + groupBox1 - - NoControl + + 120, 16 readBufferSize - - 9 + + 2 System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 @@ -1476,14 +1596,17 @@ 342, 17 + + 94, 21 + 97, 20 3 - - Custom DNS (multiple, separated by commas (,)) + + groupBox1 654, 427 @@ -1497,6 +1620,9 @@ 0 + + groupBox1 + NoControl @@ -1509,21 +1635,33 @@ System.Windows.Forms.CheckBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + cbFreshrate + Turn on Mux Multiplexing - - cmbloglevel + + tabPage6 label6 - - 111, 24 + + 236, 66 + + + NoControl 4 + + NoControl + + + True + 662, 60 diff --git a/v2rayN/v2rayN/Forms/OptionSettingForm.zh-Hans.resx b/v2rayN/v2rayN/Forms/OptionSettingForm.zh-Hans.resx index e2026b67..1740c11e 100644 --- a/v2rayN/v2rayN/Forms/OptionSettingForm.zh-Hans.resx +++ b/v2rayN/v2rayN/Forms/OptionSettingForm.zh-Hans.resx @@ -121,6 +121,60 @@ 取消(&C) + + 654, 443 + + + Core:基础设置 + + + 654, 443 + + + Core:DNS设置 + + + 654, 443 + + + Core:KCP设置 + + + 654, 443 + + + v2rayN设置 + + + 95, 12 + + + 使用分号(;)分隔 + + + 239, 12 + + + 对于下列字符开头的地址不使用代理服务器: + + + 654, 443 + + + 例外 + + + 654, 443 + + + 系统代理设置 + + + 662, 469 + + + 648, 437 + 336, 16 @@ -193,15 +247,6 @@ 本地监听端口 - - 648, 437 - - - 654, 443 - - - Core:基础设置 - 161, 12 @@ -214,18 +259,6 @@ 自定义DNS(可多个,用逗号(,)隔开) - - 654, 443 - - - Core:DNS设置 - - - 654, 443 - - - Core:KCP设置 - 150, 16 @@ -268,21 +301,12 @@ 开机自动启动(可能会不成功) - - 654, 443 - - - v2rayN设置 - - - 662, 469 + + 0, 479 确定(&O) - - 0, 479 - 662, 539 diff --git a/v2rayN/v2rayN/Forms/RoutingSettingForm.Designer.cs b/v2rayN/v2rayN/Forms/RoutingSettingForm.Designer.cs index 1d5cf177..d24ecee8 100644 --- a/v2rayN/v2rayN/Forms/RoutingSettingForm.Designer.cs +++ b/v2rayN/v2rayN/Forms/RoutingSettingForm.Designer.cs @@ -35,6 +35,8 @@ this.labRoutingTips = new System.Windows.Forms.Label(); this.btnOK = new System.Windows.Forms.Button(); this.panel1 = new System.Windows.Forms.Panel(); + this.cmbdomainMatcher = new System.Windows.Forms.ComboBox(); + this.label6 = new System.Windows.Forms.Label(); this.chkenableRoutingAdvanced = new System.Windows.Forms.CheckBox(); this.linkLabelRoutingDoc = new System.Windows.Forms.LinkLabel(); this.cmbdomainStrategy = new System.Windows.Forms.ComboBox(); @@ -90,24 +92,24 @@ // // btnClose // - this.btnClose.DialogResult = System.Windows.Forms.DialogResult.Cancel; resources.ApplyResources(this.btnClose, "btnClose"); + this.btnClose.DialogResult = System.Windows.Forms.DialogResult.Cancel; this.btnClose.Name = "btnClose"; this.btnClose.UseVisualStyleBackColor = true; this.btnClose.Click += new System.EventHandler(this.btnClose_Click); // // panel2 // + resources.ApplyResources(this.panel2, "panel2"); this.panel2.Controls.Add(this.labRoutingTips); this.panel2.Controls.Add(this.btnClose); this.panel2.Controls.Add(this.btnOK); - resources.ApplyResources(this.panel2, "panel2"); this.panel2.Name = "panel2"; // // labRoutingTips // - this.labRoutingTips.ForeColor = System.Drawing.Color.Brown; resources.ApplyResources(this.labRoutingTips, "labRoutingTips"); + this.labRoutingTips.ForeColor = System.Drawing.Color.Brown; this.labRoutingTips.Name = "labRoutingTips"; // // btnOK @@ -119,12 +121,29 @@ // // panel1 // + resources.ApplyResources(this.panel1, "panel1"); + this.panel1.Controls.Add(this.cmbdomainMatcher); + this.panel1.Controls.Add(this.label6); this.panel1.Controls.Add(this.chkenableRoutingAdvanced); this.panel1.Controls.Add(this.linkLabelRoutingDoc); this.panel1.Controls.Add(this.cmbdomainStrategy); - resources.ApplyResources(this.panel1, "panel1"); this.panel1.Name = "panel1"; // + // cmbdomainMatcher + // + resources.ApplyResources(this.cmbdomainMatcher, "cmbdomainMatcher"); + this.cmbdomainMatcher.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList; + this.cmbdomainMatcher.FormattingEnabled = true; + this.cmbdomainMatcher.Items.AddRange(new object[] { + resources.GetString("cmbdomainMatcher.Items"), + resources.GetString("cmbdomainMatcher.Items1")}); + this.cmbdomainMatcher.Name = "cmbdomainMatcher"; + // + // label6 + // + resources.ApplyResources(this.label6, "label6"); + this.label6.Name = "label6"; + // // chkenableRoutingAdvanced // resources.ApplyResources(this.chkenableRoutingAdvanced, "chkenableRoutingAdvanced"); @@ -141,17 +160,18 @@ // // cmbdomainStrategy // + resources.ApplyResources(this.cmbdomainStrategy, "cmbdomainStrategy"); this.cmbdomainStrategy.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList; this.cmbdomainStrategy.FormattingEnabled = true; this.cmbdomainStrategy.Items.AddRange(new object[] { resources.GetString("cmbdomainStrategy.Items"), resources.GetString("cmbdomainStrategy.Items1"), resources.GetString("cmbdomainStrategy.Items2")}); - resources.ApplyResources(this.cmbdomainStrategy, "cmbdomainStrategy"); this.cmbdomainStrategy.Name = "cmbdomainStrategy"; // // 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.menuAdd, @@ -160,88 +180,87 @@ this.menuSetDefaultRouting}); this.cmsLv.Name = "cmsLv"; this.cmsLv.OwnerItem = this.MenuItemAdvanced; - resources.ApplyResources(this.cmsLv, "cmsLv"); // // menuAdd // - this.menuAdd.Name = "menuAdd"; resources.ApplyResources(this.menuAdd, "menuAdd"); + this.menuAdd.Name = "menuAdd"; this.menuAdd.Click += new System.EventHandler(this.menuAdd_Click); // // menuRemove // - this.menuRemove.Name = "menuRemove"; resources.ApplyResources(this.menuRemove, "menuRemove"); + this.menuRemove.Name = "menuRemove"; this.menuRemove.Click += new System.EventHandler(this.menuRemove_Click); // // menuSelectAll // - this.menuSelectAll.Name = "menuSelectAll"; resources.ApplyResources(this.menuSelectAll, "menuSelectAll"); + this.menuSelectAll.Name = "menuSelectAll"; this.menuSelectAll.Click += new System.EventHandler(this.menuSelectAll_Click); // // menuSetDefaultRouting // - this.menuSetDefaultRouting.Name = "menuSetDefaultRouting"; resources.ApplyResources(this.menuSetDefaultRouting, "menuSetDefaultRouting"); + this.menuSetDefaultRouting.Name = "menuSetDefaultRouting"; this.menuSetDefaultRouting.Click += new System.EventHandler(this.menuSetDefaultRouting_Click); // // MenuItemAdvanced // + resources.ApplyResources(this.MenuItemAdvanced, "MenuItemAdvanced"); this.MenuItemAdvanced.DropDown = this.cmsLv; this.MenuItemAdvanced.Name = "MenuItemAdvanced"; - resources.ApplyResources(this.MenuItemAdvanced, "MenuItemAdvanced"); // // menuServer // + resources.ApplyResources(this.menuServer, "menuServer"); this.menuServer.Items.AddRange(new System.Windows.Forms.ToolStripItem[] { this.MenuItemBasic, this.MenuItemAdvanced}); - resources.ApplyResources(this.menuServer, "menuServer"); this.menuServer.Name = "menuServer"; // // MenuItemBasic // + resources.ApplyResources(this.MenuItemBasic, "MenuItemBasic"); this.MenuItemBasic.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] { this.menuImportBasicRules}); this.MenuItemBasic.Name = "MenuItemBasic"; - resources.ApplyResources(this.MenuItemBasic, "MenuItemBasic"); // // menuImportBasicRules // - this.menuImportBasicRules.Name = "menuImportBasicRules"; resources.ApplyResources(this.menuImportBasicRules, "menuImportBasicRules"); + this.menuImportBasicRules.Name = "menuImportBasicRules"; this.menuImportBasicRules.Click += new System.EventHandler(this.menuImportBasicRules_Click); // // tabNormal // + resources.ApplyResources(this.tabNormal, "tabNormal"); this.tabNormal.Controls.Add(this.tabPageProxy); this.tabNormal.Controls.Add(this.tabPageDirect); this.tabNormal.Controls.Add(this.tabPageBlock); this.tabNormal.Controls.Add(this.tabPageRuleList); - resources.ApplyResources(this.tabNormal, "tabNormal"); this.tabNormal.Name = "tabNormal"; this.tabNormal.SelectedIndex = 0; this.tabNormal.Selecting += new System.Windows.Forms.TabControlCancelEventHandler(this.tabNormal_Selecting); // // tabPageProxy // - this.tabPageProxy.Controls.Add(this.panel5); resources.ApplyResources(this.tabPageProxy, "tabPageProxy"); + this.tabPageProxy.Controls.Add(this.panel5); this.tabPageProxy.Name = "tabPageProxy"; this.tabPageProxy.UseVisualStyleBackColor = true; // // panel5 // + resources.ApplyResources(this.panel5, "panel5"); this.panel5.Controls.Add(this.groupBox5); this.panel5.Controls.Add(this.groupBox6); - resources.ApplyResources(this.panel5, "panel5"); this.panel5.Name = "panel5"; // // groupBox5 // - this.groupBox5.Controls.Add(this.txtProxyIp); resources.ApplyResources(this.groupBox5, "groupBox5"); + this.groupBox5.Controls.Add(this.txtProxyIp); this.groupBox5.Name = "groupBox5"; this.groupBox5.TabStop = false; // @@ -252,8 +271,8 @@ // // groupBox6 // - this.groupBox6.Controls.Add(this.txtProxyDomain); resources.ApplyResources(this.groupBox6, "groupBox6"); + this.groupBox6.Controls.Add(this.txtProxyDomain); this.groupBox6.Name = "groupBox6"; this.groupBox6.TabStop = false; // @@ -264,22 +283,22 @@ // // tabPageDirect // - this.tabPageDirect.Controls.Add(this.panel4); resources.ApplyResources(this.tabPageDirect, "tabPageDirect"); + this.tabPageDirect.Controls.Add(this.panel4); this.tabPageDirect.Name = "tabPageDirect"; this.tabPageDirect.UseVisualStyleBackColor = true; // // panel4 // + resources.ApplyResources(this.panel4, "panel4"); this.panel4.Controls.Add(this.groupBox3); this.panel4.Controls.Add(this.groupBox4); - resources.ApplyResources(this.panel4, "panel4"); this.panel4.Name = "panel4"; // // groupBox3 // - this.groupBox3.Controls.Add(this.txtDirectIp); resources.ApplyResources(this.groupBox3, "groupBox3"); + this.groupBox3.Controls.Add(this.txtDirectIp); this.groupBox3.Name = "groupBox3"; this.groupBox3.TabStop = false; // @@ -290,8 +309,8 @@ // // groupBox4 // - this.groupBox4.Controls.Add(this.txtDirectDomain); resources.ApplyResources(this.groupBox4, "groupBox4"); + this.groupBox4.Controls.Add(this.txtDirectDomain); this.groupBox4.Name = "groupBox4"; this.groupBox4.TabStop = false; // @@ -302,22 +321,22 @@ // // tabPageBlock // - this.tabPageBlock.Controls.Add(this.panel3); resources.ApplyResources(this.tabPageBlock, "tabPageBlock"); + this.tabPageBlock.Controls.Add(this.panel3); this.tabPageBlock.Name = "tabPageBlock"; this.tabPageBlock.UseVisualStyleBackColor = true; // // panel3 // + resources.ApplyResources(this.panel3, "panel3"); this.panel3.Controls.Add(this.groupBox2); this.panel3.Controls.Add(this.groupBox1); - resources.ApplyResources(this.panel3, "panel3"); this.panel3.Name = "panel3"; // // groupBox2 // - this.groupBox2.Controls.Add(this.txtBlockIp); resources.ApplyResources(this.groupBox2, "groupBox2"); + this.groupBox2.Controls.Add(this.txtBlockIp); this.groupBox2.Name = "groupBox2"; this.groupBox2.TabStop = false; // @@ -328,8 +347,8 @@ // // groupBox1 // - this.groupBox1.Controls.Add(this.txtBlockDomain); resources.ApplyResources(this.groupBox1, "groupBox1"); + this.groupBox1.Controls.Add(this.txtBlockDomain); this.groupBox1.Name = "groupBox1"; this.groupBox1.TabStop = false; // @@ -340,15 +359,15 @@ // // tabPageRuleList // - this.tabPageRuleList.Controls.Add(this.lvRoutings); resources.ApplyResources(this.tabPageRuleList, "tabPageRuleList"); + this.tabPageRuleList.Controls.Add(this.lvRoutings); this.tabPageRuleList.Name = "tabPageRuleList"; this.tabPageRuleList.UseVisualStyleBackColor = true; // // lvRoutings // - this.lvRoutings.ContextMenuStrip = this.cmsLv; resources.ApplyResources(this.lvRoutings, "lvRoutings"); + this.lvRoutings.ContextMenuStrip = this.cmsLv; this.lvRoutings.FullRowSelect = true; this.lvRoutings.GridLines = true; this.lvRoutings.HeaderStyle = System.Windows.Forms.ColumnHeaderStyle.Nonclickable; @@ -443,5 +462,7 @@ private System.Windows.Forms.CheckBox chkenableRoutingAdvanced; private System.Windows.Forms.ToolStripMenuItem MenuItemBasic; private System.Windows.Forms.ToolStripMenuItem menuImportBasicRules; + private System.Windows.Forms.ComboBox cmbdomainMatcher; + private System.Windows.Forms.Label label6; } } \ No newline at end of file diff --git a/v2rayN/v2rayN/Forms/RoutingSettingForm.cs b/v2rayN/v2rayN/Forms/RoutingSettingForm.cs index 52a10bbd..732671c2 100644 --- a/v2rayN/v2rayN/Forms/RoutingSettingForm.cs +++ b/v2rayN/v2rayN/Forms/RoutingSettingForm.cs @@ -22,6 +22,7 @@ namespace v2rayN.Forms cmbdomainStrategy.Text = config.domainStrategy; chkenableRoutingAdvanced.Checked = config.enableRoutingAdvanced; + cmbdomainMatcher.Text = config.domainMatcher; if (config.routings == null) { @@ -50,6 +51,8 @@ namespace v2rayN.Forms { config.domainStrategy = cmbdomainStrategy.Text; config.enableRoutingAdvanced = chkenableRoutingAdvanced.Checked; + config.domainMatcher = cmbdomainMatcher.Text; + EndBindingLockedData(); if (ConfigHandler.SaveRouting(ref config) == 0) @@ -295,6 +298,8 @@ namespace v2rayN.Forms txtDirectIp.Text = "geoip:private,geoip:cn"; txtBlockDomain.Text = "geosite:category-ads-all"; + + UI.Show(UIRes.I18N("OperationSuccess")); } #endregion diff --git a/v2rayN/v2rayN/Forms/RoutingSettingForm.resx b/v2rayN/v2rayN/Forms/RoutingSettingForm.resx index 8e33444c..707462c4 100644 --- a/v2rayN/v2rayN/Forms/RoutingSettingForm.resx +++ b/v2rayN/v2rayN/Forms/RoutingSettingForm.resx @@ -117,807 +117,10 @@ System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - NoControl - - - - 753, 17 - - - 75, 23 - - - 4 - - - &Cancel - - - btnClose - - - System.Windows.Forms.Button, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - panel2 - - - 1 - - - NoControl - - - 5, 22 - - - 562, 16 - - - 34 - - - *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 - - - panel2 - - - 0 - - - NoControl - - - 660, 17 - - - 75, 23 - - - 5 - - - &OK - - - btnOK - - - System.Windows.Forms.Button, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - panel2 - - - 2 - - - Bottom - - - 0, 613 - - - 853, 60 - 7 - - panel2 - - - System.Windows.Forms.Panel, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - $this - - - 3 - - - True - - - NoControl - - - 318, 17 - - - 216, 16 - - - 26 - - - Enable advanced routing function - - - chkenableRoutingAdvanced - - - System.Windows.Forms.CheckBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - panel1 - - - 0 - - - True - - - NoControl - - - 6, 21 - - - 0, 0, 0, 0 - - - 95, 12 - - - 19 - - - Domain strategy - - - linkLabelRoutingDoc - - - System.Windows.Forms.LinkLabel, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - panel1 - - - 1 - - - AsIs - - - IPIfNonMatch - - - IPOnDemand - - - 116, 17 - - - 165, 20 - - - 16 - - - cmbdomainStrategy - - - System.Windows.Forms.ComboBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - panel1 - - - 2 - - - Top - - - 0, 25 - - - 853, 51 - - - 11 - - - panel1 - - - System.Windows.Forms.Panel, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - $this - - - 2 - - - 17, 17 - - - 194, 22 - - - Add - - - 194, 22 - - - Remove selected - - - 194, 22 - - - Select All (Ctrl+A) - - - 194, 22 - - - Set as active routing - - - 129, 21 - - - Advanced Function - - - 195, 92 - - - cmsLv - - - System.Windows.Forms.ContextMenuStrip, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - 139, 17 - - - 185, 22 - - - Import Basic Rules - - - 102, 21 - - - Basic Function - - - 0, 0 - - - 853, 25 - - - 15 - - - menuServer - - - System.Windows.Forms.MenuStrip, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - $this - - - 4 - - - Fill - - - 3, 17 - - - True - - - Vertical - - - 441, 485 - - - 25 - - - txtProxyIp - - - System.Windows.Forms.TextBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - groupBox5 - - - 0 - - - Fill - - - 392, 0 - - - 447, 505 - - - 4 - - - IP - - - groupBox5 - - - System.Windows.Forms.GroupBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - panel5 - - - 0 - - - Fill - - - 3, 17 - - - True - - - Vertical - - - 386, 485 - - - 24 - - - txtProxyDomain - - - System.Windows.Forms.TextBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - groupBox6 - - - 0 - - - Left - - - 0, 0 - - - 392, 505 - - - 3 - - - Domain - - - groupBox6 - - - System.Windows.Forms.GroupBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - panel5 - - - 1 - - - Fill - - - 3, 3 - - - 839, 505 - - - 12 - - - panel5 - - - System.Windows.Forms.Panel, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - tabPageProxy - - - 0 - - - 4, 22 - - - 3, 3, 3, 3 - - - 845, 511 - - - 0 - - - 1.Proxy Domain or IP - - - tabPageProxy - - - System.Windows.Forms.TabPage, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - tabNormal - - - 0 - - - Fill - - - 3, 17 - - - True - - - Vertical - - - 441, 485 - - - 25 - - - txtDirectIp - - - System.Windows.Forms.TextBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - groupBox3 - - - 0 - - - Fill - - - 392, 0 - - - 447, 505 - - - 4 - - - IP - - - groupBox3 - - - System.Windows.Forms.GroupBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - panel4 - - - 0 - - - Fill - - - 3, 17 - - - True - - - Vertical - - - 386, 485 - - - 24 - - - txtDirectDomain - - - System.Windows.Forms.TextBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - groupBox4 - - - 0 - - - Left - - - 0, 0 - - - 392, 505 - - - 3 - - - Domain - - - groupBox4 - - - System.Windows.Forms.GroupBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - panel4 - - - 1 - - - Fill - - - 3, 3 - - - 839, 505 - - - 12 - - - panel4 - - - System.Windows.Forms.Panel, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - tabPageDirect - - - 0 - - - 4, 22 - - - 3, 3, 3, 3 - - - 845, 511 - - - 1 - - - 2.Direct Domain or IP - - - tabPageDirect - - - System.Windows.Forms.TabPage, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - tabNormal - - - 1 - - - Fill - - - 3, 17 - - - True - - - Vertical - - - 441, 485 - - - 25 - - - txtBlockIp - - - System.Windows.Forms.TextBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - groupBox2 - - - 0 - - - Fill - - - 392, 0 - - - 447, 505 - - - 4 - - - IP - - - groupBox2 - - - System.Windows.Forms.GroupBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - panel3 - - - 0 - - - Fill - - - 3, 17 - - - True - - - Vertical - - - 386, 485 - - - 24 - - - txtBlockDomain - - - System.Windows.Forms.TextBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - groupBox1 - - - 0 - - - Left - - - 0, 0 - - - 392, 505 - - - 3 - - - Domain - - - groupBox1 - - - System.Windows.Forms.GroupBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - panel3 - - - 1 - - - Fill - - - 3, 3 - - - 839, 505 - - - 12 - - - panel3 - - - System.Windows.Forms.Panel, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - tabPageBlock - - - 0 - - - 4, 22 - - - 3, 3, 3, 3 - - - 845, 511 - - - 2 - - - 3.Block Domain or IP - - - tabPageBlock - - - System.Windows.Forms.TabPage, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - tabNormal - - - 2 - - - Fill - AAEAAAD/////AQAAAAAAAAAMAgAAAFdTeXN0ZW0uV2luZG93cy5Gb3JtcywgVmVyc2lvbj00LjAuMC4w @@ -935,136 +138,993 @@ ZW0uRHJhd2luZy5HcmFwaGljc1VuaXQBAAAAB3ZhbHVlX18ACAMAAAADAAAACw== - - 3, 3 - - - 839, 505 - - - 15 - - - lvRoutings - - - v2rayN.Base.ListViewFlickerFree, v2rayN, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null - - - tabPageRuleList - - + 0 - - 4, 22 + + System.Windows.Forms.CheckBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - 3, 3, 3, 3 + + 1 - - 845, 511 + + 1 - + + txtBlockIp + + + + 386, 485 + + + 24 + + + 15 + + + 0 + + + linkLabelRoutingDoc + + + + Top + + + groupBox2 + + + System.Windows.Forms.TabPage, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + 3 - - Pre-defined Rule Set List + + tabNormal + + + 25 + + + 839, 505 + + + 0 + + + True + + + 562, 16 + + + 441, 485 + + + panel2 + + + tabNormal + + + System.Windows.Forms.GroupBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + Fill + + + NoControl + + + Fill + + + 12 + + + 5, 22 + + + mph + + + groupBox5 + + + 392, 505 + + + Basic Function + + + cmbdomainStrategy + + + 3, 3, 3, 3 + + + groupBox3 + + + 386, 485 + + + 2 + + + panel5 tabPageRuleList - - System.Windows.Forms.TabPage, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + groupBox3 - - tabNormal + + 1 - - 3 - - - Fill - - - 0, 76 - - - 853, 537 - - - 16 - - - tabNormal - - - System.Windows.Forms.TabControl, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + 447, 505 $this - - 1 + + 575, 21 - - True - - - 6, 12 + + &Cancel - - 853, 673 + + 447, 505 - - Routing Settings + + 4 + + + 195, 92 + + + Fill + + + System.Windows.Forms.MenuStrip, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + 0 + + + 0, 0 + + + System.Windows.Forms.TabPage, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + 853, 537 menuAdd - + + 0 + + + 24 + + + 4 + + + txtBlockDomain + + + 3, 17 + + + tabNormal + + + 5 + + + 441, 485 + + + Vertical + + + 2.Direct Domain or IP + + + 447, 505 + + + 2 + + + System.Windows.Forms.TabPage, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + 1 + + + NoControl + + + linear + + + panel3 + + + Fill + + + 4, 22 + + + Left + + + 392, 505 + + + System.Windows.Forms.GroupBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + panel1 + + + tabPageBlock + + + 392, 0 + + + 3, 3, 3, 3 + + + 16 + + + 165, 20 + + + 3, 17 + + + 6, 12 + + + 16 + + + 2 + + + Fill + + + System.Windows.Forms.ComboBox, 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 - - menuRemove + + Fill - - System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + panel1 - - menuSelectAll + + panel5 - - System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + Fill - - menuSetDefaultRouting + + 0, 0 + + + 753, 17 + + + Fill + + + Left System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - MenuItemAdvanced + + 392, 505 - + + v2rayN.Forms.BaseForm, v2rayN, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null + + + 681, 17 + + + panel2 + + + tabPageProxy + + + System.Windows.Forms.TextBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + menuRemove + + + 318, 17 + + + 0 + + + btnClose + + + System.Windows.Forms.TextBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + groupBox1 + + + 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 + + + 441, 485 + + + 25 + + + 12 + + + 28 + + + NoControl + + + System.Windows.Forms.Panel, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Windows.Forms.GroupBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + tabNormal + + + NoControl + + + System.Windows.Forms.GroupBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + Vertical + + + *Set the rules, separated by commas (,); The comma in the regular is replaced by <COMMA> + + + 2 + + + 26 + + + Vertical + + + panel3 + + + System.Windows.Forms.Button, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + 3.Block Domain or IP + + + System.Windows.Forms.GroupBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + groupBox4 + + + System.Windows.Forms.TabControl, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + 0 + + + tabNormal + + + 3, 3 + + + labRoutingTips + + + 0 + + + 89, 12 + + + 845, 511 + + + panel1 + + + 0, 0 + + + 853, 60 + + + txtDirectIp + + System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 MenuItemBasic - + + System.Windows.Forms.TextBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + panel1 + + + chkenableRoutingAdvanced + + + Fill + + + 185, 22 + + + label6 + + + 3, 3 + + + 25 + + + System.Windows.Forms.ContextMenuStrip, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + 392, 0 + + + 194, 22 + + + Remove selected + + + panel4 + + + Domain strategy + + + Bottom + + + groupBox4 + + + 102, 21 + + + 0 + + + Vertical + + + cmsLv + + + Left + + + Add + + + 3 + + + System.Windows.Forms.GroupBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Windows.Forms.Panel, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + 392, 0 + + + 24 + + + tabPageBlock + + + 12 + + + 3 + + + lvRoutings + + + groupBox6 + + + 2 + + + panel4 + + + Fill + + + panel3 + + + tabPageDirect + + + 0, 613 + + System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - menuImportBasicRules + + True - - System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + tabPageProxy + + + System.Windows.Forms.Button, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + True + + + 6, 21 + + + Import Basic Rules + + + 853, 51 + + + Fill + + + 116, 20 + + + 0, 0, 0, 0 + + + 3, 3, 3, 3 + + + v2rayN.Base.ListViewFlickerFree, v2rayN, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null + + + 3, 17 + + + groupBox6 + + + panel2 + + + 0 + + + Domain + + + 1 + + + 95, 12 + + + 386, 485 + + + 0 + + + 845, 511 + + + System.Windows.Forms.ComboBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + Advanced Function + + + AsIs + + + tabPageRuleList + + + 3 + + + groupBox5 + + + 660, 17 + + + 34 + + + 11 + + + 19 + + + MenuItemAdvanced + + + 194, 22 + + + Vertical + + + Select All (Ctrl+A) + + + IP + + + 839, 505 + + + txtProxyIp + + + True + + + Fill + + + 1 + + + System.Windows.Forms.Panel, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + Set as active routing + + + 4, 22 + + + 1 + + + NoControl + + + Domain Matcher + + + 4 RoutingSettingForm - - v2rayN.Forms.BaseForm, v2rayN, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null + + 194, 22 + + &OK + + + 4, 22 + + + IP + + + panel2 + + + 116, 17 + + + System.Windows.Forms.LinkLabel, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + 4, 22 + + + Pre-defined Rule Set List + + + 845, 511 + + + menuServer + + + True + + + IPIfNonMatch + + + menuSetDefaultRouting + + + Domain + + + Vertical + + + 4 + + + 0 + + + NoControl + + + $this + + + System.Windows.Forms.TabPage, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + 194, 22 + + + panel1 + + + $this + + + txtProxyDomain + + + groupBox1 + + + 0 + + + 3, 17 + + + txtDirectDomain + + + System.Windows.Forms.Panel, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + 4 + + + IP + + + System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + menuImportBasicRules + + + 0 + + + True + + + 129, 21 + + + 0, 76 + + + 839, 505 + + + System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + panel4 + + + cmbdomainMatcher + + + 0 + + + 3, 17 + + + Domain + + + panel5 + + + System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + Enable advanced routing function + + + 839, 505 + + + System.Windows.Forms.Panel, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + 75, 23 + + + 216, 16 + + + 853, 673 + + + True + + + IPOnDemand + + + 3 + + + 3 + + + 0, 0 + + + Routing Settings + + + System.Windows.Forms.TextBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + 3, 3, 3, 3 + + + panel1 + + + menuSelectAll + + + 4 + + + 3 + + + 0 + + + btnOK + + + System.Windows.Forms.TextBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + 15 + + + 3, 3 + + + 0, 25 + + + 0 + + + 75, 23 + + + 845, 511 + + + 1 + + + True + + + 3, 3 + + + Fill + + + 1.Proxy Domain or IP + + + groupBox2 + + + $this + + + tabPageDirect + + + Fill + + + 3, 17 + + + 27 + + + 853, 25 + + + System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + zh-Hans + + + True + + + 17, 17 + + + 139, 17 + \ No newline at end of file diff --git a/v2rayN/v2rayN/Forms/RoutingSettingForm.zh-Hans.resx b/v2rayN/v2rayN/Forms/RoutingSettingForm.zh-Hans.resx index 992f0e9e..8b98b506 100644 --- a/v2rayN/v2rayN/Forms/RoutingSettingForm.zh-Hans.resx +++ b/v2rayN/v2rayN/Forms/RoutingSettingForm.zh-Hans.resx @@ -124,12 +124,6 @@ 取消(&C) - - 0, 545 - - - 817, 60 - 518, 16 @@ -142,8 +136,17 @@ 确定(&O) - - 817, 51 + + 0, 545 + + + 817, 60 + + + 77, 12 + + + 域名匹配算法 120, 16 @@ -157,8 +160,8 @@ 域名解析策略 - - 149, 92 + + 817, 51 148, 22 @@ -190,8 +193,14 @@ 高级功能 - - 817, 25 + + 149, 92 + + + 172, 22 + + + 一键导入基础规则 68, 21 @@ -199,14 +208,23 @@ 基础功能 - - 180, 22 + + 817, 25 - - 一键导入基础规则 + + 405, 417 - - 817, 469 + + 411, 437 + + + 386, 417 + + + 392, 437 + + + 803, 437 809, 443 @@ -214,20 +232,20 @@ 1.代理的Domain或IP - - 803, 437 - - - 411, 437 - - + 405, 417 - + + 411, 437 + + + 386, 417 + + 392, 437 - - 386, 417 + + 803, 437 809, 443 @@ -235,20 +253,20 @@ 2.直连的Domain或IP - - 803, 437 - - - 411, 437 - - + 405, 417 - + + 411, 437 + + + 386, 417 + + 392, 437 - - 386, 417 + + 803, 437 809, 443 @@ -256,27 +274,6 @@ 3.阻止的Domain或IP - - 803, 437 - - - 411, 437 - - - 405, 417 - - - 392, 437 - - - 386, 417 - - - 809, 443 - - - 预定义规则集列表 - AAEAAAD/////AQAAAAAAAAAMAgAAAFdTeXN0ZW0uV2luZG93cy5Gb3JtcywgVmVyc2lvbj00LjAuMC4w @@ -297,6 +294,15 @@ 803, 437 + + 809, 443 + + + 预定义规则集列表 + + + 817, 469 + 817, 605 diff --git a/v2rayN/v2rayN/Handler/ConfigHandler.cs b/v2rayN/v2rayN/Handler/ConfigHandler.cs index 304241bc..41f354b9 100644 --- a/v2rayN/v2rayN/Handler/ConfigHandler.cs +++ b/v2rayN/v2rayN/Handler/ConfigHandler.cs @@ -89,6 +89,10 @@ namespace v2rayN.Handler { config.domainStrategy = "IPIfNonMatch"; } + if (Utils.IsNullOrEmpty(config.domainMatcher)) + { + config.domainMatcher = "linear"; + } //kcp if (config.kcpItem == null) diff --git a/v2rayN/v2rayN/Handler/V2rayConfigHandler.cs b/v2rayN/v2rayN/Handler/V2rayConfigHandler.cs index 28893b9d..3712c228 100644 --- a/v2rayN/v2rayN/Handler/V2rayConfigHandler.cs +++ b/v2rayN/v2rayN/Handler/V2rayConfigHandler.cs @@ -189,6 +189,7 @@ namespace v2rayN.Handler && v2rayConfig.routing.rules != null) { v2rayConfig.routing.domainStrategy = config.domainStrategy; + v2rayConfig.routing.domainMatcher = config.domainMatcher; if (config.enableRoutingAdvanced) { diff --git a/v2rayN/v2rayN/HttpProxyHandler/HttpProxyHandle.cs b/v2rayN/v2rayN/HttpProxyHandler/HttpProxyHandle.cs index 890352dc..e0143799 100644 --- a/v2rayN/v2rayN/HttpProxyHandler/HttpProxyHandle.cs +++ b/v2rayN/v2rayN/HttpProxyHandler/HttpProxyHandle.cs @@ -166,7 +166,7 @@ namespace v2rayN.HttpProxyHandler } if (type == ESysProxyType.ForcedChange) { - SysProxyHandle.SetIEProxy(true, true, $"{Global.Loopback}:{port}"); + SysProxyHandle.SetIEProxy(true, $"{Global.httpProtocol}{Global.Loopback}:{port}", config.systemProxyExceptions); } else if (type == ESysProxyType.ForcedClear) { diff --git a/v2rayN/v2rayN/HttpProxyHandler/SysProxyHandle.cs b/v2rayN/v2rayN/HttpProxyHandler/SysProxyHandle.cs index 7c5410ca..6fedd91b 100644 --- a/v2rayN/v2rayN/HttpProxyHandler/SysProxyHandle.cs +++ b/v2rayN/v2rayN/HttpProxyHandler/SysProxyHandle.cs @@ -82,6 +82,25 @@ namespace v2rayN.HttpProxyHandler ExecSysproxy(arguments); } + + public static void SetIEProxy(bool global, string strProxy, string strExceptions) + { + if (Utils.IsNullOrEmpty(strExceptions)) + { + strExceptions = Global.IEProxyExceptions; + } + else + { + strExceptions = $"{Global.IEProxyExceptions};{strExceptions}"; + } + + string arguments = global + ? $"global {strProxy} {strExceptions}" + : $"pac {strProxy}"; + + ExecSysproxy(arguments); + } + // set system proxy to 1 (null) (null) (null) public static bool ResetIEProxy() { diff --git a/v2rayN/v2rayN/Mode/Config.cs b/v2rayN/v2rayN/Mode/Config.cs index 90189fe9..67bafaea 100644 --- a/v2rayN/v2rayN/Mode/Config.cs +++ b/v2rayN/v2rayN/Mode/Config.cs @@ -161,6 +161,10 @@ namespace v2rayN.Mode { get; set; } + public string domainMatcher + { + get; set; + } public int routingIndex { get; set; @@ -183,6 +187,14 @@ namespace v2rayN.Mode get; set; } + /// + /// systemProxyExceptions + /// + public string systemProxyExceptions + { + get; set; + } + #region 函数 public string address() diff --git a/v2rayN/v2rayN/Mode/V2rayConfig.cs b/v2rayN/v2rayN/Mode/V2rayConfig.cs index d86b587b..3cbd5c9a 100644 --- a/v2rayN/v2rayN/Mode/V2rayConfig.cs +++ b/v2rayN/v2rayN/Mode/V2rayConfig.cs @@ -332,6 +332,10 @@ namespace v2rayN.Mode /// /// /// + public string domainMatcher { get; set; } + /// + /// + /// public List rules { get; set; } } diff --git a/v2rayN/v2rayN/Properties/AssemblyInfo.cs b/v2rayN/v2rayN/Properties/AssemblyInfo.cs index 24d1e627..46dc64a6 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.18")] +[assembly: AssemblyFileVersion("4.19")]