diff --git a/v2rayN/v2rayN/Handler/SysProxyHandle.cs b/v2rayN/v2rayN/Handler/SysProxyHandle.cs index 075a46f54a..be58fc9772 100644 --- a/v2rayN/v2rayN/Handler/SysProxyHandle.cs +++ b/v2rayN/v2rayN/Handler/SysProxyHandle.cs @@ -29,7 +29,11 @@ public static bool UpdateSysProxy(Config config, bool forceDisable) } if (type == ESysProxyType.ForcedChange) { - var strExceptions = $";{config.constItem.defIEProxyExceptions};{config.systemProxyExceptions}"; + var strExceptions = ""; + if (config.notProxyLocalAddress) + { + strExceptions = $";{config.constItem.defIEProxyExceptions};{config.systemProxyExceptions}"; + } var strProxy = string.Empty; if (Utils.IsNullOrEmpty(config.systemProxyAdvancedProtocol)) diff --git a/v2rayN/v2rayN/Models/Config.cs b/v2rayN/v2rayN/Models/Config.cs index 72d73d0b13..e859c863a3 100644 --- a/v2rayN/v2rayN/Models/Config.cs +++ b/v2rayN/v2rayN/Models/Config.cs @@ -14,6 +14,7 @@ public class Config public string subIndexId { get; set; } public ESysProxyType sysProxyType { get; set; } public string systemProxyExceptions { get; set; } + public bool notProxyLocalAddress { get; set; } = true; public string systemProxyAdvancedProtocol { get; set; } public ECoreType runningCoreType { get; set; } diff --git a/v2rayN/v2rayN/Resx/ResUI.Designer.cs b/v2rayN/v2rayN/Resx/ResUI.Designer.cs index 989cb3013b..4cbeaeae03 100644 --- a/v2rayN/v2rayN/Resx/ResUI.Designer.cs +++ b/v2rayN/v2rayN/Resx/ResUI.Designer.cs @@ -2958,6 +2958,15 @@ public static string TbSettingsRouteOnly { return ResourceManager.GetString("TbSettingsRouteOnly", resourceCulture); } } + + /// + /// 查找类似 NotProxyLocalAddress 的本地化字符串。 + /// + public static string TbSettingsNotProxyLocalAddress { + get { + return ResourceManager.GetString("TbSettingsNotProxyLocalAddress", resourceCulture); + } + } /// /// 查找类似 Set Win10 UWP Loopback 的本地化字符串。 diff --git a/v2rayN/v2rayN/Resx/ResUI.fa-Ir.resx b/v2rayN/v2rayN/Resx/ResUI.fa-Ir.resx index d2eecf9b4f..f578f855dd 100644 --- a/v2rayN/v2rayN/Resx/ResUI.fa-Ir.resx +++ b/v2rayN/v2rayN/Resx/ResUI.fa-Ir.resx @@ -925,6 +925,9 @@ فقط مسیر + + يەرلىك (Intranet) ئادرېسلارغا ۋاكالەتچى مۇلازىمېتىر ئىشلەتمەڭ + One-click test Latency and speed (Ctrl+E) diff --git a/v2rayN/v2rayN/Resx/ResUI.resx b/v2rayN/v2rayN/Resx/ResUI.resx index fa1a8043a7..dde293da4c 100644 --- a/v2rayN/v2rayN/Resx/ResUI.resx +++ b/v2rayN/v2rayN/Resx/ResUI.resx @@ -928,6 +928,9 @@ RouteOnly + + Do not use proxy servers for local (intranet) addresses + One-click multi test Latency and speed (Ctrl+E) diff --git a/v2rayN/v2rayN/Resx/ResUI.ru.resx b/v2rayN/v2rayN/Resx/ResUI.ru.resx index 7aac14da37..7c9abbf2aa 100644 --- a/v2rayN/v2rayN/Resx/ResUI.ru.resx +++ b/v2rayN/v2rayN/Resx/ResUI.ru.resx @@ -934,6 +934,9 @@ Только маршрут + + Не используйте прокси-серверы для локальных (интранет) адресов + Тест задержки и скорости всех серверов (Ctrl+E) diff --git a/v2rayN/v2rayN/Resx/ResUI.zh-Hans.resx b/v2rayN/v2rayN/Resx/ResUI.zh-Hans.resx index b07937e57a..d5828a4002 100644 --- a/v2rayN/v2rayN/Resx/ResUI.zh-Hans.resx +++ b/v2rayN/v2rayN/Resx/ResUI.zh-Hans.resx @@ -928,6 +928,9 @@ RouteOnly + + 请勿将代理服务器用于本地(Intranet)地址 + 一键多线程测试延迟和速度 (Ctrl+E) diff --git a/v2rayN/v2rayN/Resx/ResUI.zh-Hant.resx b/v2rayN/v2rayN/Resx/ResUI.zh-Hant.resx index e64e98cd26..bbda0508aa 100644 --- a/v2rayN/v2rayN/Resx/ResUI.zh-Hant.resx +++ b/v2rayN/v2rayN/Resx/ResUI.zh-Hant.resx @@ -928,6 +928,9 @@ RouteOnly + + 請勿將代理伺服器用於本機(Intranet)位址 + 一鍵多執行緒測試延遲和速度 (Ctrl+E) diff --git a/v2rayN/v2rayN/ViewModels/OptionSettingViewModel.cs b/v2rayN/v2rayN/ViewModels/OptionSettingViewModel.cs index 0b0321d8ff..6aca578e69 100644 --- a/v2rayN/v2rayN/ViewModels/OptionSettingViewModel.cs +++ b/v2rayN/v2rayN/ViewModels/OptionSettingViewModel.cs @@ -80,6 +80,7 @@ public class OptionSettingViewModel : ReactiveObject #region System proxy + [Reactive] public bool notProxyLocalAddress { get; set; } [Reactive] public string systemProxyAdvancedProtocol { get; set; } [Reactive] public string systemProxyExceptions { get; set; } @@ -178,6 +179,7 @@ public OptionSettingViewModel(Window view) #region System proxy + notProxyLocalAddress = _config.notProxyLocalAddress; systemProxyAdvancedProtocol = _config.systemProxyAdvancedProtocol; systemProxyExceptions = _config.systemProxyExceptions; @@ -339,6 +341,7 @@ private void SaveSetting() //systemProxy _config.systemProxyExceptions = systemProxyExceptions; + _config.notProxyLocalAddress = notProxyLocalAddress; _config.systemProxyAdvancedProtocol = systemProxyAdvancedProtocol; //tun mode diff --git a/v2rayN/v2rayN/Views/OptionSettingWindow.xaml b/v2rayN/v2rayN/Views/OptionSettingWindow.xaml index 05ab9cda19..378c8fd27f 100644 --- a/v2rayN/v2rayN/Views/OptionSettingWindow.xaml +++ b/v2rayN/v2rayN/Views/OptionSettingWindow.xaml @@ -855,13 +855,27 @@ + + + vm.SubConvertUrl, v => v.cmbSubConvertUrl.Text).DisposeWith(disposables); this.Bind(ViewModel, vm => vm.MainGirdOrientation, v => v.cmbMainGirdOrientation.SelectedIndex).DisposeWith(disposables); + this.Bind(ViewModel, vm => vm.notProxyLocalAddress, v => v.tognotProxyLocalAddress.IsChecked).DisposeWith(disposables); this.Bind(ViewModel, vm => vm.systemProxyAdvancedProtocol, v => v.cmbsystemProxyAdvancedProtocol.Text).DisposeWith(disposables); this.Bind(ViewModel, vm => vm.systemProxyExceptions, v => v.txtsystemProxyExceptions.Text).DisposeWith(disposables);