This commit is contained in:
RMBGAME
2021-12-05 14:26:20 +08:00
parent 2d26ed2aa4
commit c081f79d35
3 changed files with 13 additions and 13 deletions
@@ -27,7 +27,7 @@
<DockPanel>
<TextBlock Text="{ReflectionBinding Path=Res.Settings_Proxy_SystemProxyIp,Mode=OneWay,Source={x:Static resx:R.Current}}"/>
<!--<TextBox Classes="clearButton" Text="{ReflectionBinding Source={x:Static ms:ProxySettings.SystemProxyIp},Path=Value, Mode=TwoWay}"></TextBox>-->
<ui:ComboBox IsEditable="True"
<ui:ComboBox IsEditable="True"
Text="{ReflectionBinding Source={x:Static ms:ProxySettings.SystemProxyIp},Path=Value, Mode=TwoWay}">
<ui:ComboBox.Items>
<col:ArrayList>
@@ -220,28 +220,28 @@ namespace System.Application.Services.Implementation
//e.Redirect(e.HttpClient.Request.RequestUri.AbsoluteUri.Replace(e.HttpClient.Request.RequestUri.Host, url));
return;
}
IPAddress? ip;
IPAddress? ip = null;
if (!item.ForwardDomainIsNameOrIP)
{
ip = IPAddress2.Parse(item.ForwardDomainIP);
}
else
{
if (!OperatingSystem2.IsWindows)
if (IPAddress.TryParse(ProxyDNS, out var dns))
{
if (string.IsNullOrEmpty(ProxyDNS))
ip = (await DnsAnalysis.AnalysisDomainIp(item.ForwardDomainName))?.First();
else
ip = (await DnsAnalysis.AnalysisDomainIpByCustomDns(item.ForwardDomainName, new[] { IPAddress.Parse(ProxyDNS) }))?.First();
ip = (await DnsAnalysis.AnalysisDomainIpByCustomDns(item.ForwardDomainName, new[] { dns }))?.First();
}
else
{
//非windows环境不能使用系统默认DNS解析代理,会解析到hosts上无限循环
if (string.IsNullOrEmpty(ProxyDNS))
ip = (await DnsAnalysis.AnalysisDomainIpByAliDns(item.ForwardDomainName))?.First();
if (!OperatingSystem2.IsWindows)
{
ip = (await DnsAnalysis.AnalysisDomainIp(item.ForwardDomainName))?.First();
}
else
ip = (await DnsAnalysis.AnalysisDomainIpByCustomDns(item.ForwardDomainName, new[] { IPAddress.Parse(ProxyDNS) }))?.First();
{
//非windows环境不能使用系统默认DNS解析代理,会解析到hosts上无限循环
ip = (await DnsAnalysis.AnalysisDomainIpByAliDns(item.ForwardDomainName))?.First();
}
}
}
if (ip == null || IPAddress.IsLoopback(ip) || ip == IPAddress.Any)
+1 -1
View File
@@ -62,7 +62,7 @@ namespace System.Application.Settings
/// 代理时使用的解析主DNS
/// </summary>
public static SerializableProperty<string?> ProxyMasterDns { get; }
= GetProperty<string?>(defaultValue: null, autoSave: false);
= GetProperty<string?>(defaultValue: DnsAnalysis.PrimaryDNS_Ali, autoSave: false);
#endregion
#region 本地代理设置