1
0
mirror of https://github.com/proxysu/ProxySU.git synced 2025-02-19 16:03:17 +03:00

修复在纯ipv6主机Centos7中的NAT64网关设置bug

This commit is contained in:
ProxySU 2020-11-14 10:19:44 +08:00
parent 775fd7209d
commit 0180a8cbb4
6 changed files with 34 additions and 4 deletions

View File

@ -5,7 +5,7 @@
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:local="clr-namespace:ProxySU"
mc:Ignorable="d"
Title="ProxySU - v2.4.22 Beta1" Height="675" Width="650">
Title="ProxySU - v2.4.22 Beta2" Height="675" Width="650">
<!--以下样式参考自https://yq.aliyun.com/articles/331878
https://docs.microsoft.co/en-us/dotnet/desktop-wpf/fundamentals/styles-templates-overview-->
<Window.Resources>

View File

@ -7473,7 +7473,18 @@ namespace ProxySU
MainWindowsShowInfo(currentStatus);
//string[] dns64 = new string[2];
var dns64 = FilterFastestIP(client);
if (functionResult == false)
{
//****** "未能找到有效的Nat64网关......" ******
currentStatus = Application.Current.FindResource("DisplayInstallInfo_FindFastestSetUpNat64Failed").ToString();
MainWindowsShowInfo(currentStatus);
MessageBox.Show(currentStatus);
FunctionResultErr();
client.Disconnect();
return false;
}
//****** "当前主机最快的Nat64网关为:" ******
//currentStatus = Application.Current.FindResource("DisplayInstallInfo_FindFastestNat64AsIs").ToString();
//MainWindowsShowInfo(currentStatus);
@ -7542,11 +7553,17 @@ namespace ProxySU
"2a00:1098:2c::1",
"2a09:11c0:100::53",
};
//string[] gateNat64 = {
// "2a01:4f9:c010:3f02::1",
// "2001:67c:2b0::4",
// "2001:67c:2b0::6",
//};
List<NatDns64> NatDns64s = new List<NatDns64>();
foreach (string gateip in gateNat64)
{
sshShellCommand = $"ping -c4 {gateip} | grep avg | awk '{{print $4}}'|cut -d/ -f2";
sshShellCommand = $"ping6 -c4 {gateip} | grep avg | awk '{{print $4}}'|cut -d/ -f2";
currentShellCommandResult = MainWindowsShowCmd(client, sshShellCommand);
if (String.IsNullOrEmpty(currentShellCommandResult) != true)
{
@ -7562,6 +7579,16 @@ namespace ProxySU
}
NatDns64s = NatDns64s.OrderBy(o => o.Avg).ToList();
int listCount = NatDns64s.Count;
currentStatus = listCount.ToString() + " NAT64 gateways are valid";
MainWindowsShowInfo(currentStatus);
if (listCount < 1)
{
functionResult = false;
}
else
{
functionResult = true;
}
string[] returnstr = new string[listCount];
for(int i=0;i<listCount;i++)
{

View File

@ -294,6 +294,7 @@
<sys:String x:Key="DisplayInstallInfo_TestDomainResolve">is checking whether the domain name is resolved to the IP of the current VPS...</sys:String>
<sys:String x:Key="DisplayInstallInfo_OnlyIpv6HostDetect">is detecting whether it is a pure ipv6 host...</sys:String>
<sys:String x:Key="DisplayInstallInfo_FindFastestSetUpNat64">Finding the fastest Nat64 gateway...</sys:String>
<sys:String x:Key="DisplayInstallInfo_FindFastestSetUpNat64Failed">Failed to find a valid Nat64 gateway...</sys:String>
<sys:String x:Key="DisplayInstallInfo_FindFastestNat64AsIs">The fastest Nat64 gateway of the current host is:</sys:String>
<sys:String x:Key="DisplayInstallInfo_SetUpNat64">Nat64 gateway is being set up......</sys:String>
<sys:String x:Key="DisplayInstallInfo_DeleteSetUpNat64">Nat64 gateway is being deleted...</sys:String>

View File

@ -299,6 +299,7 @@
<sys:String x:Key="DisplayInstallInfo_TestDomainResolve">正在检测域名是否解析到当前VPS的IP上......</sys:String>
<sys:String x:Key="DisplayInstallInfo_OnlyIpv6HostDetect">正在检测是否为纯ipv6主机......</sys:String>
<sys:String x:Key="DisplayInstallInfo_FindFastestSetUpNat64">正在查找最快的Nat64网关......</sys:String>
<sys:String x:Key="DisplayInstallInfo_FindFastestSetUpNat64Failed">未能找到有效的Nat64网关......</sys:String>
<sys:String x:Key="DisplayInstallInfo_FindFastestNat64AsIs">当前主机最快的Nat64网关为:</sys:String>
<sys:String x:Key="DisplayInstallInfo_SetUpNat64">正在设置Nat64网关......</sys:String>
<sys:String x:Key="DisplayInstallInfo_DeleteSetUpNat64">正在删除Nat64网关......</sys:String>

View File

@ -294,6 +294,7 @@
<sys:String x:Key="DisplayInstallInfo_TestDomainResolve">正在檢測域名是否解析到當前VPS的IP上......</sys:String>
<sys:String x:Key="DisplayInstallInfo_OnlyIpv6HostDetect">正在檢測是否為純ipv6主機......</sys:String>
<sys:String x:Key="DisplayInstallInfo_FindFastestSetUpNat64">正在查找最快的Nat64網關......</sys:String>
<sys:String x:Key="DisplayInstallInfo_FindFastestSetUpNat64Failed">未能找到有效的Nat64網關......</sys:String>
<sys:String x:Key="DisplayInstallInfo_FindFastestNat64AsIs">當前主機最快的Nat64網關為:</sys:String>
<sys:String x:Key="DisplayInstallInfo_SetUpNat64">正在設置Nat64網關......</sys:String>
<sys:String x:Key="DisplayInstallInfo_DeleteSetUpNat64">正在刪除Nat64網關......</sys:String>

Binary file not shown.