diff --git a/v2rayN/v2rayN/Forms/RoutingSettingControl.Designer.cs b/v2rayN/v2rayN/Forms/RoutingSettingControl.Designer.cs index 56ae1ccf..912b2ab4 100644 --- a/v2rayN/v2rayN/Forms/RoutingSettingControl.Designer.cs +++ b/v2rayN/v2rayN/Forms/RoutingSettingControl.Designer.cs @@ -32,8 +32,6 @@ this.groupBox2 = new System.Windows.Forms.GroupBox(); this.btnExpand = new System.Windows.Forms.Button(); this.label4 = new System.Windows.Forms.Label(); - this.label1 = new System.Windows.Forms.Label(); - this.cmbroutingMode = new System.Windows.Forms.ComboBox(); this.cmbOutboundTag = new System.Windows.Forms.ComboBox(); this.btnRemove = new System.Windows.Forms.Button(); this.txtUserRule = new System.Windows.Forms.TextBox(); @@ -48,8 +46,6 @@ resources.ApplyResources(this.groupBox2, "groupBox2"); this.groupBox2.Controls.Add(this.btnExpand); this.groupBox2.Controls.Add(this.label4); - this.groupBox2.Controls.Add(this.label1); - this.groupBox2.Controls.Add(this.cmbroutingMode); this.groupBox2.Controls.Add(this.cmbOutboundTag); this.groupBox2.Controls.Add(this.btnRemove); this.groupBox2.Controls.Add(this.txtUserRule); @@ -71,24 +67,6 @@ resources.ApplyResources(this.label4, "label4"); this.label4.Name = "label4"; // - // label1 - // - resources.ApplyResources(this.label1, "label1"); - this.label1.Name = "label1"; - // - // cmbroutingMode - // - resources.ApplyResources(this.cmbroutingMode, "cmbroutingMode"); - this.cmbroutingMode.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList; - this.cmbroutingMode.FormattingEnabled = true; - this.cmbroutingMode.Items.AddRange(new object[] { - resources.GetString("cmbroutingMode.Items"), - resources.GetString("cmbroutingMode.Items1"), - resources.GetString("cmbroutingMode.Items2"), - resources.GetString("cmbroutingMode.Items3"), - resources.GetString("cmbroutingMode.Items4")}); - this.cmbroutingMode.Name = "cmbroutingMode"; - // // cmbOutboundTag // resources.ApplyResources(this.cmbOutboundTag, "cmbOutboundTag"); @@ -151,8 +129,6 @@ private System.Windows.Forms.Label label3; private System.Windows.Forms.Button btnRemove; private System.Windows.Forms.ComboBox cmbOutboundTag; - private System.Windows.Forms.Label label1; - private System.Windows.Forms.ComboBox cmbroutingMode; private System.Windows.Forms.Label label4; private System.Windows.Forms.Button btnExpand; } diff --git a/v2rayN/v2rayN/Forms/RoutingSettingControl.cs b/v2rayN/v2rayN/Forms/RoutingSettingControl.cs index 2637aacf..33f44027 100644 --- a/v2rayN/v2rayN/Forms/RoutingSettingControl.cs +++ b/v2rayN/v2rayN/Forms/RoutingSettingControl.cs @@ -31,8 +31,6 @@ namespace v2rayN.Forms { txtRemarks.Text = routingItem.remarks.ToString(); cmbOutboundTag.Text = routingItem.outboundTag; - int.TryParse(routingItem.routingMode, out int routingMode); - cmbroutingMode.SelectedIndex = routingMode; txtUserRule.Text = Utils.List2String(routingItem.userRules, true); } } @@ -42,7 +40,6 @@ namespace v2rayN.Forms { routingItem.remarks = txtRemarks.Text.TrimEx(); routingItem.outboundTag = cmbOutboundTag.Text; - routingItem.routingMode = cmbroutingMode.SelectedIndex.ToString(); routingItem.userRules = Utils.String2List(txtUserRule.Text); } } diff --git a/v2rayN/v2rayN/Forms/RoutingSettingControl.resx b/v2rayN/v2rayN/Forms/RoutingSettingControl.resx index 7c33a91b..656bfa7b 100644 --- a/v2rayN/v2rayN/Forms/RoutingSettingControl.resx +++ b/v2rayN/v2rayN/Forms/RoutingSettingControl.resx @@ -117,9 +117,6 @@ System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - Pre-defined - NoControl @@ -128,29 +125,23 @@ 733, 164 + + Rule + 119, 20 + + direct + System.Windows.Forms.TextBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 groupBox2 - - 9 - - - 127, 53 - - - 75, 23 - - 127, 87 - - - Remove + 127, 50 txtRemarks @@ -162,14 +153,14 @@ 23 + + 4 + RoutingSettingControl - - 162, 21 - - - label1 + + Expand System.Windows.Forms.TextBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 @@ -181,7 +172,7 @@ 28 - 7 + 5 proxy @@ -189,11 +180,11 @@ 77, 12 - - 362, 21 + + 2 - - System.Windows.Forms.ComboBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + 544, 21 6, 12 @@ -213,41 +204,20 @@ btnExpand - - groupBox2 - 12, 87 - - 2 + + txtUserRule - - cmbroutingMode + + True - - 255, 20 + + 75, 23 - - System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - Global - - - 71, 12 - - - Bypass mainland address - - - Bypassing the LAN address - - - 4 - - - 640, 21 + + groupBox2 Fill @@ -261,18 +231,18 @@ 25 - + groupBox2 + + 11 + NoControl 47, 12 - - True - btnRemove @@ -291,35 +261,23 @@ Out Tag - - 27 - block - - direct - - - 75, 23 - - - NoControl - - - 26 + + Remove - 5 + 3 + + + System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 groupBox2 - - 6 - - - Expand + + groupBox2 1 @@ -331,7 +289,7 @@ groupBox2 - 588, 68 + 588, 105 True @@ -342,12 +300,6 @@ groupBox2 - - True - - - Bypassing LAN and mainland address - NoControl @@ -360,35 +312,26 @@ System.Windows.Forms.ComboBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - groupBox2 - 733, 164 - 8 + 6 Top, Bottom, Left, Right - - 12, 57 + + 362, 21 cmbOutboundTag - - 11 - Remarks - - groupBox2 - - - 3 + + 0 True @@ -396,8 +339,8 @@ 12, 25 - - groupBox2 + + 75, 23 301, 26 @@ -405,8 +348,8 @@ 47, 12 - - Rule + + 162, 21 10 @@ -414,32 +357,23 @@ Domain or IP + + $this + System.Windows.Forms.Button, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - txtUserRule - - - 0 - System.Windows.Forms.UserControl, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 0 - - $this + + 640, 21 - - Use custom Domain or IP - - - System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - 640, 46 + + 7 System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 diff --git a/v2rayN/v2rayN/Forms/RoutingSettingControl.zh-Hans.resx b/v2rayN/v2rayN/Forms/RoutingSettingControl.zh-Hans.resx index d95c2560..94e70d37 100644 --- a/v2rayN/v2rayN/Forms/RoutingSettingControl.zh-Hans.resx +++ b/v2rayN/v2rayN/Forms/RoutingSettingControl.zh-Hans.resx @@ -119,7 +119,7 @@ - 619, 46 + 526, 20 扩大 @@ -130,27 +130,6 @@ 出口标签 - - 65, 12 - - - 预定义规则 - - - 使用自定义域名或IP - - - 全局 - - - 绕过局域网 - - - 绕过大陆地址 - - - 绕过局域网及大陆地址 - 619, 20 @@ -158,7 +137,7 @@ 移除 - 567, 64 + 567, 104 29, 12 diff --git a/v2rayN/v2rayN/Forms/RoutingSettingForm.cs b/v2rayN/v2rayN/Forms/RoutingSettingForm.cs index 0b145a04..35bd956f 100644 --- a/v2rayN/v2rayN/Forms/RoutingSettingForm.cs +++ b/v2rayN/v2rayN/Forms/RoutingSettingForm.cs @@ -65,6 +65,8 @@ namespace v2rayN.Forms private void btnOK_Click(object sender, EventArgs e) { + config.domainStrategy = cmbdomainStrategy.Text; + if (config.routingItem.Count <= 0) { AddSub("proxy", ""); @@ -93,12 +95,11 @@ namespace v2rayN.Forms } - private void AddSub(string outboundTag, string userRule, string routingMode = "0") + private void AddSub(string outboundTag, string userRule) { RoutingItem RoutingItem = new RoutingItem { remarks = outboundTag, - routingMode = routingMode, outboundTag = outboundTag, userRules = Utils.String2List(userRule) @@ -129,8 +130,8 @@ namespace v2rayN.Forms AddSub(lstTag[k], result); } - AddSub(Global.directTag, "", "4"); - AddSub(Global.agentTag, "", "0"); + AddSub(Global.directTag, Utils.GetEmbedText(Global.CustomRoutingFileName + "private")); + AddSub(Global.agentTag, ""); RefreshSubsView(); } diff --git a/v2rayN/v2rayN/Handler/V2rayConfigHandler.cs b/v2rayN/v2rayN/Handler/V2rayConfigHandler.cs index 654a7571..61175ba4 100644 --- a/v2rayN/v2rayN/Handler/V2rayConfigHandler.cs +++ b/v2rayN/v2rayN/Handler/V2rayConfigHandler.cs @@ -197,28 +197,7 @@ namespace v2rayN.Handler foreach (var item in config.routingItem) { - if (item.routingMode != "0") - { - switch (item.routingMode) - { - case "1": - break; - case "2": - routingGeo("ip", "private", Global.directTag, ref v2rayConfig); - break; - case "3": - routingGeo("", "cn", Global.directTag, ref v2rayConfig); - break; - case "4": - routingGeo("ip", "private", Global.directTag, ref v2rayConfig); - routingGeo("", "cn", Global.directTag, ref v2rayConfig); - break; - } - } - else - { - routingUserRule(item.userRules, item.outboundTag, ref v2rayConfig); - } + routingUserRule(item.userRules, item.outboundTag, ref v2rayConfig); } } } @@ -297,46 +276,6 @@ namespace v2rayN.Handler return 0; } - - private static int routingGeo(string ipOrDomain, string code, string tag, ref V2rayConfig v2rayConfig) - { - try - { - if (!Utils.IsNullOrEmpty(code)) - { - //IP - if (ipOrDomain == "ip" || ipOrDomain == "") - { - RulesItem rulesItem = new RulesItem - { - type = "field", - outboundTag = Global.directTag, - ip = new List() - }; - rulesItem.ip.Add($"geoip:{code}"); - - v2rayConfig.routing.rules.Add(rulesItem); - } - - if (ipOrDomain == "domain" || ipOrDomain == "") - { - RulesItem rulesItem = new RulesItem - { - type = "field", - outboundTag = Global.directTag, - domain = new List() - }; - rulesItem.domain.Add($"geosite:{code}"); - v2rayConfig.routing.rules.Add(rulesItem); - } - } - } - catch - { - } - return 0; - } - /// /// vmess协议服务器配置 /// diff --git a/v2rayN/v2rayN/Mode/Config.cs b/v2rayN/v2rayN/Mode/Config.cs index 42c01f70..245d9ed0 100644 --- a/v2rayN/v2rayN/Mode/Config.cs +++ b/v2rayN/v2rayN/Mode/Config.cs @@ -704,15 +704,7 @@ namespace v2rayN.Mode { get; set; } - - /// - /// 路由模式 - /// - public string routingMode - { - get; set; - } - + /// /// /// diff --git a/v2rayN/v2rayN/Properties/AssemblyInfo.cs b/v2rayN/v2rayN/Properties/AssemblyInfo.cs index 79c9ddd1..794c9c1a 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.0")] +[assembly: AssemblyFileVersion("4.1")] diff --git a/v2rayN/v2rayN/Sample/custom_routing_private b/v2rayN/v2rayN/Sample/custom_routing_private new file mode 100644 index 00000000..8003b809 --- /dev/null +++ b/v2rayN/v2rayN/Sample/custom_routing_private @@ -0,0 +1,3 @@ +geoip:private, +geoip:cn, +geosite:cn \ No newline at end of file diff --git a/v2rayN/v2rayN/v2rayN.csproj b/v2rayN/v2rayN/v2rayN.csproj index 51a06fb1..d79b2067 100644 --- a/v2rayN/v2rayN/v2rayN.csproj +++ b/v2rayN/v2rayN/v2rayN.csproj @@ -373,6 +373,7 @@ +