Updated
This commit is contained in:
parent
d3aef63feb
commit
27bdfceb5a
|
@ -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);
|
||||
}
|
||||
}
|
||||
|
|
Binary file not shown.
After Width: | Height: | Size: 205 KiB |
Loading…
Reference in New Issue