diff --git a/Netch/Controllers/TUNTAPController.cs b/Netch/Controllers/TUNTAPController.cs index d3dd533b..6fcb36a8 100644 --- a/Netch/Controllers/TUNTAPController.cs +++ b/Netch/Controllers/TUNTAPController.cs @@ -266,13 +266,16 @@ namespace Netch.Controllers { return false; } - + + Logging.Info("设置绕行规则"); SetupBypass(); + Logging.Info("设置绕行规则完毕"); Instance = new Process(); Instance.StartInfo.WorkingDirectory = string.Format("{0}\\bin", Directory.GetCurrentDirectory()); Instance.StartInfo.FileName = string.Format("{0}\\bin\\tun2socks.exe", Directory.GetCurrentDirectory()); var adapterName = TUNTAP.GetName(Global.TUNTAP.ComponentID); + Logging.Info($"tun2sock使用适配器:{adapterName}"); string dns; if (Global.Settings.TUNTAP.UseCustomDNS) @@ -299,7 +302,7 @@ namespace Netch.Controllers else { Instance.StartInfo.Arguments = string.Format("-proxyServer 127.0.0.1:{0} -tunAddr {1} -tunMask {2} -tunGw {3} -tunDns {4} -tunName \"{5}\"", Global.Settings.Socks5LocalPort, Global.Settings.TUNTAP.Address, Global.Settings.TUNTAP.Netmask, Global.Settings.TUNTAP.Gateway, dns, adapterName); - } + } Instance.StartInfo.CreateNoWindow = true; Instance.StartInfo.RedirectStandardError = true; diff --git a/Netch/Netch.cs b/Netch/Netch.cs index 097f643f..afcc5c82 100644 --- a/Netch/Netch.cs +++ b/Netch/Netch.cs @@ -24,7 +24,17 @@ namespace Netch // 清理上一次的日志文件,防止淤积占用磁盘空间 if (Directory.Exists("logging")) { - Directory.Delete("logging", true); + DirectoryInfo directory = new DirectoryInfo("logging"); + + foreach (FileInfo file in directory.GetFiles()) + { + file.Delete(); + } + + foreach (DirectoryInfo dir in directory.GetDirectories()) + { + dir.Delete(true); + } } // 预创建目录 diff --git a/Netch/Utils/Configuration.cs b/Netch/Utils/Configuration.cs index d2671a53..505de365 100644 --- a/Netch/Utils/Configuration.cs +++ b/Netch/Utils/Configuration.cs @@ -105,15 +105,17 @@ namespace Netch.Utils return false; } + Logging.Info($"搜索适配器index:{Global.Adapter.Index}"); + var AddressGot = false; foreach (var adapter in NetworkInterface.GetAllNetworkInterfaces()) { var adapterProperties = adapter.GetIPProperties(); var p = adapterProperties.GetIPv4Properties(); + Logging.Info($"检测适配器:{adapter.Name} {adapter.Id} {adapter.Description}, index: {p.Index}"); // 通过索引查找对应适配器的 IPv4 地址 if (p.Index == Global.Adapter.Index) { - var AddressGot = false; var AdapterIPs = ""; foreach (var ip in adapterProperties.UnicastAddresses) @@ -142,6 +144,12 @@ namespace Netch.Utils } } + if (!AddressGot) + { + Logging.Info("无法找到当前使用适配器"); + return false; + } + // 搜索 TUN/TAP 适配器的索引 Global.TUNTAP.ComponentID = TUNTAP.GetComponentID(); if (string.IsNullOrEmpty(Global.TUNTAP.ComponentID)) @@ -172,6 +180,8 @@ namespace Netch.Utils Global.TUNTAP.Adapter = adapter; Global.TUNTAP.Index = adapter.GetIPProperties().GetIPv4Properties().Index; + Logging.Info($"找到适配器:{adapter.Id}"); + return true; } }