Updated
This commit is contained in:
		| @@ -2,7 +2,7 @@ | ||||
|  | ||||
|   <PropertyGroup> | ||||
|     <OutputType>WinExe</OutputType> | ||||
|     <TargetFramework>net6.0-windows</TargetFramework> | ||||
|     <TargetFramework>net7.0-windows</TargetFramework> | ||||
|     <UseWindowsForms>true</UseWindowsForms> | ||||
|     <GenerateAssemblyInfo>false</GenerateAssemblyInfo> | ||||
|  | ||||
| @@ -28,5 +28,8 @@ | ||||
|       <Generator>SettingsSingleFileGenerator</Generator> | ||||
|       <LastGenOutput>Settings.Designer.cs</LastGenOutput> | ||||
|     </None> | ||||
|     <None Update="Servers.xml"> | ||||
|       <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory> | ||||
|     </None> | ||||
|   </ItemGroup> | ||||
| </Project> | ||||
| @@ -21,6 +21,7 @@ namespace EonaCat.DnsTester.Helpers | ||||
|             { | ||||
|                 client.DontFragment = true; | ||||
|                 client.EnableBroadcast = false; | ||||
|                 client.Client.SendTimeout = DnsSendTimeout; | ||||
|                 client.Client.ReceiveTimeout = DnsReceiveTimeout; | ||||
|                 byte[] responseBytes = null; | ||||
|                 if (FakeResponse) | ||||
| @@ -42,6 +43,7 @@ namespace EonaCat.DnsTester.Helpers | ||||
|         // For testing purposes | ||||
|         public static bool FakeResponse { get; set; } | ||||
|  | ||||
|         public static int DnsSendTimeout { get; set; } = 5; | ||||
|         public static int DnsReceiveTimeout { get; set; } = 5; | ||||
|  | ||||
|  | ||||
|   | ||||
| @@ -39,52 +39,55 @@ namespace EonaCat.DnsTester.Helpers | ||||
|  | ||||
|                 string url = searchEngine.Value + letters; | ||||
|  | ||||
|                 try | ||||
|                 using (var client = new WebClient()) | ||||
|                 { | ||||
|                     using (var client = new WebClient()) | ||||
|                     string responseString = null; | ||||
|                     try | ||||
|                     { | ||||
|                         string responseString = client.DownloadString(url); | ||||
|                         responseString = client.DownloadString(url); | ||||
|                     } | ||||
|                     catch (Exception ex) | ||||
|                     { | ||||
|                         searchEngineUrls.Remove(searchEngine.Key); | ||||
|                         SetStatus($"{searchEngine.Key}: {ex.Message}"); | ||||
|                     } | ||||
|  | ||||
|                         // find all .xxx.com addresses | ||||
|                         MatchCollection hostNames = Regex.Matches(responseString, @"[.](\w+[.]com)"); | ||||
|                     if (responseString == null) | ||||
|                     { | ||||
|                         continue; | ||||
|                     } | ||||
|  | ||||
|                         // Loop through the match collection to retrieve all matches and delete the leading "." | ||||
|                         HashSet<string> uniqueNames = new HashSet<string>(); | ||||
|                         foreach (Match match in hostNames) | ||||
|                     // find all .xxx.com addresses | ||||
|                     MatchCollection hostNames = Regex.Matches(responseString, @"[.](\w+[.]com)"); | ||||
|  | ||||
|                     // Loop through the match collection to retrieve all matches and delete the leading "." | ||||
|                     HashSet<string> uniqueNames = new HashSet<string>(); | ||||
|                     foreach (Match match in hostNames) | ||||
|                     { | ||||
|                         string name = match.Groups[1].Value; | ||||
|                         if (name != $"{searchEngine.Key.ToLower()}.com") | ||||
|                         { | ||||
|                             string name = match.Groups[1].Value; | ||||
|                             if (name != $"{searchEngine.Key.ToLower()}.com") | ||||
|                             { | ||||
|                                 uniqueNames.Add(name); | ||||
|                             } | ||||
|                         } | ||||
|  | ||||
|                         // Add the names to the list | ||||
|                         foreach (string name in uniqueNames) | ||||
|                         { | ||||
|                             if (urls.Count >= totalUrls) | ||||
|                             { | ||||
|                                 break; | ||||
|                             } | ||||
|  | ||||
|                             if (!urls.Contains(name)) | ||||
|                             { | ||||
|                                 urls.Add(name); | ||||
|                             } | ||||
|                             uniqueNames.Add(name); | ||||
|                         } | ||||
|                     } | ||||
|  | ||||
|                     await Task.Delay(100); | ||||
|                 } | ||||
|                 catch (Exception ex) | ||||
|                 { | ||||
|                     searchEngineUrls.Remove(searchEngine.Key); | ||||
|                     SetStatus($"{searchEngine.Key}: {ex.Message}"); | ||||
|                 } | ||||
|                 finally | ||||
|                 { | ||||
|                     letters = GetRandomLetters(); | ||||
|                     // Add the names to the list | ||||
|                     foreach (string name in uniqueNames) | ||||
|                     { | ||||
|                         if (urls.Count >= totalUrls) | ||||
|                         { | ||||
|                             break; | ||||
|                         } | ||||
|  | ||||
|                         if (!urls.Contains(name)) | ||||
|                         { | ||||
|                             urls.Add(name); | ||||
|                         } | ||||
|                     } | ||||
|                 } | ||||
|  | ||||
|                 letters = GetRandomLetters(); | ||||
|                 await Task.Delay(100); | ||||
|             } | ||||
|  | ||||
|             var urlText = "url" + (urls.Count > 1 ? "'s" : string.Empty); | ||||
|   | ||||
| @@ -55,12 +55,6 @@ namespace EonaCat.DnsTester | ||||
|             urls = await UrlHelper.RetrieveUrls(numThreads, numUrlsPerThread); | ||||
|             AddUrlToView(urls); | ||||
|  | ||||
|  | ||||
|             if (IsRunning) | ||||
|             { | ||||
|                 return; | ||||
|             } | ||||
|  | ||||
|             IsRunning = true; | ||||
|             await Process(_recordType, urls.ToArray(), _dnsServer1, _dnsServer2); | ||||
|             IsRunning = false; | ||||
| @@ -199,14 +193,10 @@ namespace EonaCat.DnsTester | ||||
|  | ||||
|             for (int i = 0; i < urlsTotal; i++) | ||||
|             { | ||||
|                 await Task.Run(async () => | ||||
|                 { | ||||
|                     var currentUrl = urls[i]; | ||||
|  | ||||
|                     await ExecuteDns1(recordType, dnsAddress1, currentUrl, dnsId1, i); | ||||
|                     if (!chkDns2.Checked) return; | ||||
|                     await ExecuteDns2(recordType, dnsAddress2, currentUrl, dnsId2, i); | ||||
|                 }); | ||||
|                 var currentUrl = urls[i]; | ||||
|                 await ExecuteDns1(recordType, dnsAddress1, currentUrl, dnsId1, i); | ||||
|                 if (!chkDns2.Checked) return; | ||||
|                 await ExecuteDns2(recordType, dnsAddress2, currentUrl, dnsId2, i); | ||||
|                 await Task.Delay(100); | ||||
|             } | ||||
|         } | ||||
|   | ||||
							
								
								
									
										
											BIN
										
									
								
								Screenshots/1.png
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										
											BIN
										
									
								
								Screenshots/1.png
									
									
									
									
									
										Normal file
									
								
							
										
											Binary file not shown.
										
									
								
							| After Width: | Height: | Size: 205 KiB | 
		Reference in New Issue
	
	Block a user