Compare commits
51
Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
8d659d4261 | ||
|
|
45b6d8ecab | ||
|
|
83897c72cf | ||
|
|
680b295f9e | ||
|
|
03e7ebe421 | ||
|
|
41dfb5809a | ||
|
|
7abe904997 | ||
|
|
8256d6a681 | ||
|
|
a6804be9f1 | ||
|
|
0cfbcea252 | ||
|
|
3f647a3e68 | ||
|
|
53289db102 | ||
|
|
f4d94a3336 | ||
|
|
e9fd738f1f | ||
|
|
e581d947f8 | ||
|
|
580d687f62 | ||
|
|
af7b385641 | ||
|
|
7562bbf7d1 | ||
|
|
ac645b01b9 | ||
|
|
97321492ba | ||
|
|
8628d31bec | ||
|
|
23d0a8b978 | ||
|
|
8b55cf7bb6 | ||
|
|
3822339dd9 | ||
|
|
1c74ae9de5 | ||
|
|
bab8fa6c25 | ||
|
|
cd49d32dd7 | ||
|
|
5fe35192c6 | ||
|
|
a1f5b08ac3 | ||
|
|
2cff817044 | ||
|
|
407bbc1556 | ||
|
|
f2ace6f571 | ||
|
|
3034e66126 | ||
|
|
701ffff27e | ||
|
|
ec9cca59da | ||
|
|
90d1d6b429 | ||
|
|
3d8f903d30 | ||
|
|
eedca27a11 | ||
|
|
69a22fb3eb | ||
|
|
d3270d3117 | ||
|
|
f02203c14c | ||
|
|
7ad691c439 | ||
|
|
4eaaf0f244 | ||
|
|
a160992c08 | ||
|
|
1a361a9524 | ||
|
|
be07cdb13e | ||
|
|
28c5918a83 | ||
|
|
032ce539c3 | ||
|
|
9297cf4358 | ||
|
|
9afddf803a | ||
|
|
b60cda90b5 |
+3
-2
@@ -5,8 +5,9 @@
|
|||||||
|
|
||||||
**/bin/*
|
**/bin/*
|
||||||
**/**/bin/*
|
**/**/bin/*
|
||||||
**/opt/*
|
**/obj/*
|
||||||
**/**/opt/*
|
**/**/obj/*
|
||||||
|
*.gz
|
||||||
|
|
||||||
# User-specific stuff
|
# User-specific stuff
|
||||||
.idea/**/workspace.xml
|
.idea/**/workspace.xml
|
||||||
|
|||||||
@@ -1,9 +1,14 @@
|
|||||||
<Project Sdk="Microsoft.NET.Sdk">
|
<Project Sdk="Microsoft.NET.Sdk">
|
||||||
|
|
||||||
<PropertyGroup>
|
<PropertyGroup>
|
||||||
|
<OutputType>Exe</OutputType>
|
||||||
<TargetFramework>net8.0</TargetFramework>
|
<TargetFramework>net8.0</TargetFramework>
|
||||||
<ImplicitUsings>enable</ImplicitUsings>
|
<ImplicitUsings>enable</ImplicitUsings>
|
||||||
<Nullable>enable</Nullable>
|
<Nullable>enable</Nullable>
|
||||||
</PropertyGroup>
|
</PropertyGroup>
|
||||||
|
|
||||||
|
<ItemGroup>
|
||||||
|
<Folder Include="CompressedDatabases\" />
|
||||||
|
</ItemGroup>
|
||||||
|
|
||||||
</Project>
|
</Project>
|
||||||
@@ -0,0 +1,3 @@
|
|||||||
|
// See https://aka.ms/new-console-template for more information
|
||||||
|
|
||||||
|
Console.WriteLine("Hello, World!");
|
||||||
@@ -1,8 +0,0 @@
|
|||||||
% Total % Received % Xferd Average Speed Time Time Time Current
|
|
||||||
Dload Upload Total Spent Left Speed
|
|
||||||
␍ 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0* Trying 192.3.147.62:443...
|
|
||||||
* connect to 192.3.147.62 port 443 from 192.168.80.132 port 41070 failed: Connection refused
|
|
||||||
* Failed to connect to 192.3.147.62 port 443 after 117 ms: Could not connect to server
|
|
||||||
␍ 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0
|
|
||||||
* closing connection #0
|
|
||||||
curl: (7) Failed to connect to 192.3.147.62 port 443 after 117 ms: Could not connect to server
|
|
||||||
@@ -1,10 +0,0 @@
|
|||||||
% Total % Received % Xferd Average Speed Time Time Time Current
|
|
||||||
Dload Upload Total Spent Left Speed
|
|
||||||
␍ 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0* Trying 192.3.147.66:80...
|
|
||||||
* Connected to 192.3.147.66 (192.3.147.66) port 80
|
|
||||||
> HEAD / HTTP/1.1
|
|
||||||
> Host: 192.3.147.66
|
|
||||||
> User-Agent: curl/8.9.1
|
|
||||||
> Accept: */*
|
|
||||||
>
|
|
||||||
* Request completely sent off
|
|
||||||
@@ -6,8 +6,8 @@
|
|||||||
<ImplicitUsings>enable</ImplicitUsings>
|
<ImplicitUsings>enable</ImplicitUsings>
|
||||||
<Nullable>enable</Nullable>
|
<Nullable>enable</Nullable>
|
||||||
|
|
||||||
<Platform>x64</Platform>
|
<!--<Platform>x64</Platform>-->
|
||||||
<Optimize>true</Optimize>
|
<Optimize>false</Optimize>
|
||||||
</PropertyGroup>
|
</PropertyGroup>
|
||||||
|
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
@@ -16,12 +16,7 @@
|
|||||||
|
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<PackageReference Include="FuzzySharp" Version="2.0.2" />
|
<PackageReference Include="FuzzySharp" Version="2.0.2" />
|
||||||
<PackageReference Include="MessagePack" Version="3.0.238-rc.1" />
|
<PackageReference Include="HtmlAgilityPack" Version="1.11.71" />
|
||||||
<PackageReference Include="MessagePack.Annotations" Version="3.0.238-rc.1" />
|
|
||||||
<PackageReference Include="MessagePackAnalyzer" Version="3.0.238-rc.1">
|
|
||||||
<PrivateAssets>all</PrivateAssets>
|
|
||||||
<IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
|
|
||||||
</PackageReference>
|
|
||||||
<PackageReference Include="NetMQ" Version="4.0.1.13" />
|
<PackageReference Include="NetMQ" Version="4.0.1.13" />
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
|
|
||||||
|
|||||||
@@ -1,37 +0,0 @@
|
|||||||
VACUUM;
|
|
||||||
|
|
||||||
DROP TABLE Filtered;
|
|
||||||
|
|
||||||
CREATE TABLE "Filtered" (
|
|
||||||
"Id" INTEGER NOT NULL,
|
|
||||||
"Ip" TEXT NOT NULL,
|
|
||||||
"Port1" INTEGER NOT NULL,
|
|
||||||
"Port2" INTEGER NOT NULL,
|
|
||||||
"Title1" TEXT NOT NULL,
|
|
||||||
"Title2" TEXT NOT NULL,
|
|
||||||
"Description1" TEXT NOT NULL,
|
|
||||||
"Description2" TEXT NOT NULL,
|
|
||||||
"Url1" TEXT NOT NULL,
|
|
||||||
"Url2" TEXT NOT NULL,
|
|
||||||
"ServerType1" TEXT NOT NULL,
|
|
||||||
"ServerType2" TEXT NOT NULL,
|
|
||||||
"RobotsTXT1" TEXT NOT NULL,
|
|
||||||
"RobotsTXT2" TEXT NOT NULL,
|
|
||||||
"HttpVersion1" TEXT NOT NULL,
|
|
||||||
"HttpVersion2" TEXT NOT NULL,
|
|
||||||
"CertificateIssuerCountry" TEXT NOT NULL,
|
|
||||||
"CertificateOrganizationName" TEXT NOT NULL,
|
|
||||||
"IpV6" TEXT NOT NULL,
|
|
||||||
"TlsVersion" TEXT NOT NULL,
|
|
||||||
"CipherSuite" TEXT NOT NULL,
|
|
||||||
"KeyExchangeAlgorithm" TEXT NOT NULL,
|
|
||||||
"PublicKeyType1" TEXT NOT NULL,
|
|
||||||
"PublicKeyType2" TEXT NOT NULL,
|
|
||||||
"PublicKeyType3" TEXT NOT NULL,
|
|
||||||
"AcceptEncoding1" TEXT NOT NULL,
|
|
||||||
"AcceptEncoding2" TEXT NOT NULL,
|
|
||||||
"ALPN" TEXT NOT NULL,
|
|
||||||
"Connection1" TEXT NOT NULL,
|
|
||||||
"Connection2" TEXT NOT NULL,
|
|
||||||
PRIMARY KEY("Id" AUTOINCREMENT)
|
|
||||||
)
|
|
||||||
@@ -1,19 +0,0 @@
|
|||||||
DROP TABLE Unfiltered;
|
|
||||||
DROP TABLE Runtimes;
|
|
||||||
|
|
||||||
CREATE TABLE "Unfiltered" (
|
|
||||||
"Id" INTEGER NOT NULL,
|
|
||||||
"Ip" TEXT NOT NULL,
|
|
||||||
"ResponseCode" INTEGER NOT NULL,
|
|
||||||
"Port1" INTEGER NOT NULL,
|
|
||||||
"Port2" INTEGER NOT NULL,
|
|
||||||
"Filtered" INTEGER NOT NULL,
|
|
||||||
CONSTRAINT "PK_Unfiltered" PRIMARY KEY("Id" AUTOINCREMENT)
|
|
||||||
);
|
|
||||||
|
|
||||||
CREATE TABLE "Runtimes" (
|
|
||||||
"Id" INTEGER NOT NULL CONSTRAINT "PK_Runtimes" PRIMARY KEY AUTOINCREMENT,
|
|
||||||
"StartTime" TEXT NOT NULL,
|
|
||||||
"EndTime" TEXT NOT NULL,
|
|
||||||
"ThreadNumber" INTEGER NOT NULL
|
|
||||||
);
|
|
||||||
@@ -1,7 +1,6 @@
|
|||||||
using System.Diagnostics.CodeAnalysis;
|
using System.Diagnostics.CodeAnalysis;
|
||||||
using System.Text.Json;
|
using System.Text.Json;
|
||||||
using Backend.Helper;
|
using Backend.Helper;
|
||||||
using MessagePack;
|
|
||||||
using Models.Handler;
|
using Models.Handler;
|
||||||
using Models.Model.Backend;
|
using Models.Model.Backend;
|
||||||
using Models.Model.External;
|
using Models.Model.External;
|
||||||
@@ -14,12 +13,18 @@ public class Communication
|
|||||||
{
|
{
|
||||||
private readonly DbHandler _dbHandler;
|
private readonly DbHandler _dbHandler;
|
||||||
private readonly ThreadHandler _threadHandler;
|
private readonly ThreadHandler _threadHandler;
|
||||||
|
private readonly IpScanner _ipScanner;
|
||||||
|
private readonly ContentFilter _contentFilter;
|
||||||
private bool _isRunning = true;
|
private bool _isRunning = true;
|
||||||
|
private string _basePath;
|
||||||
|
|
||||||
public Communication(DbHandler dbHandler, ThreadHandler threadHandler)
|
public Communication(DbHandler dbHandler, ThreadHandler threadHandler, IpScanner ipScanner, ContentFilter contentFilter, string basePath)
|
||||||
{
|
{
|
||||||
_dbHandler = dbHandler;
|
_dbHandler = dbHandler;
|
||||||
_threadHandler = threadHandler;
|
_threadHandler = threadHandler;
|
||||||
|
_ipScanner = ipScanner;
|
||||||
|
_contentFilter = contentFilter;
|
||||||
|
_basePath = basePath;
|
||||||
}
|
}
|
||||||
|
|
||||||
public WaitHandle[] Start()
|
public WaitHandle[] Start()
|
||||||
@@ -34,35 +39,26 @@ public class Communication
|
|||||||
return waitHandles;
|
return waitHandles;
|
||||||
}
|
}
|
||||||
|
|
||||||
/*private void Server(object obj)
|
|
||||||
{
|
|
||||||
using ResponseSocket server = new();
|
|
||||||
server.Bind("tcp://*:5556");
|
|
||||||
|
|
||||||
server.ReceiveReady += OnServerOnReceiveReady;
|
|
||||||
|
|
||||||
_poller.Add(server);
|
|
||||||
|
|
||||||
Console.WriteLine("Server is running and waiting for client requests...");
|
|
||||||
|
|
||||||
_poller.Run();
|
|
||||||
|
|
||||||
Console.WriteLine("Communication stopped.");
|
|
||||||
|
|
||||||
((EventWaitHandle) obj).Set();
|
|
||||||
}*/
|
|
||||||
|
|
||||||
private void Server(object obj)
|
private void Server(object obj)
|
||||||
{
|
{
|
||||||
using ResponseSocket rep = new();
|
using ResponseSocket rep = new();
|
||||||
|
|
||||||
|
//rep.Options.IPv4Only = true;
|
||||||
|
|
||||||
rep.Bind("tcp://127.0.0.1:5556");
|
rep.Bind("tcp://127.0.0.1:5556");
|
||||||
|
|
||||||
while (_isRunning)
|
while (_isRunning)
|
||||||
{
|
{
|
||||||
byte[] message = rep.ReceiveFrameBytes();
|
byte[] message = rep.ReceiveFrameBytes();
|
||||||
|
|
||||||
CommunicationObject communicationObject = MessagePackSerializer.Deserialize<CommunicationObject>(message);
|
CommunicationObject? communicationObject = JsonSerializer.Deserialize<CommunicationObject>(message);
|
||||||
|
|
||||||
|
//rep.SendFrame(JsonSerializer.SerializeToUtf8Bytes("Success"));
|
||||||
|
|
||||||
|
if (communicationObject is null)
|
||||||
|
{
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
|
||||||
OnServerOnReceiveReady(communicationObject, rep);
|
OnServerOnReceiveReady(communicationObject, rep);
|
||||||
}
|
}
|
||||||
@@ -78,7 +74,7 @@ public class Communication
|
|||||||
{
|
{
|
||||||
case CommunicationCommand.GetScanningProgress:
|
case CommunicationCommand.GetScanningProgress:
|
||||||
{
|
{
|
||||||
DatabaseSizes databaseSizes = FilesystemHelper.GetDatabaseSizes();
|
DatabaseSizes databaseSizes = FilesystemHelper.GetDatabaseSizes(_basePath);
|
||||||
|
|
||||||
long discardedIndexes = _dbHandler.GetDiscardedIndexes();
|
long discardedIndexes = _dbHandler.GetDiscardedIndexes();
|
||||||
|
|
||||||
@@ -91,17 +87,18 @@ public class Communication
|
|||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
// This is a workaround for the frontend not understanding a 0f as an actual float, so we use a very small float.
|
||||||
status.PercentageOfIpv4Scanned = 0.0000000001f;
|
status.PercentageOfIpv4Scanned = 0.0000000001f;
|
||||||
}
|
}
|
||||||
|
|
||||||
status.AmountOfIpv4Left = 4294967296 - discardedIndexes;
|
status.AmountOfIpv4Left = 4294967296 - discardedIndexes;
|
||||||
status.TotalFiltered = DbHandler.GetFilteredIndexes();
|
status.TotalFiltered = _dbHandler.GetFilteredIndexes();
|
||||||
status.TotalDiscarded = discardedIndexes;
|
status.TotalDiscarded = discardedIndexes;
|
||||||
status.MyDbSize = databaseSizes.MyDbSize;
|
status.MyDbSize = databaseSizes.MyDbSize;
|
||||||
status.FilteredDbSize = databaseSizes.FilteredDbSize;
|
status.FilteredDbSize = databaseSizes.FilteredDbSize;
|
||||||
status.DiscardedDbSize = databaseSizes.DiscardedDbSize;
|
status.DiscardedDbSize = databaseSizes.DiscardedDbSize;
|
||||||
|
|
||||||
byte[] serializedResult = MessagePackSerializer.Serialize(status, MessagePackSerializerOptions.Standard.WithCompression(MessagePackCompression.Lz4BlockArray));
|
byte[] serializedResult = JsonSerializer.SerializeToUtf8Bytes(status);
|
||||||
|
|
||||||
rep.SendFrame(serializedResult);
|
rep.SendFrame(serializedResult);
|
||||||
|
|
||||||
@@ -139,13 +136,45 @@ public class Communication
|
|||||||
_isRunning = false;
|
_isRunning = false;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
case CommunicationCommand.ChangeRuntimeVariable:
|
||||||
|
{
|
||||||
|
if (string.IsNullOrWhiteSpace(communicationObject.VariableValue)) break;
|
||||||
|
|
||||||
|
if (communicationObject.Variable == RuntimeVariable.DbContent.ToString())
|
||||||
|
{
|
||||||
|
int value = int.Parse(communicationObject.VariableValue);
|
||||||
|
_dbHandler.SetContentWaitTime(value);
|
||||||
|
}
|
||||||
|
|
||||||
|
if (communicationObject.Variable == RuntimeVariable.DbDiscarded.ToString())
|
||||||
|
{
|
||||||
|
int value = int.Parse(communicationObject.VariableValue);
|
||||||
|
_dbHandler.SetDiscardedWaitTime(value);
|
||||||
|
}
|
||||||
|
|
||||||
|
if (communicationObject.Variable == RuntimeVariable.ScannerTimeout.ToString())
|
||||||
|
{
|
||||||
|
int value = int.Parse(communicationObject.VariableValue);
|
||||||
|
_ipScanner.SetTimeout(value);
|
||||||
|
}
|
||||||
|
|
||||||
|
if (communicationObject.Variable == RuntimeVariable.ContentFilter.ToString())
|
||||||
|
{
|
||||||
|
int value = int.Parse(communicationObject.VariableValue);
|
||||||
|
_contentFilter.SetTimeout(value);
|
||||||
|
}
|
||||||
|
|
||||||
|
rep.SendFrame(JsonSerializer.SerializeToUtf8Bytes("Success"));
|
||||||
|
|
||||||
|
break;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private static void SendStringResponse(ResponseSocket rep, string response)
|
private static void SendStringResponse(ResponseSocket rep, string response)
|
||||||
{
|
{
|
||||||
MessagePackSerializerOptions withCompression = MessagePackSerializerOptions.Standard.WithCompression(MessagePackCompression.Lz4BlockArray);
|
byte[] serializedResult = JsonSerializer.SerializeToUtf8Bytes(response);
|
||||||
byte[] serializedResult = MessagePackSerializer.Serialize(response, withCompression);
|
|
||||||
|
|
||||||
rep.SendFrame(serializedResult);
|
rep.SendFrame(serializedResult);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,24 +1,53 @@
|
|||||||
using System.Collections.Concurrent;
|
using System.Collections.Concurrent;
|
||||||
using System.Diagnostics;
|
using System.Diagnostics;
|
||||||
using System.Text;
|
|
||||||
using Backend.Helper;
|
using Backend.Helper;
|
||||||
using Models.Handler;
|
using Models.Handler;
|
||||||
using Models.Model.Backend;
|
using Models.Model.Backend;
|
||||||
|
|
||||||
namespace Backend.Handler;
|
namespace Backend.Handler;
|
||||||
|
|
||||||
|
public class Content
|
||||||
|
{
|
||||||
|
public int Port1 { get; set; }
|
||||||
|
public int Port2 { get; set; }
|
||||||
|
public Ip Ip { get; set; }
|
||||||
|
}
|
||||||
|
|
||||||
|
public class ContentThread
|
||||||
|
{
|
||||||
|
public int ThreadId { get; set; }
|
||||||
|
public EventWaitHandle EventWaitHandle { get; set; }
|
||||||
|
}
|
||||||
|
|
||||||
public class ContentFilter
|
public class ContentFilter
|
||||||
{
|
{
|
||||||
private readonly ConcurrentQueue<QueueItem> _queue;
|
private readonly ConcurrentQueue<Filtered> _queue;
|
||||||
|
private readonly ConcurrentQueue<UnfilteredQueueItem> _unfilteredQueue;
|
||||||
|
private readonly ConcurrentQueue<Content?> _contentQueue = new();
|
||||||
private readonly DbHandler _dbHandler;
|
private readonly DbHandler _dbHandler;
|
||||||
private const string GetDomainPort80 = "/home/skingging/Documents/Projects/CSharp/RSE/Backend/Scripts/GetDomainNamePort80.sh";
|
private readonly string _getDomainPort80;
|
||||||
private const string GetDomainPort443 = "/home/skingging/Documents/Projects/CSharp/RSE/Backend/Scripts/GetDomainNamePort443.sh";
|
private readonly string _getDomainPort443;
|
||||||
private bool _stop;
|
private bool _stop;
|
||||||
|
private int _timeOut;
|
||||||
|
private readonly string _basePath;
|
||||||
|
|
||||||
public ContentFilter(ConcurrentQueue<QueueItem> queue, DbHandler dbHandler)
|
public ContentFilter(ConcurrentQueue<Filtered> queue, ConcurrentQueue<UnfilteredQueueItem> unfilteredQueue, DbHandler dbHandler, string basePath)
|
||||||
{
|
{
|
||||||
_queue = queue;
|
_queue = queue;
|
||||||
_dbHandler = dbHandler;
|
_dbHandler = dbHandler;
|
||||||
|
_basePath = basePath;
|
||||||
|
_unfilteredQueue = unfilteredQueue;
|
||||||
|
|
||||||
|
_getDomainPort80 = $"{basePath}/Backend/Scripts/GetDomainNamePort80.sh";
|
||||||
|
_getDomainPort443 = $"{basePath}/Backend/Scripts/GetDomainNamePort443.sh";
|
||||||
|
|
||||||
|
|
||||||
|
SetTimeout(3000);
|
||||||
|
}
|
||||||
|
|
||||||
|
public void SetTimeout(int timeOut)
|
||||||
|
{
|
||||||
|
_timeOut = timeOut;
|
||||||
}
|
}
|
||||||
|
|
||||||
public WaitHandle[] Start()
|
public WaitHandle[] Start()
|
||||||
@@ -26,6 +55,7 @@ public class ContentFilter
|
|||||||
WaitHandle[] waitHandles = new WaitHandle[1];
|
WaitHandle[] waitHandles = new WaitHandle[1];
|
||||||
EventWaitHandle handle = new(false, EventResetMode.ManualReset);
|
EventWaitHandle handle = new(false, EventResetMode.ManualReset);
|
||||||
waitHandles[0] = handle;
|
waitHandles[0] = handle;
|
||||||
|
|
||||||
Thread f = new (Filter!);
|
Thread f = new (Filter!);
|
||||||
f.Start(handle);
|
f.Start(handle);
|
||||||
|
|
||||||
@@ -34,59 +64,109 @@ public class ContentFilter
|
|||||||
|
|
||||||
private void Filter(object obj)
|
private void Filter(object obj)
|
||||||
{
|
{
|
||||||
long indexes = DbHandler.GetUnfilteredIndexes();
|
while (!_stop)
|
||||||
|
{
|
||||||
|
List<long> indexes = _dbHandler.GetUnfilteredIndexes();
|
||||||
|
|
||||||
for (long i = 0; i < indexes; i++)
|
for (int i = 0; i < indexes.Count; i++)
|
||||||
{
|
{
|
||||||
if (_stop) break;
|
if (_stop) break;
|
||||||
|
|
||||||
Unfiltered? unfiltered = DbHandler.ReadUnfilteredWithId(i);
|
if (_contentQueue.Count >= 500)
|
||||||
|
{
|
||||||
|
Thread.Sleep(1000);
|
||||||
|
}
|
||||||
|
|
||||||
if (unfiltered is null || unfiltered.Filtered == 1) continue;
|
Unfiltered unfiltered = _dbHandler.ReadUnfilteredWithId(indexes[i]);
|
||||||
|
|
||||||
unfiltered.Filtered = 1;
|
if (unfiltered.Filtered) continue;
|
||||||
|
|
||||||
QueueItem superUnfilteredObject = new()
|
Ip ip = unfiltered.Ip;
|
||||||
|
|
||||||
|
unfiltered.Filtered = true;
|
||||||
|
|
||||||
|
UnfilteredQueueItem superUnfilteredObject = new()
|
||||||
{
|
{
|
||||||
Unfiltered = unfiltered,
|
Unfiltered = unfiltered,
|
||||||
Operations = Operations.Update
|
Operations = Operations.Update
|
||||||
};
|
};
|
||||||
|
|
||||||
_queue.Enqueue(superUnfilteredObject);
|
_unfilteredQueue.Enqueue(superUnfilteredObject);
|
||||||
|
|
||||||
if (_dbHandler.GetFilteredIp(unfiltered.Ip))
|
if (_dbHandler.FilteredIpExists(unfiltered.Ip))
|
||||||
{
|
{
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
|
||||||
Filtered filtered = GetSiteData(unfiltered.Ip);
|
Content content = new();
|
||||||
|
content.Ip = ip;
|
||||||
|
content.Port1 = unfiltered.Port1;
|
||||||
|
content.Port2 = unfiltered.Port2;
|
||||||
|
|
||||||
filtered.Port1 = unfiltered.Port1;
|
_contentQueue.Enqueue(content);
|
||||||
filtered.Port2 = unfiltered.Port2;
|
}
|
||||||
|
|
||||||
QueueItem superFilteredObject = new()
|
Thread.Sleep(_timeOut);
|
||||||
{
|
|
||||||
Filtered = filtered,
|
|
||||||
Operations = Operations.Insert
|
|
||||||
};
|
|
||||||
|
|
||||||
_queue.Enqueue(superFilteredObject);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
((EventWaitHandle) obj).Set();
|
((EventWaitHandle) obj).Set();
|
||||||
}
|
}
|
||||||
|
|
||||||
private static Filtered GetSiteData(string ip)
|
public WaitHandle[] StartFilterThread(int threads)
|
||||||
{
|
{
|
||||||
StartProcess(ip, 80);
|
WaitHandle[] waitHandle = new WaitHandle[threads];
|
||||||
StartProcess(ip, 443);
|
|
||||||
|
for (int i = 0; i < threads; i++)
|
||||||
|
{
|
||||||
|
EventWaitHandle handle = new(false, EventResetMode.ManualReset);
|
||||||
|
ContentThread contentThread = new();
|
||||||
|
contentThread.ThreadId = i;
|
||||||
|
contentThread.EventWaitHandle = handle;
|
||||||
|
waitHandle[i] = handle;
|
||||||
|
|
||||||
|
Thread thread = new(FilterThread!);
|
||||||
|
thread.Start(contentThread);
|
||||||
|
}
|
||||||
|
|
||||||
|
return waitHandle;
|
||||||
|
}
|
||||||
|
|
||||||
|
private void FilterThread(object obj)
|
||||||
|
{
|
||||||
|
ContentThread thread = (ContentThread) obj;
|
||||||
|
|
||||||
|
while (!_stop)
|
||||||
|
{
|
||||||
|
if (_contentQueue.IsEmpty)
|
||||||
|
{
|
||||||
|
Thread.Sleep(1000);
|
||||||
|
}
|
||||||
|
|
||||||
|
_contentQueue.TryDequeue(out Content? content);
|
||||||
|
|
||||||
|
if (content is null)
|
||||||
|
{
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
|
||||||
|
Filtered filtered = GetSiteData(content.Ip, thread.ThreadId);
|
||||||
|
|
||||||
|
filtered.Port1 = content.Port1;
|
||||||
|
filtered.Port2 = content.Port2;
|
||||||
|
|
||||||
|
_queue.Enqueue(filtered);
|
||||||
|
}
|
||||||
|
|
||||||
|
thread.EventWaitHandle.Set();
|
||||||
|
}
|
||||||
|
|
||||||
|
private Filtered GetSiteData(Ip ip, int threadId)
|
||||||
|
{
|
||||||
|
StartProcess(ip, 80, threadId);
|
||||||
|
StartProcess(ip, 443, threadId);
|
||||||
|
|
||||||
string url1 = "";
|
string url1 = "";
|
||||||
string url2 = "";
|
string url2 = "";
|
||||||
string title1 = "";
|
|
||||||
string title2 = "";
|
|
||||||
string description1 = "";
|
|
||||||
string description2 = "";
|
|
||||||
bool robotsTxt1 = false;
|
bool robotsTxt1 = false;
|
||||||
bool robotsTxt2 = false;
|
bool robotsTxt2 = false;
|
||||||
string serverType1 = "";
|
string serverType1 = "";
|
||||||
@@ -112,7 +192,7 @@ public class ContentFilter
|
|||||||
|
|
||||||
for (int i = 0; i < ports.Length; i++)
|
for (int i = 0; i < ports.Length; i++)
|
||||||
{
|
{
|
||||||
using StreamReader streamReader = new($"{ports[i]}Header.txt");
|
using StreamReader streamReader = new($"{_basePath}/Backend/Scripts/{ports[i]}Header{threadId}.txt");
|
||||||
|
|
||||||
while (streamReader.Peek() != -1)
|
while (streamReader.Peek() != -1)
|
||||||
{
|
{
|
||||||
@@ -145,29 +225,8 @@ public class ContentFilter
|
|||||||
|
|
||||||
for (int i = 0; i < ports.Length; i++)
|
for (int i = 0; i < ports.Length; i++)
|
||||||
{
|
{
|
||||||
string? html;
|
if (ports[i] == 80 && !robotsTxt1) { robotsTxt1 = HttpClientHelper.HasRobotsTxt(url1, 80).GetAwaiter().GetResult(); }
|
||||||
|
if (ports[i] == 443 && !robotsTxt2) { robotsTxt2 = HttpClientHelper.HasRobotsTxt(url2, 443).GetAwaiter().GetResult(); }
|
||||||
if (ports[i] == 80)
|
|
||||||
{
|
|
||||||
if (string.IsNullOrWhiteSpace(url1)) continue;
|
|
||||||
|
|
||||||
html = Task.Run(() => HttpClientHelper.GetHtml(url1, 80).Result).Result;
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
if (string.IsNullOrWhiteSpace(url2)) continue;
|
|
||||||
|
|
||||||
html = Task.Run(() => HttpClientHelper.GetHtml(url2, 443).Result).Result;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (string.IsNullOrWhiteSpace(html)) continue;
|
|
||||||
|
|
||||||
if (ports[i] == 80 && string.IsNullOrWhiteSpace(title1)) { FilterHelper.GetTitle(html, out title1); }
|
|
||||||
if (ports[i] == 443 && string.IsNullOrWhiteSpace(title2)) { FilterHelper.GetTitle(html ,out title2); }
|
|
||||||
if (ports[i] == 80 && string.IsNullOrWhiteSpace(description1)) { FilterHelper.GetDescription(html, out description1); }
|
|
||||||
if (ports[i] == 443 && string.IsNullOrWhiteSpace(description2)) { FilterHelper.GetDescription(html, out description2); }
|
|
||||||
if (ports[i] == 80 && !robotsTxt1) { robotsTxt1 = Task.Run(() => HttpClientHelper.HasRobotsTxt(url1, 80).Result).Result; }
|
|
||||||
if (ports[i] == 443 && !robotsTxt2) { robotsTxt2 = Task.Run(() => HttpClientHelper.HasRobotsTxt(url2, 443).Result).Result; }
|
|
||||||
}
|
}
|
||||||
|
|
||||||
Filtered siteData = new()
|
Filtered siteData = new()
|
||||||
@@ -175,10 +234,6 @@ public class ContentFilter
|
|||||||
Ip = ip,
|
Ip = ip,
|
||||||
Url1 = url1,
|
Url1 = url1,
|
||||||
Url2 = url2,
|
Url2 = url2,
|
||||||
Title1 = title1,
|
|
||||||
Title2 = title2,
|
|
||||||
Description1 = description1,
|
|
||||||
Description2 = description2,
|
|
||||||
ServerType1 = serverType1,
|
ServerType1 = serverType1,
|
||||||
ServerType2 = serverType2,
|
ServerType2 = serverType2,
|
||||||
RobotsTXT1 = robotsTxt1,
|
RobotsTXT1 = robotsTxt1,
|
||||||
@@ -204,19 +259,18 @@ public class ContentFilter
|
|||||||
return siteData;
|
return siteData;
|
||||||
}
|
}
|
||||||
|
|
||||||
private static void StartProcess(string ip, int port)
|
private void StartProcess(Ip ip, int port, int threadId)
|
||||||
{
|
{
|
||||||
string fileName = port == 80 ? GetDomainPort80 : GetDomainPort443;
|
string fileName = port == 80 ? _getDomainPort80 : _getDomainPort443;
|
||||||
|
|
||||||
Process proc = new();
|
Process proc = new();
|
||||||
proc.StartInfo = new()
|
proc.StartInfo = new()
|
||||||
{
|
{
|
||||||
FileName = fileName,
|
FileName = "/bin/bash",
|
||||||
Arguments = $"{ip}",
|
Arguments = $"{fileName} {ip.Ip1}.{ip.Ip2}.{ip.Ip3}.{ip.Ip4} {_basePath}/Backend/Scripts/{port}Header{threadId}.txt",
|
||||||
UseShellExecute = false,
|
UseShellExecute = false,
|
||||||
RedirectStandardOutput = false,
|
RedirectStandardOutput = false,
|
||||||
RedirectStandardError = false,
|
RedirectStandardError = false,
|
||||||
RedirectStandardInput = false,
|
|
||||||
CreateNoWindow = true
|
CreateNoWindow = true
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|||||||
@@ -0,0 +1,195 @@
|
|||||||
|
using System.Collections.Concurrent;
|
||||||
|
using System.Diagnostics;
|
||||||
|
using Backend.Helper;
|
||||||
|
using Models.Model.Backend;
|
||||||
|
|
||||||
|
namespace Backend.Handler;
|
||||||
|
|
||||||
|
public class IpFilterHandler
|
||||||
|
{
|
||||||
|
private readonly ConcurrentQueue<Discarded> _discardedQueue;
|
||||||
|
private readonly ConcurrentQueue<UnfilteredQueueItem> _unfilteredQueue;
|
||||||
|
private readonly ConcurrentQueue<FilterQueueItem> _preFilteredQueue;
|
||||||
|
private bool _stop;
|
||||||
|
private bool _stopAutoscaledThreads;
|
||||||
|
private int _timeout;
|
||||||
|
|
||||||
|
public IpFilterHandler(ConcurrentQueue<Discarded> discardedQueue,
|
||||||
|
ConcurrentQueue<UnfilteredQueueItem> unfilteredQueue,
|
||||||
|
ConcurrentQueue<FilterQueueItem> filteredQueue)
|
||||||
|
{
|
||||||
|
_discardedQueue = discardedQueue;
|
||||||
|
_unfilteredQueue = unfilteredQueue;
|
||||||
|
_preFilteredQueue = filteredQueue;
|
||||||
|
|
||||||
|
_timeout = 16;
|
||||||
|
}
|
||||||
|
|
||||||
|
public List<WaitHandle[]> Start(int threadCount)
|
||||||
|
{
|
||||||
|
WaitHandle[] waitHandle = new WaitHandle[64];
|
||||||
|
|
||||||
|
int counter = 0;
|
||||||
|
|
||||||
|
List<WaitHandle[]> waitHandles = [];
|
||||||
|
|
||||||
|
for (int i = 0; i < threadCount; i++)
|
||||||
|
{
|
||||||
|
EventWaitHandle handle = new(false, EventResetMode.ManualReset);
|
||||||
|
|
||||||
|
if (counter < 64)
|
||||||
|
{
|
||||||
|
waitHandle[counter] = handle;
|
||||||
|
counter++;
|
||||||
|
|
||||||
|
Thread f = new (Filter!);
|
||||||
|
f.Start(handle);
|
||||||
|
|
||||||
|
Console.WriteLine($"Filter thread ({i}) started");
|
||||||
|
Thread.Sleep(128);
|
||||||
|
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
|
||||||
|
counter = 0;
|
||||||
|
|
||||||
|
waitHandles.Add(waitHandle);
|
||||||
|
|
||||||
|
waitHandle = new WaitHandle[64];
|
||||||
|
}
|
||||||
|
|
||||||
|
return waitHandles;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void AutoScaler()
|
||||||
|
{
|
||||||
|
int i = 0;
|
||||||
|
int j = 0;
|
||||||
|
|
||||||
|
while (!_stop)
|
||||||
|
{
|
||||||
|
if (_preFilteredQueue.Count >= 2000)
|
||||||
|
{
|
||||||
|
if (i == 10)
|
||||||
|
{
|
||||||
|
_stopAutoscaledThreads = false;
|
||||||
|
Console.WriteLine("Autoscaler started");
|
||||||
|
|
||||||
|
while (!_stopAutoscaledThreads)
|
||||||
|
{
|
||||||
|
if (_preFilteredQueue.Count <= 2000)
|
||||||
|
{
|
||||||
|
if (j == 1000)
|
||||||
|
{
|
||||||
|
_stopAutoscaledThreads = true;
|
||||||
|
}
|
||||||
|
|
||||||
|
j++;
|
||||||
|
|
||||||
|
Thread.Sleep(128);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
EventWaitHandle handle = new(false, EventResetMode.ManualReset);
|
||||||
|
Thread f = new (Filter_AutoScaler!);
|
||||||
|
f.Start(handle);
|
||||||
|
Thread.Sleep(16);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
i++;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
i = 0;
|
||||||
|
j = 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
Thread.Sleep(128);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private void Filter(object obj)
|
||||||
|
{
|
||||||
|
while (!_stop)
|
||||||
|
{
|
||||||
|
if (_preFilteredQueue.IsEmpty)
|
||||||
|
{
|
||||||
|
Thread.Sleep(_timeout);
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
|
||||||
|
_preFilteredQueue.TryDequeue(out FilterQueueItem item);
|
||||||
|
|
||||||
|
(int, int) ports = TcpClientHelper.CheckPort(item.Ip, 80, 443);
|
||||||
|
|
||||||
|
if (ports is { Item1: 0, Item2: 0 })
|
||||||
|
{
|
||||||
|
_discardedQueue.Enqueue(CreateDiscardedQueueItem(item.Ip, item.ResponseCode));
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
|
||||||
|
_unfilteredQueue.Enqueue(CreateUnfilteredQueueItem(item.Ip, ports));
|
||||||
|
}
|
||||||
|
|
||||||
|
((EventWaitHandle) obj).Set();
|
||||||
|
}
|
||||||
|
|
||||||
|
private void Filter_AutoScaler(object obj)
|
||||||
|
{
|
||||||
|
while (!_stopAutoscaledThreads)
|
||||||
|
{
|
||||||
|
if (_preFilteredQueue.IsEmpty)
|
||||||
|
{
|
||||||
|
Thread.Sleep(_timeout);
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
|
||||||
|
_preFilteredQueue.TryDequeue(out FilterQueueItem item);
|
||||||
|
|
||||||
|
(int, int) ports = TcpClientHelper.CheckPort(item.Ip, 80, 443);
|
||||||
|
|
||||||
|
if (ports is { Item1: 0, Item2: 0 })
|
||||||
|
{
|
||||||
|
_discardedQueue.Enqueue(CreateDiscardedQueueItem(item.Ip, item.ResponseCode));
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
|
||||||
|
_unfilteredQueue.Enqueue(CreateUnfilteredQueueItem(item.Ip, ports));
|
||||||
|
}
|
||||||
|
|
||||||
|
((EventWaitHandle) obj).Set();
|
||||||
|
}
|
||||||
|
|
||||||
|
private static Discarded CreateDiscardedQueueItem(Ip ip, int responseCode)
|
||||||
|
{
|
||||||
|
return new()
|
||||||
|
{
|
||||||
|
Ip = ip,
|
||||||
|
ResponseCode = responseCode
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
||||||
|
private static UnfilteredQueueItem CreateUnfilteredQueueItem(Ip ip, (int, int) ports)
|
||||||
|
{
|
||||||
|
Unfiltered unfiltered = new()
|
||||||
|
{
|
||||||
|
Ip = ip,
|
||||||
|
Port1 = ports.Item1,
|
||||||
|
Port2 = ports.Item2,
|
||||||
|
Filtered = false
|
||||||
|
};
|
||||||
|
|
||||||
|
return new()
|
||||||
|
{
|
||||||
|
Unfiltered = unfiltered,
|
||||||
|
Operations = Operations.Insert
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
||||||
|
public void Stop()
|
||||||
|
{
|
||||||
|
_stop = true;
|
||||||
|
}
|
||||||
|
}
|
||||||
+114
-53
@@ -1,5 +1,4 @@
|
|||||||
using System.Collections.Concurrent;
|
using System.Collections.Concurrent;
|
||||||
using System.Globalization;
|
|
||||||
using System.Net;
|
using System.Net;
|
||||||
using System.Net.NetworkInformation;
|
using System.Net.NetworkInformation;
|
||||||
using Backend.Helper;
|
using Backend.Helper;
|
||||||
@@ -18,19 +17,31 @@ public class ScanSettings
|
|||||||
|
|
||||||
public class IpScanner
|
public class IpScanner
|
||||||
{
|
{
|
||||||
private readonly ConcurrentQueue<QueueItem> _queue;
|
|
||||||
private readonly ConcurrentQueue<Discarded> _discardedQueue;
|
private readonly ConcurrentQueue<Discarded> _discardedQueue;
|
||||||
|
private readonly ConcurrentQueue<FilterQueueItem> _preFilteredQueue;
|
||||||
|
private readonly ConcurrentQueue<ScannerResumeObject> _resumeQueue;
|
||||||
private readonly DbHandler _dbHandler;
|
private readonly DbHandler _dbHandler;
|
||||||
private bool _stop;
|
private bool _stop;
|
||||||
|
private int _timeout;
|
||||||
|
|
||||||
public IpScanner(ConcurrentQueue<QueueItem> queue, DbHandler dbHandler, ConcurrentQueue<Discarded> discardedQueue)
|
public IpScanner(ConcurrentQueue<Discarded> discardedQueue,
|
||||||
|
ConcurrentQueue<ScannerResumeObject> resumeQueue, DbHandler dbHandler,
|
||||||
|
ConcurrentQueue<FilterQueueItem> preFilteredQueue)
|
||||||
{
|
{
|
||||||
_queue = queue;
|
|
||||||
_dbHandler = dbHandler;
|
_dbHandler = dbHandler;
|
||||||
|
_preFilteredQueue = preFilteredQueue;
|
||||||
_discardedQueue = discardedQueue;
|
_discardedQueue = discardedQueue;
|
||||||
|
_resumeQueue = resumeQueue;
|
||||||
|
|
||||||
|
SetTimeout(16);
|
||||||
}
|
}
|
||||||
|
|
||||||
public WaitHandle[] Start(int threads)
|
public void SetTimeout(int milliseconds)
|
||||||
|
{
|
||||||
|
_timeout = milliseconds;
|
||||||
|
}
|
||||||
|
|
||||||
|
public List<WaitHandle[]> Start(int threads)
|
||||||
{
|
{
|
||||||
int threadsAmount = 0;
|
int threadsAmount = 0;
|
||||||
if (threads % 2 == 0)
|
if (threads % 2 == 0)
|
||||||
@@ -38,7 +49,11 @@ public class IpScanner
|
|||||||
threadsAmount = 256 / threads;
|
threadsAmount = 256 / threads;
|
||||||
}
|
}
|
||||||
|
|
||||||
WaitHandle[] waitHandles = new WaitHandle[threads];
|
WaitHandle[] waitHandle = new WaitHandle[64];
|
||||||
|
|
||||||
|
int counter = 0;
|
||||||
|
|
||||||
|
List<WaitHandle[]> waitHandles = [];
|
||||||
|
|
||||||
for (int i = 0; i < threads; i++)
|
for (int i = 0; i < threads; i++)
|
||||||
{
|
{
|
||||||
@@ -52,13 +67,25 @@ public class IpScanner
|
|||||||
Handle = handle
|
Handle = handle
|
||||||
};
|
};
|
||||||
|
|
||||||
waitHandles[i] = handle;
|
if (counter < 64)
|
||||||
|
{
|
||||||
|
waitHandle[counter] = handle;
|
||||||
|
counter++;
|
||||||
|
|
||||||
Thread f = new (Scan!);
|
Thread f = new (Scan!);
|
||||||
f.Start(scanSettings);
|
f.Start(scanSettings);
|
||||||
|
|
||||||
Console.WriteLine($"Scanner thread ({i}) started");
|
Console.WriteLine($"Scanner thread ({i}) started");
|
||||||
Thread.Sleep(1000);
|
Thread.Sleep(128);
|
||||||
|
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
|
||||||
|
counter = 0;
|
||||||
|
|
||||||
|
waitHandles.Add(waitHandle);
|
||||||
|
|
||||||
|
waitHandle = new WaitHandle[64];
|
||||||
}
|
}
|
||||||
|
|
||||||
return waitHandles;
|
return waitHandles;
|
||||||
@@ -81,15 +108,26 @@ public class IpScanner
|
|||||||
|
|
||||||
if (resumeNow is not null)
|
if (resumeNow is not null)
|
||||||
{
|
{
|
||||||
|
if (resumeNow.Completed)
|
||||||
|
{
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
scanSettings.Start = resumeNow.FirstByte;
|
scanSettings.Start = resumeNow.FirstByte;
|
||||||
scanSettings.End = resumeNow.EndRange;
|
scanSettings.End = resumeNow.EndRange;
|
||||||
secondByte = resumeNow.SecondByte;
|
secondByte = resumeNow.SecondByte;
|
||||||
thirdByte = resumeNow.ThirdByte;
|
thirdByte = resumeNow.ThirdByte;
|
||||||
fourthByte = resumeNow.FourthByte;
|
fourthByte = resumeNow.FourthByte;
|
||||||
}
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
CreateResumeObject(scanSettings.ThreadNumber, scanSettings.Start, scanSettings.End, scanSettings.Start, secondByte, thirdByte, fourthByte, false, false, Operations.Insert);
|
||||||
|
}
|
||||||
|
|
||||||
|
// Empty buffer so we use the lowest abstracted ping.Send() method.
|
||||||
byte[] buf = [];
|
byte[] buf = [];
|
||||||
using Ping ping = new();
|
using Ping ping = new();
|
||||||
|
int x = 0;
|
||||||
|
|
||||||
for (int i = scanSettings.Start; i < scanSettings.End; i++)
|
for (int i = scanSettings.Start; i < scanSettings.End; i++)
|
||||||
{
|
{
|
||||||
@@ -110,19 +148,37 @@ public class IpScanner
|
|||||||
|
|
||||||
if (_discardedQueue.Count >= 2000)
|
if (_discardedQueue.Count >= 2000)
|
||||||
{
|
{
|
||||||
Console.WriteLine("loooooooooooooooooooooooooooool");
|
Thread.Sleep(1000);
|
||||||
Thread.Sleep(500);
|
}
|
||||||
|
|
||||||
|
if (_preFilteredQueue.Count >= 2000)
|
||||||
|
{
|
||||||
|
Thread.Sleep(1000);
|
||||||
}
|
}
|
||||||
|
|
||||||
for (int l = fourthByte; l < 256; l++)
|
for (int l = fourthByte; l < 256; l++)
|
||||||
{
|
{
|
||||||
|
if (x == 75_000)
|
||||||
|
{
|
||||||
|
CreateResumeObject(scanSettings.ThreadNumber, scanSettings.Start, scanSettings.End, i, j, k, l, false, false, Operations.Update);
|
||||||
|
x = 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
x++;
|
||||||
|
|
||||||
if (_stop)
|
if (_stop)
|
||||||
{
|
{
|
||||||
resumeObject.FourthByte = l;
|
resumeObject.FourthByte = l;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
string ip = $"{i}.{j}.{k}.{l}";
|
Ip ip = new()
|
||||||
|
{
|
||||||
|
Ip1 = i,
|
||||||
|
Ip2 = j,
|
||||||
|
Ip3 = k,
|
||||||
|
Ip4 = l
|
||||||
|
};
|
||||||
|
|
||||||
IPStatus responseCode = IPStatus.Unknown;
|
IPStatus responseCode = IPStatus.Unknown;
|
||||||
|
|
||||||
@@ -130,15 +186,16 @@ public class IpScanner
|
|||||||
{
|
{
|
||||||
// Sometimes, if the pinger gets a Destination Unreachable Communication administratively prohibited response, the pinger will throw an exception.
|
// Sometimes, if the pinger gets a Destination Unreachable Communication administratively prohibited response, the pinger will throw an exception.
|
||||||
// https://en.wikipedia.org/wiki/Internet_Control_Message_Protocol?useskin=vector#Control_messages
|
// https://en.wikipedia.org/wiki/Internet_Control_Message_Protocol?useskin=vector#Control_messages
|
||||||
_ = IPAddress.TryParse(ip, out IPAddress? address);
|
_ = IPAddress.TryParse(ip.ToString(), out IPAddress? address);
|
||||||
if (address is not null)
|
if (address is not null)
|
||||||
{
|
{
|
||||||
responseCode = ping.Send(address, 512, buf, null).Status;
|
responseCode = ping.Send(address, _timeout, buf, null).Status;
|
||||||
|
//Thread.Sleep(4);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
catch (Exception e)
|
catch
|
||||||
{
|
{
|
||||||
Console.WriteLine(e);
|
//
|
||||||
}
|
}
|
||||||
|
|
||||||
if (responseCode != IPStatus.Success)
|
if (responseCode != IPStatus.Success)
|
||||||
@@ -147,15 +204,7 @@ public class IpScanner
|
|||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
|
||||||
(int, int) ports = TcpClientHelper.CheckPort(ip, 80, 443);
|
_preFilteredQueue.Enqueue(CreateUnfilteredQueueItem(ip, (int)responseCode));
|
||||||
|
|
||||||
if (ports is { Item1: 0, Item2: 0 })
|
|
||||||
{
|
|
||||||
_discardedQueue.Enqueue(CreateDiscardedQueueItem(ip, (int)responseCode));
|
|
||||||
continue;
|
|
||||||
}
|
|
||||||
|
|
||||||
_queue.Enqueue(CreateUnfilteredQueueItem(ip, (int)responseCode, ports));
|
|
||||||
}
|
}
|
||||||
|
|
||||||
if (_stop)
|
if (_stop)
|
||||||
@@ -177,49 +226,61 @@ public class IpScanner
|
|||||||
resumeObject.FirstByte = i;
|
resumeObject.FirstByte = i;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
//Console.WriteLine($"Thread ({scanSettings.ThreadNumber}) is at index ({i}) out of ({scanSettings.End}). Remaining ({scanSettings.End - i})");
|
|
||||||
|
Console.WriteLine($"Thread ({scanSettings.ThreadNumber}) is at index ({i}) out of ({scanSettings.End}). Remaining ({scanSettings.End - i})");
|
||||||
}
|
}
|
||||||
|
|
||||||
QueueItem resume = new()
|
if (_stop)
|
||||||
{
|
{
|
||||||
ResumeObject = resumeObject,
|
resumeObject.Paused = true;
|
||||||
Operations = Operations.Insert
|
}
|
||||||
};
|
else
|
||||||
|
{
|
||||||
|
resumeObject.Completed = true;
|
||||||
|
}
|
||||||
|
|
||||||
_queue.Enqueue(resume);
|
resumeObject.Operation = Operations.Update;
|
||||||
|
|
||||||
|
_resumeQueue.Enqueue(resumeObject);
|
||||||
|
|
||||||
scanSettings.Handle!.Set();
|
scanSettings.Handle!.Set();
|
||||||
}
|
}
|
||||||
|
|
||||||
private static Discarded CreateDiscardedQueueItem(string ip, int responseCode)
|
private void CreateResumeObject(int threadNumber, int startRange, int endRange, int firstByte, int secondByte, int thirdByte, int fourthByte, bool paused, bool completed, Operations operation)
|
||||||
{
|
{
|
||||||
Discarded discarded = new()
|
ScannerResumeObject resumeObject = new();
|
||||||
|
resumeObject.ThreadNumber = threadNumber;
|
||||||
|
resumeObject.StartRange = startRange;
|
||||||
|
resumeObject.EndRange = endRange;
|
||||||
|
resumeObject.FirstByte = firstByte;
|
||||||
|
resumeObject.SecondByte = secondByte;
|
||||||
|
resumeObject.ThirdByte = thirdByte;
|
||||||
|
resumeObject.FourthByte = fourthByte;
|
||||||
|
resumeObject.Paused = paused;
|
||||||
|
resumeObject.Completed = completed;
|
||||||
|
resumeObject.Operation = operation;
|
||||||
|
|
||||||
|
_resumeQueue.Enqueue(resumeObject);
|
||||||
|
}
|
||||||
|
|
||||||
|
private static Discarded CreateDiscardedQueueItem(Ip ip, int responseCode)
|
||||||
|
{
|
||||||
|
return new()
|
||||||
|
{
|
||||||
|
Ip = ip,
|
||||||
|
ResponseCode = responseCode
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
||||||
|
private static FilterQueueItem CreateUnfilteredQueueItem(Ip ip, int responseCode)
|
||||||
|
{
|
||||||
|
FilterQueueItem filterQueueItem = new()
|
||||||
{
|
{
|
||||||
Ip = ip,
|
Ip = ip,
|
||||||
ResponseCode = responseCode
|
ResponseCode = responseCode
|
||||||
};
|
};
|
||||||
|
|
||||||
return discarded;
|
return filterQueueItem;
|
||||||
}
|
|
||||||
|
|
||||||
private static QueueItem CreateUnfilteredQueueItem(string ip, int responseCode, (int, int) ports)
|
|
||||||
{
|
|
||||||
Unfiltered unfiltered = new()
|
|
||||||
{
|
|
||||||
Ip = ip,
|
|
||||||
ResponseCode = responseCode,
|
|
||||||
Port1 = ports.Item1,
|
|
||||||
Port2 = ports.Item2,
|
|
||||||
Filtered = 0
|
|
||||||
};
|
|
||||||
|
|
||||||
QueueItem superUnfilteredObject = new()
|
|
||||||
{
|
|
||||||
Unfiltered = unfiltered,
|
|
||||||
Operations = Operations.Insert
|
|
||||||
};
|
|
||||||
|
|
||||||
return superUnfilteredObject;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public void Stop()
|
public void Stop()
|
||||||
|
|||||||
@@ -10,88 +10,139 @@ public class ThreadHandler
|
|||||||
private readonly Communication _communication;
|
private readonly Communication _communication;
|
||||||
private readonly IpScanner _ipScanner;
|
private readonly IpScanner _ipScanner;
|
||||||
private readonly ContentFilter _contentFilter;
|
private readonly ContentFilter _contentFilter;
|
||||||
|
private readonly IpFilterHandler _ipFilterHandler;
|
||||||
|
|
||||||
private bool _communicationStopped;
|
private bool _communicationStopped;
|
||||||
private bool _ipScannerStopped;
|
private bool _ipScannerStopped;
|
||||||
private bool _contentFilterStopped;
|
private bool _contentFilterStopped;
|
||||||
private bool _stopSignal;
|
private bool _ipFilterStopped;
|
||||||
|
|
||||||
public ThreadHandler()
|
public ThreadHandler(string path)
|
||||||
{
|
{
|
||||||
ConcurrentQueue<QueueItem> contentQueue = new();
|
ConcurrentQueue<Filtered> filteredQueue = new();
|
||||||
ConcurrentQueue<Discarded> discardedQueue = new();
|
ConcurrentQueue<Discarded> discardedQueue = new();
|
||||||
|
ConcurrentQueue<UnfilteredQueueItem> unfilteredQueue = new();
|
||||||
|
ConcurrentQueue<ScannerResumeObject> scannerResumeQueue = new();
|
||||||
|
ConcurrentQueue<FilterQueueItem> preFilteredQueue = new();
|
||||||
|
|
||||||
_dbHandler = new(contentQueue, discardedQueue);
|
_dbHandler = new(filteredQueue, discardedQueue, unfilteredQueue, scannerResumeQueue, path);
|
||||||
_communication = new(_dbHandler, this);
|
_ipScanner = new(discardedQueue, scannerResumeQueue, _dbHandler, preFilteredQueue);
|
||||||
_ipScanner = new(contentQueue, _dbHandler, discardedQueue);
|
_contentFilter = new(filteredQueue, unfilteredQueue, _dbHandler, path);
|
||||||
_contentFilter = new(contentQueue, _dbHandler);
|
_communication = new(_dbHandler, this, _ipScanner, _contentFilter, path);
|
||||||
|
_ipFilterHandler = new(discardedQueue, unfilteredQueue, preFilteredQueue);
|
||||||
}
|
}
|
||||||
|
|
||||||
public void Start()
|
public void Start()
|
||||||
{
|
{
|
||||||
Thread scanner = new(StartScanner);
|
Thread scanner = new(StartScanner);
|
||||||
Thread indexer = new(StartIndexer);
|
Thread ipFilter = new(StartIpFilter);
|
||||||
|
Thread indexer = new(StartContentFilter);
|
||||||
Thread database = new(StartDbHandler);
|
Thread database = new(StartDbHandler);
|
||||||
Thread discarded = new(StartDiscardedDbHandler);
|
Thread discarded = new(StartDiscardedDbHandler);
|
||||||
|
Thread filtered = new(StartFilteredDbHandler);
|
||||||
|
Thread resume = new(StartResumeDbHandler);
|
||||||
Thread communication = new(StartCommunicationHandler);
|
Thread communication = new(StartCommunicationHandler);
|
||||||
|
Thread ipFilterAutoScaler = new(StartIpFilterAutoScaler);
|
||||||
|
Thread contentFilterThread = new(StartContentFilterThread);
|
||||||
|
|
||||||
|
ipFilter.Start();
|
||||||
scanner.Start();
|
scanner.Start();
|
||||||
|
ipFilterAutoScaler.Start();
|
||||||
indexer.Start();
|
indexer.Start();
|
||||||
database.Start();
|
database.Start();
|
||||||
discarded.Start();
|
discarded.Start();
|
||||||
|
filtered.Start();
|
||||||
|
resume.Start();
|
||||||
communication.Start();
|
communication.Start();
|
||||||
|
contentFilterThread.Start();
|
||||||
|
|
||||||
scanner.Join();
|
scanner.Join();
|
||||||
|
ipFilter.Join();
|
||||||
indexer.Join();
|
indexer.Join();
|
||||||
database.Join();
|
database.Join();
|
||||||
discarded.Join();
|
discarded.Join();
|
||||||
|
filtered.Join();
|
||||||
|
resume.Join();
|
||||||
communication.Join();
|
communication.Join();
|
||||||
}
|
ipFilterAutoScaler.Join();
|
||||||
|
contentFilterThread.Join();
|
||||||
public static void ManualGc()
|
|
||||||
{
|
|
||||||
GC.Collect();
|
|
||||||
GC.WaitForPendingFinalizers();
|
|
||||||
GC.Collect();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
private void StartScanner()
|
private void StartScanner()
|
||||||
{
|
{
|
||||||
Thread.Sleep(10000); // Let the database handler instantiate and warm up first.
|
Thread.Sleep(15000); // Let the database handler instantiate and warm up first.
|
||||||
|
|
||||||
WaitHandle[] wait = _ipScanner.Start(4);
|
List<WaitHandle[]> wait = _ipScanner.Start(256);
|
||||||
|
|
||||||
WaitHandle.WaitAll(wait);
|
for (int i = 0; i < wait.Count; i++)
|
||||||
|
{
|
||||||
|
WaitHandle.WaitAll(wait[i]);
|
||||||
|
}
|
||||||
|
|
||||||
Console.WriteLine("Scanner finished");
|
Console.WriteLine("Scanner finished");
|
||||||
|
|
||||||
_ipScannerStopped = true;
|
_ipScannerStopped = true;
|
||||||
}
|
}
|
||||||
|
|
||||||
private void StartIndexer()
|
private void StartContentFilter()
|
||||||
{
|
|
||||||
while (!_stopSignal)
|
|
||||||
{
|
{
|
||||||
|
Thread.Sleep(5000);
|
||||||
|
|
||||||
WaitHandle[] wait = _contentFilter.Start();
|
WaitHandle[] wait = _contentFilter.Start();
|
||||||
|
|
||||||
WaitHandle.WaitAll(wait);
|
WaitHandle.WaitAll(wait);
|
||||||
|
|
||||||
Thread.Sleep(300000); // 5 minutes
|
Console.WriteLine("Content filter finished");
|
||||||
}
|
|
||||||
|
|
||||||
Console.WriteLine("Indexer finished");
|
|
||||||
|
|
||||||
_contentFilterStopped = true;
|
_contentFilterStopped = true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private void StartContentFilterThread()
|
||||||
|
{
|
||||||
|
WaitHandle[] wait = _contentFilter.StartFilterThread(4);
|
||||||
|
|
||||||
|
WaitHandle.WaitAll(wait);
|
||||||
|
}
|
||||||
|
|
||||||
|
private void StartIpFilterAutoScaler()
|
||||||
|
{
|
||||||
|
_ipFilterHandler.AutoScaler();
|
||||||
|
}
|
||||||
|
|
||||||
|
private void StartIpFilter()
|
||||||
|
{
|
||||||
|
Thread.Sleep(1000);
|
||||||
|
|
||||||
|
List<WaitHandle[]> wait = _ipFilterHandler.Start(256);
|
||||||
|
|
||||||
|
for (int i = 0; i < wait.Count; i++)
|
||||||
|
{
|
||||||
|
WaitHandle.WaitAll(wait[i]);
|
||||||
|
}
|
||||||
|
|
||||||
|
Console.WriteLine("Ip filter finished");
|
||||||
|
|
||||||
|
_ipFilterStopped = true;
|
||||||
|
}
|
||||||
|
|
||||||
private void StartDbHandler()
|
private void StartDbHandler()
|
||||||
{
|
{
|
||||||
_dbHandler.StartContent();
|
_dbHandler.UnfilteredDbHandler();
|
||||||
|
}
|
||||||
|
|
||||||
|
private void StartFilteredDbHandler()
|
||||||
|
{
|
||||||
|
_dbHandler.FilteredDbHandler();
|
||||||
|
}
|
||||||
|
|
||||||
|
private void StartResumeDbHandler()
|
||||||
|
{
|
||||||
|
_dbHandler.ResumeDbHandler();
|
||||||
}
|
}
|
||||||
|
|
||||||
private void StartDiscardedDbHandler()
|
private void StartDiscardedDbHandler()
|
||||||
{
|
{
|
||||||
WaitHandle[] wait = _dbHandler.Start(2);
|
WaitHandle[] wait = _dbHandler.Start(4);
|
||||||
|
|
||||||
WaitHandle.WaitAll(wait);
|
WaitHandle.WaitAll(wait);
|
||||||
|
|
||||||
@@ -113,7 +164,6 @@ public class ThreadHandler
|
|||||||
|
|
||||||
private void Stop()
|
private void Stop()
|
||||||
{
|
{
|
||||||
_stopSignal = true;
|
|
||||||
_ipScanner.Stop();
|
_ipScanner.Stop();
|
||||||
_contentFilter.Stop();
|
_contentFilter.Stop();
|
||||||
|
|
||||||
@@ -121,7 +171,7 @@ public class ThreadHandler
|
|||||||
|
|
||||||
while (stopping)
|
while (stopping)
|
||||||
{
|
{
|
||||||
if (_communicationStopped && _ipScannerStopped && _contentFilterStopped)
|
if (_ipScannerStopped && _contentFilterStopped && _ipFilterStopped)
|
||||||
{
|
{
|
||||||
_dbHandler.Stop();
|
_dbHandler.Stop();
|
||||||
stopping = false;
|
stopping = false;
|
||||||
|
|||||||
@@ -4,24 +4,24 @@ namespace Backend.Helper;
|
|||||||
|
|
||||||
public static class FilesystemHelper
|
public static class FilesystemHelper
|
||||||
{
|
{
|
||||||
public static DatabaseSizes GetDatabaseSizes()
|
public static DatabaseSizes GetDatabaseSizes(string basePath)
|
||||||
{
|
{
|
||||||
DatabaseSizes databaseSizes = new();
|
DatabaseSizes databaseSizes = new();
|
||||||
|
|
||||||
FileInfo fileInfo = new("../../../../Models/mydb.db");
|
FileInfo fileInfo = new($"{basePath}/Models/mydb.db");
|
||||||
databaseSizes.MyDbSize = fileInfo.Length.ToSize(SizeUnits.KB);
|
databaseSizes.MyDbSize = fileInfo.Length.ToSize(SizeUnits.KB);
|
||||||
|
|
||||||
databaseSizes.DiscardedDbSize = GetDiscardedDbSizes().ToSize(SizeUnits.KB);
|
databaseSizes.DiscardedDbSize = GetDiscardedDbSizes(basePath).ToSize(SizeUnits.KB);
|
||||||
|
|
||||||
fileInfo = new("../../../../Models/Filtered.db");
|
fileInfo = new($"{basePath}/Models/Filtered.db");
|
||||||
databaseSizes.FilteredDbSize = fileInfo.Length.ToSize(SizeUnits.KB);
|
databaseSizes.FilteredDbSize = fileInfo.Length.ToSize(SizeUnits.KB);
|
||||||
|
|
||||||
return databaseSizes;
|
return databaseSizes;
|
||||||
}
|
}
|
||||||
|
|
||||||
private static long GetDiscardedDbSizes()
|
private static long GetDiscardedDbSizes(string basePath)
|
||||||
{
|
{
|
||||||
const string folder = "../../../../Models";
|
string folder = $"{basePath}/Models";
|
||||||
string[] files = Directory.GetFiles(folder, "*.db");
|
string[] files = Directory.GetFiles(folder, "*.db");
|
||||||
|
|
||||||
long size = 0;
|
long size = 0;
|
||||||
|
|||||||
@@ -1,39 +1,98 @@
|
|||||||
|
using System.Text.RegularExpressions;
|
||||||
|
using HtmlAgilityPack;
|
||||||
|
|
||||||
namespace Backend.Helper;
|
namespace Backend.Helper;
|
||||||
|
|
||||||
public static class HttpClientHelper
|
public static partial class HttpClientHelper
|
||||||
{
|
{
|
||||||
public static async Task<string> GetHtml(string url, int port)
|
// Reddit, for example, will block the GET request if you don't have a user agent.
|
||||||
|
private const string UserAgentHeader = "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36";
|
||||||
|
private const string TitlePattern = "<title>(.*)</title>";
|
||||||
|
private const string DescriptionPattern = "<meta name=\"description\" content=\"(.*?)\"";
|
||||||
|
private const string StartHeadTag = "<head>";
|
||||||
|
private const string EndHeadTag = "</head>";
|
||||||
|
|
||||||
|
public static async Task<(string, string)> GetTitleAndDescription(string url, int port)
|
||||||
{
|
{
|
||||||
using HttpClient client = new();
|
using HttpClient client = new();
|
||||||
|
|
||||||
if (port == 80)
|
if (port == 80)
|
||||||
|
{
|
||||||
|
try
|
||||||
{
|
{
|
||||||
client.BaseAddress = new($"http://{url}");
|
client.BaseAddress = new($"http://{url}");
|
||||||
}
|
}
|
||||||
|
catch
|
||||||
|
{
|
||||||
|
//
|
||||||
|
}
|
||||||
|
}
|
||||||
else
|
else
|
||||||
|
{
|
||||||
|
try
|
||||||
{
|
{
|
||||||
client.BaseAddress = new($"https://{url}");
|
client.BaseAddress = new($"https://{url}");
|
||||||
}
|
}
|
||||||
|
catch
|
||||||
|
{
|
||||||
|
//
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
client.DefaultRequestHeaders.Accept.Clear();
|
client.DefaultRequestHeaders.Accept.Clear();
|
||||||
|
client.DefaultRequestHeaders.UserAgent.ParseAdd(UserAgentHeader);
|
||||||
|
client.Timeout = TimeSpan.FromSeconds(30);
|
||||||
|
|
||||||
HttpResponseMessage? response = null;
|
HttpResponseMessage? response;
|
||||||
|
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
response = await client.GetAsync("/");
|
response = await client.GetAsync("/");
|
||||||
}
|
}
|
||||||
catch (Exception e)
|
catch
|
||||||
{
|
{
|
||||||
Console.WriteLine(e);
|
return ("", "");
|
||||||
}
|
}
|
||||||
|
|
||||||
if (response is null || !response.IsSuccessStatusCode)
|
if (!response.IsSuccessStatusCode)
|
||||||
{
|
{
|
||||||
return "";
|
return ("", "");
|
||||||
}
|
}
|
||||||
|
|
||||||
return await response.Content.ReadAsStringAsync();
|
string html = await response.Content.ReadAsStringAsync();
|
||||||
|
|
||||||
|
int firstIndex = 0;
|
||||||
|
int lastIndex = 0;
|
||||||
|
|
||||||
|
if (html.Contains(StartHeadTag) && html.Contains(EndHeadTag))
|
||||||
|
{
|
||||||
|
firstIndex = html.IndexOf(StartHeadTag, StringComparison.Ordinal);
|
||||||
|
lastIndex = html.IndexOf(EndHeadTag, StringComparison.Ordinal);
|
||||||
|
}
|
||||||
|
|
||||||
|
string head = html.AsSpan().Slice(firstIndex, lastIndex).ToString();
|
||||||
|
html = "";
|
||||||
|
|
||||||
|
string title = "";
|
||||||
|
string description = "";
|
||||||
|
|
||||||
|
Regex titleRegex = TitleRegEx();
|
||||||
|
Match titleMatch = titleRegex.Match(head);
|
||||||
|
|
||||||
|
if (titleMatch.Success)
|
||||||
|
{
|
||||||
|
title = titleMatch.Groups[1].Value;
|
||||||
|
}
|
||||||
|
|
||||||
|
Regex descriptionRegex = DexcriptionRegEx();
|
||||||
|
Match descriptionMatch = descriptionRegex.Match(head);
|
||||||
|
|
||||||
|
if (descriptionMatch.Success)
|
||||||
|
{
|
||||||
|
description = descriptionMatch.Groups[1].Value;
|
||||||
|
}
|
||||||
|
|
||||||
|
return (title, description);
|
||||||
}
|
}
|
||||||
|
|
||||||
public static async Task<bool> HasRobotsTxt(string url, int port)
|
public static async Task<bool> HasRobotsTxt(string url, int port)
|
||||||
@@ -41,27 +100,48 @@ public static class HttpClientHelper
|
|||||||
using HttpClient client = new();
|
using HttpClient client = new();
|
||||||
|
|
||||||
if (port == 80)
|
if (port == 80)
|
||||||
|
{
|
||||||
|
try
|
||||||
{
|
{
|
||||||
client.BaseAddress = new($"http://{url}");
|
client.BaseAddress = new($"http://{url}");
|
||||||
}
|
}
|
||||||
|
catch
|
||||||
|
{
|
||||||
|
//
|
||||||
|
}
|
||||||
|
}
|
||||||
else
|
else
|
||||||
|
{
|
||||||
|
try
|
||||||
{
|
{
|
||||||
client.BaseAddress = new($"https://{url}");
|
client.BaseAddress = new($"https://{url}");
|
||||||
}
|
}
|
||||||
|
catch
|
||||||
|
{
|
||||||
|
//
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
client.DefaultRequestHeaders.Accept.Clear();
|
client.DefaultRequestHeaders.Accept.Clear();
|
||||||
|
client.DefaultRequestHeaders.UserAgent.ParseAdd(UserAgentHeader);
|
||||||
|
client.Timeout = TimeSpan.FromSeconds(30);
|
||||||
|
|
||||||
HttpResponseMessage? response = null;
|
HttpResponseMessage? response = null;
|
||||||
|
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
response = await client.GetAsync("/robots.txt");
|
response = await client.SendAsync(new(HttpMethod.Head, "/robots.txt"));
|
||||||
}
|
}
|
||||||
catch (Exception e)
|
catch
|
||||||
{
|
{
|
||||||
Console.WriteLine(e);
|
//
|
||||||
}
|
}
|
||||||
|
|
||||||
return response is not null && response.IsSuccessStatusCode;
|
return response is not null && response.IsSuccessStatusCode;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
[GeneratedRegex(TitlePattern)]
|
||||||
|
private static partial Regex TitleRegEx();
|
||||||
|
[GeneratedRegex(DescriptionPattern)]
|
||||||
|
private static partial Regex DexcriptionRegEx();
|
||||||
}
|
}
|
||||||
@@ -0,0 +1,9 @@
|
|||||||
|
namespace Backend.Helper;
|
||||||
|
|
||||||
|
public static class ProjectPathHelper
|
||||||
|
{
|
||||||
|
public static string GetProjectPath()
|
||||||
|
{
|
||||||
|
return new DirectoryInfo(AppDomain.CurrentDomain.BaseDirectory).Parent!.Parent!.Parent!.Parent!.FullName;
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -1,20 +1,23 @@
|
|||||||
using System.Net;
|
|
||||||
using System.Net.Sockets;
|
using System.Net.Sockets;
|
||||||
|
using Models.Model.Backend;
|
||||||
|
|
||||||
namespace Backend.Helper;
|
namespace Backend.Helper;
|
||||||
|
|
||||||
public static class TcpClientHelper
|
public static class TcpClientHelper
|
||||||
{
|
{
|
||||||
public static (int, int) CheckPort(string ip, params int[] ports)
|
public static (int, int) CheckPort(Ip ip, params int[] ports)
|
||||||
{
|
{
|
||||||
// This would be way cleaner if the TcpClient didn't throw an exception if the destination couldn't be reached,
|
// This would be way cleaner if the TcpClient didn't throw an exception if the destination couldn't be reached,
|
||||||
// and it would just return a result.error, for example.
|
// and it would just return a result.error, for example.
|
||||||
for (int i = 0; i < ports.Length; i++) {
|
for (int i = 0; i < ports.Length; i++) {
|
||||||
|
using Socket socket = new(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp);
|
||||||
|
socket.SendTimeout = 250;
|
||||||
|
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
using TcpClient client = new();
|
socket.Connect(ip.ToString(), ports[i]);
|
||||||
client.Connect(ip, ports[i]);
|
socket.Close();
|
||||||
// If the connection is successful, update the result array with the port number
|
// If the connection is not successful, update the ports array with 0.
|
||||||
}
|
}
|
||||||
catch
|
catch
|
||||||
{
|
{
|
||||||
|
|||||||
+2
-1
@@ -1,8 +1,9 @@
|
|||||||
using Backend.Handler;
|
using Backend.Handler;
|
||||||
|
using Backend.Helper;
|
||||||
|
|
||||||
Console.WriteLine("Program started");
|
Console.WriteLine("Program started");
|
||||||
|
|
||||||
ThreadHandler threadHandler = new();
|
ThreadHandler threadHandler = new(ProjectPathHelper.GetProjectPath());
|
||||||
threadHandler.Start();
|
threadHandler.Start();
|
||||||
|
|
||||||
Console.WriteLine("Done");
|
Console.WriteLine("Done");
|
||||||
@@ -0,0 +1,14 @@
|
|||||||
|
% Total % Received % Xferd Average Speed Time Time Time Current
|
||||||
|
Dload Upload Total Spent Left Speed
|
||||||
|
␍ 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0* Trying 1.0.0.95:443...
|
||||||
|
* Connected to 1.0.0.95 (1.0.0.95) port 443
|
||||||
|
* ALPN: curl offers h2,http/1.1
|
||||||
|
} [5 bytes data]
|
||||||
|
* TLSv1.3 (OUT), TLS handshake, Client hello (1):
|
||||||
|
} [512 bytes data]
|
||||||
|
* TLSv1.3 (IN), TLS alert, handshake failure (552):
|
||||||
|
{ [2 bytes data]
|
||||||
|
* OpenSSL/3.2.2: error:0A000410:SSL routines::ssl/tls alert handshake failure
|
||||||
|
␍ 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0
|
||||||
|
* closing connection #0
|
||||||
|
curl: (35) OpenSSL/3.2.2: error:0A000410:SSL routines::ssl/tls alert handshake failure
|
||||||
@@ -0,0 +1,76 @@
|
|||||||
|
% Total % Received % Xferd Average Speed Time Time Time Current
|
||||||
|
Dload Upload Total Spent Left Speed
|
||||||
|
0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0* Trying 192.0.72.3:443...
|
||||||
|
* Connected to 192.0.72.3 (192.0.72.3) port 443
|
||||||
|
* ALPN: curl offers h2,http/1.1
|
||||||
|
} [5 bytes data]
|
||||||
|
* TLSv1.3 (OUT), TLS handshake, Client hello (1):
|
||||||
|
} [512 bytes data]
|
||||||
|
* TLSv1.3 (IN), TLS handshake, Server hello (2):
|
||||||
|
{ [122 bytes data]
|
||||||
|
* TLSv1.3 (IN), TLS handshake, Encrypted Extensions (8):
|
||||||
|
{ [15 bytes data]
|
||||||
|
* TLSv1.3 (IN), TLS handshake, Certificate (11):
|
||||||
|
{ [2063 bytes data]
|
||||||
|
* TLSv1.3 (IN), TLS handshake, CERT verify (15):
|
||||||
|
{ [79 bytes data]
|
||||||
|
* TLSv1.3 (IN), TLS handshake, Finished (20):
|
||||||
|
{ [52 bytes data]
|
||||||
|
* TLSv1.3 (OUT), TLS change cipher, Change cipher spec (1):
|
||||||
|
} [1 bytes data]
|
||||||
|
* TLSv1.3 (OUT), TLS handshake, Finished (20):
|
||||||
|
} [52 bytes data]
|
||||||
|
* SSL connection using TLSv1.3 / TLS_AES_256_GCM_SHA384 / x25519 / id-ecPublicKey
|
||||||
|
* ALPN: server accepted h2
|
||||||
|
* Server certificate:
|
||||||
|
* subject: CN=files.wordpress.com
|
||||||
|
* start date: Dec 16 09:49:37 2024 GMT
|
||||||
|
* expire date: Mar 16 09:49:36 2025 GMT
|
||||||
|
* issuer: C=US; O=Let's Encrypt; CN=E6
|
||||||
|
* SSL certificate verify result: unable to get local issuer certificate (20), continuing anyway.
|
||||||
|
* Certificate level 0: Public key type EC/prime256v1 (256/128 Bits/secBits), signed using ecdsa-with-SHA384
|
||||||
|
* Certificate level 1: Public key type EC/secp384r1 (384/192 Bits/secBits), signed using sha256WithRSAEncryption
|
||||||
|
} [5 bytes data]
|
||||||
|
* using HTTP/2
|
||||||
|
* [HTTP/2] [1] OPENED stream for https://192.0.72.3/
|
||||||
|
* [HTTP/2] [1] [:method: HEAD]
|
||||||
|
* [HTTP/2] [1] [:scheme: https]
|
||||||
|
* [HTTP/2] [1] [:authority: 192.0.72.3]
|
||||||
|
* [HTTP/2] [1] [:path: /]
|
||||||
|
* [HTTP/2] [1] [user-agent: curl/8.9.1]
|
||||||
|
* [HTTP/2] [1] [accept: */*]
|
||||||
|
} [5 bytes data]
|
||||||
|
> HEAD / HTTP/2
|
||||||
|
> Host: 192.0.72.3
|
||||||
|
> User-Agent: curl/8.9.1
|
||||||
|
> Accept: */*
|
||||||
|
>
|
||||||
|
* Request completely sent off
|
||||||
|
{ [5 bytes data]
|
||||||
|
* TLSv1.3 (IN), TLS handshake, Newsession Ticket (4):
|
||||||
|
{ [249 bytes data]
|
||||||
|
* TLSv1.3 (IN), TLS handshake, Newsession Ticket (4):
|
||||||
|
{ [249 bytes data]
|
||||||
|
< HTTP/2 302
|
||||||
|
< server: nginx
|
||||||
|
< date: Fri, 07 Feb 2025 22:58:34 GMT
|
||||||
|
< content-type: text/html; charset=utf-8
|
||||||
|
< location: https://developer.wordpress.com
|
||||||
|
< vary: Cookie
|
||||||
|
< x-nc: MISS hhn 3
|
||||||
|
< x-content-type-options: nosniff
|
||||||
|
< alt-svc: h3=":443"; ma=86400
|
||||||
|
<
|
||||||
|
{ [0 bytes data]
|
||||||
|
0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0
|
||||||
|
* Connection #0 to host 192.0.72.3 left intact
|
||||||
|
HTTP/2 302
|
||||||
|
server: nginx
|
||||||
|
date: Fri, 07 Feb 2025 22:58:34 GMT
|
||||||
|
content-type: text/html; charset=utf-8
|
||||||
|
location: https://developer.wordpress.com
|
||||||
|
vary: Cookie
|
||||||
|
x-nc: MISS hhn 3
|
||||||
|
x-content-type-options: nosniff
|
||||||
|
alt-svc: h3=":443"; ma=86400
|
||||||
|
|
||||||
@@ -0,0 +1,70 @@
|
|||||||
|
% Total % Received % Xferd Average Speed Time Time Time Current
|
||||||
|
Dload Upload Total Spent Left Speed
|
||||||
|
0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0* Trying 192.0.66.251:443...
|
||||||
|
* Connected to 192.0.66.251 (192.0.66.251) port 443
|
||||||
|
* ALPN: curl offers h2,http/1.1
|
||||||
|
} [5 bytes data]
|
||||||
|
* TLSv1.3 (OUT), TLS handshake, Client hello (1):
|
||||||
|
} [512 bytes data]
|
||||||
|
* TLSv1.3 (IN), TLS handshake, Server hello (2):
|
||||||
|
{ [122 bytes data]
|
||||||
|
* TLSv1.3 (IN), TLS handshake, Encrypted Extensions (8):
|
||||||
|
{ [15 bytes data]
|
||||||
|
* TLSv1.3 (IN), TLS handshake, Certificate (11):
|
||||||
|
{ [2033 bytes data]
|
||||||
|
* TLSv1.3 (IN), TLS handshake, CERT verify (15):
|
||||||
|
{ [79 bytes data]
|
||||||
|
* TLSv1.3 (IN), TLS handshake, Finished (20):
|
||||||
|
{ [52 bytes data]
|
||||||
|
* TLSv1.3 (OUT), TLS change cipher, Change cipher spec (1):
|
||||||
|
} [1 bytes data]
|
||||||
|
* TLSv1.3 (OUT), TLS handshake, Finished (20):
|
||||||
|
} [52 bytes data]
|
||||||
|
* SSL connection using TLSv1.3 / TLS_AES_256_GCM_SHA384 / x25519 / id-ecPublicKey
|
||||||
|
* ALPN: server accepted h2
|
||||||
|
* Server certificate:
|
||||||
|
* subject: CN=go-vip.co
|
||||||
|
* start date: Jan 18 19:43:58 2025 GMT
|
||||||
|
* expire date: Apr 18 19:43:57 2025 GMT
|
||||||
|
* issuer: C=US; O=Let's Encrypt; CN=E5
|
||||||
|
* SSL certificate verify result: unable to get local issuer certificate (20), continuing anyway.
|
||||||
|
* Certificate level 0: Public key type EC/prime256v1 (256/128 Bits/secBits), signed using ecdsa-with-SHA384
|
||||||
|
* Certificate level 1: Public key type EC/secp384r1 (384/192 Bits/secBits), signed using sha256WithRSAEncryption
|
||||||
|
} [5 bytes data]
|
||||||
|
* using HTTP/2
|
||||||
|
* [HTTP/2] [1] OPENED stream for https://192.0.66.251/
|
||||||
|
* [HTTP/2] [1] [:method: HEAD]
|
||||||
|
* [HTTP/2] [1] [:scheme: https]
|
||||||
|
* [HTTP/2] [1] [:authority: 192.0.66.251]
|
||||||
|
* [HTTP/2] [1] [:path: /]
|
||||||
|
* [HTTP/2] [1] [user-agent: curl/8.9.1]
|
||||||
|
* [HTTP/2] [1] [accept: */*]
|
||||||
|
} [5 bytes data]
|
||||||
|
> HEAD / HTTP/2
|
||||||
|
> Host: 192.0.66.251
|
||||||
|
> User-Agent: curl/8.9.1
|
||||||
|
> Accept: */*
|
||||||
|
>
|
||||||
|
* Request completely sent off
|
||||||
|
{ [5 bytes data]
|
||||||
|
* TLSv1.3 (IN), TLS handshake, Newsession Ticket (4):
|
||||||
|
{ [249 bytes data]
|
||||||
|
* TLSv1.3 (IN), TLS handshake, Newsession Ticket (4):
|
||||||
|
{ [249 bytes data]
|
||||||
|
< HTTP/2 404
|
||||||
|
< server: nginx
|
||||||
|
< date: Fri, 07 Feb 2025 22:58:27 GMT
|
||||||
|
< content-type: text/html
|
||||||
|
< content-length: 146
|
||||||
|
< x-rq: hhn2
|
||||||
|
<
|
||||||
|
{ [0 bytes data]
|
||||||
|
0 146 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0
|
||||||
|
* Connection #0 to host 192.0.66.251 left intact
|
||||||
|
HTTP/2 404
|
||||||
|
server: nginx
|
||||||
|
date: Fri, 07 Feb 2025 22:58:27 GMT
|
||||||
|
content-type: text/html
|
||||||
|
content-length: 146
|
||||||
|
x-rq: hhn2
|
||||||
|
|
||||||
@@ -0,0 +1,70 @@
|
|||||||
|
% Total % Received % Xferd Average Speed Time Time Time Current
|
||||||
|
Dload Upload Total Spent Left Speed
|
||||||
|
0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0* Trying 192.0.66.254:443...
|
||||||
|
* Connected to 192.0.66.254 (192.0.66.254) port 443
|
||||||
|
* ALPN: curl offers h2,http/1.1
|
||||||
|
} [5 bytes data]
|
||||||
|
* TLSv1.3 (OUT), TLS handshake, Client hello (1):
|
||||||
|
} [512 bytes data]
|
||||||
|
* TLSv1.3 (IN), TLS handshake, Server hello (2):
|
||||||
|
{ [122 bytes data]
|
||||||
|
* TLSv1.3 (IN), TLS handshake, Encrypted Extensions (8):
|
||||||
|
{ [15 bytes data]
|
||||||
|
* TLSv1.3 (IN), TLS handshake, Certificate (11):
|
||||||
|
{ [2033 bytes data]
|
||||||
|
* TLSv1.3 (IN), TLS handshake, CERT verify (15):
|
||||||
|
{ [78 bytes data]
|
||||||
|
* TLSv1.3 (IN), TLS handshake, Finished (20):
|
||||||
|
{ [52 bytes data]
|
||||||
|
* TLSv1.3 (OUT), TLS change cipher, Change cipher spec (1):
|
||||||
|
} [1 bytes data]
|
||||||
|
* TLSv1.3 (OUT), TLS handshake, Finished (20):
|
||||||
|
} [52 bytes data]
|
||||||
|
* SSL connection using TLSv1.3 / TLS_AES_256_GCM_SHA384 / x25519 / id-ecPublicKey
|
||||||
|
* ALPN: server accepted h2
|
||||||
|
* Server certificate:
|
||||||
|
* subject: CN=go-vip.co
|
||||||
|
* start date: Jan 18 19:43:58 2025 GMT
|
||||||
|
* expire date: Apr 18 19:43:57 2025 GMT
|
||||||
|
* issuer: C=US; O=Let's Encrypt; CN=E5
|
||||||
|
* SSL certificate verify result: unable to get local issuer certificate (20), continuing anyway.
|
||||||
|
* Certificate level 0: Public key type EC/prime256v1 (256/128 Bits/secBits), signed using ecdsa-with-SHA384
|
||||||
|
* Certificate level 1: Public key type EC/secp384r1 (384/192 Bits/secBits), signed using sha256WithRSAEncryption
|
||||||
|
} [5 bytes data]
|
||||||
|
* using HTTP/2
|
||||||
|
* [HTTP/2] [1] OPENED stream for https://192.0.66.254/
|
||||||
|
* [HTTP/2] [1] [:method: HEAD]
|
||||||
|
* [HTTP/2] [1] [:scheme: https]
|
||||||
|
* [HTTP/2] [1] [:authority: 192.0.66.254]
|
||||||
|
* [HTTP/2] [1] [:path: /]
|
||||||
|
* [HTTP/2] [1] [user-agent: curl/8.9.1]
|
||||||
|
* [HTTP/2] [1] [accept: */*]
|
||||||
|
} [5 bytes data]
|
||||||
|
> HEAD / HTTP/2
|
||||||
|
> Host: 192.0.66.254
|
||||||
|
> User-Agent: curl/8.9.1
|
||||||
|
> Accept: */*
|
||||||
|
>
|
||||||
|
* Request completely sent off
|
||||||
|
{ [5 bytes data]
|
||||||
|
* TLSv1.3 (IN), TLS handshake, Newsession Ticket (4):
|
||||||
|
{ [249 bytes data]
|
||||||
|
* TLSv1.3 (IN), TLS handshake, Newsession Ticket (4):
|
||||||
|
{ [249 bytes data]
|
||||||
|
< HTTP/2 404
|
||||||
|
< server: nginx
|
||||||
|
< date: Fri, 07 Feb 2025 22:58:28 GMT
|
||||||
|
< content-type: text/html
|
||||||
|
< content-length: 146
|
||||||
|
< x-rq: hhn2
|
||||||
|
<
|
||||||
|
{ [0 bytes data]
|
||||||
|
0 146 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0
|
||||||
|
* Connection #0 to host 192.0.66.254 left intact
|
||||||
|
HTTP/2 404
|
||||||
|
server: nginx
|
||||||
|
date: Fri, 07 Feb 2025 22:58:28 GMT
|
||||||
|
content-type: text/html
|
||||||
|
content-length: 146
|
||||||
|
x-rq: hhn2
|
||||||
|
|
||||||
@@ -0,0 +1,70 @@
|
|||||||
|
% Total % Received % Xferd Average Speed Time Time Time Current
|
||||||
|
Dload Upload Total Spent Left Speed
|
||||||
|
0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0* Trying 192.0.66.253:443...
|
||||||
|
* Connected to 192.0.66.253 (192.0.66.253) port 443
|
||||||
|
* ALPN: curl offers h2,http/1.1
|
||||||
|
} [5 bytes data]
|
||||||
|
* TLSv1.3 (OUT), TLS handshake, Client hello (1):
|
||||||
|
} [512 bytes data]
|
||||||
|
* TLSv1.3 (IN), TLS handshake, Server hello (2):
|
||||||
|
{ [122 bytes data]
|
||||||
|
* TLSv1.3 (IN), TLS handshake, Encrypted Extensions (8):
|
||||||
|
{ [15 bytes data]
|
||||||
|
* TLSv1.3 (IN), TLS handshake, Certificate (11):
|
||||||
|
{ [2033 bytes data]
|
||||||
|
* TLSv1.3 (IN), TLS handshake, CERT verify (15):
|
||||||
|
{ [78 bytes data]
|
||||||
|
* TLSv1.3 (IN), TLS handshake, Finished (20):
|
||||||
|
{ [52 bytes data]
|
||||||
|
* TLSv1.3 (OUT), TLS change cipher, Change cipher spec (1):
|
||||||
|
} [1 bytes data]
|
||||||
|
* TLSv1.3 (OUT), TLS handshake, Finished (20):
|
||||||
|
} [52 bytes data]
|
||||||
|
* SSL connection using TLSv1.3 / TLS_AES_256_GCM_SHA384 / x25519 / id-ecPublicKey
|
||||||
|
* ALPN: server accepted h2
|
||||||
|
* Server certificate:
|
||||||
|
* subject: CN=go-vip.co
|
||||||
|
* start date: Jan 18 19:43:58 2025 GMT
|
||||||
|
* expire date: Apr 18 19:43:57 2025 GMT
|
||||||
|
* issuer: C=US; O=Let's Encrypt; CN=E5
|
||||||
|
* SSL certificate verify result: unable to get local issuer certificate (20), continuing anyway.
|
||||||
|
* Certificate level 0: Public key type EC/prime256v1 (256/128 Bits/secBits), signed using ecdsa-with-SHA384
|
||||||
|
* Certificate level 1: Public key type EC/secp384r1 (384/192 Bits/secBits), signed using sha256WithRSAEncryption
|
||||||
|
} [5 bytes data]
|
||||||
|
* using HTTP/2
|
||||||
|
* [HTTP/2] [1] OPENED stream for https://192.0.66.253/
|
||||||
|
* [HTTP/2] [1] [:method: HEAD]
|
||||||
|
* [HTTP/2] [1] [:scheme: https]
|
||||||
|
* [HTTP/2] [1] [:authority: 192.0.66.253]
|
||||||
|
* [HTTP/2] [1] [:path: /]
|
||||||
|
* [HTTP/2] [1] [user-agent: curl/8.9.1]
|
||||||
|
* [HTTP/2] [1] [accept: */*]
|
||||||
|
} [5 bytes data]
|
||||||
|
> HEAD / HTTP/2
|
||||||
|
> Host: 192.0.66.253
|
||||||
|
> User-Agent: curl/8.9.1
|
||||||
|
> Accept: */*
|
||||||
|
>
|
||||||
|
* Request completely sent off
|
||||||
|
{ [5 bytes data]
|
||||||
|
* TLSv1.3 (IN), TLS handshake, Newsession Ticket (4):
|
||||||
|
{ [249 bytes data]
|
||||||
|
* TLSv1.3 (IN), TLS handshake, Newsession Ticket (4):
|
||||||
|
{ [249 bytes data]
|
||||||
|
< HTTP/2 404
|
||||||
|
< server: nginx
|
||||||
|
< date: Fri, 07 Feb 2025 22:58:28 GMT
|
||||||
|
< content-type: text/html
|
||||||
|
< content-length: 146
|
||||||
|
< x-rq: hhn2
|
||||||
|
<
|
||||||
|
{ [0 bytes data]
|
||||||
|
0 146 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0
|
||||||
|
* Connection #0 to host 192.0.66.253 left intact
|
||||||
|
HTTP/2 404
|
||||||
|
server: nginx
|
||||||
|
date: Fri, 07 Feb 2025 22:58:28 GMT
|
||||||
|
content-type: text/html
|
||||||
|
content-length: 146
|
||||||
|
x-rq: hhn2
|
||||||
|
|
||||||
@@ -0,0 +1,36 @@
|
|||||||
|
% Total % Received % Xferd Average Speed Time Time Time Current
|
||||||
|
Dload Upload Total Spent Left Speed
|
||||||
|
0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0* Trying 1.0.0.95:80...
|
||||||
|
* Connected to 1.0.0.95 (1.0.0.95) port 80
|
||||||
|
> HEAD / HTTP/1.1
|
||||||
|
> Host: 1.0.0.95
|
||||||
|
> User-Agent: curl/8.9.1
|
||||||
|
> Accept: */*
|
||||||
|
>
|
||||||
|
* Request completely sent off
|
||||||
|
< HTTP/1.1 403 Forbidden
|
||||||
|
< Date: Fri, 07 Feb 2025 21:37:37 GMT
|
||||||
|
< Content-Type: text/plain; charset=UTF-8
|
||||||
|
< Content-Length: 16
|
||||||
|
< Connection: close
|
||||||
|
< X-Frame-Options: SAMEORIGIN
|
||||||
|
< Referrer-Policy: same-origin
|
||||||
|
< Cache-Control: private, max-age=0, no-store, no-cache, must-revalidate, post-check=0, pre-check=0
|
||||||
|
< Expires: Thu, 01 Jan 1970 00:00:01 GMT
|
||||||
|
< Server: cloudflare
|
||||||
|
< CF-RAY: 90e685af4a6b930d-CPH
|
||||||
|
<
|
||||||
|
0 16 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0
|
||||||
|
* shutting down connection #0
|
||||||
|
HTTP/1.1 403 Forbidden
|
||||||
|
Date: Fri, 07 Feb 2025 21:37:37 GMT
|
||||||
|
Content-Type: text/plain; charset=UTF-8
|
||||||
|
Content-Length: 16
|
||||||
|
Connection: close
|
||||||
|
X-Frame-Options: SAMEORIGIN
|
||||||
|
Referrer-Policy: same-origin
|
||||||
|
Cache-Control: private, max-age=0, no-store, no-cache, must-revalidate, post-check=0, pre-check=0
|
||||||
|
Expires: Thu, 01 Jan 1970 00:00:01 GMT
|
||||||
|
Server: cloudflare
|
||||||
|
CF-RAY: 90e685af4a6b930d-CPH
|
||||||
|
|
||||||
@@ -0,0 +1,28 @@
|
|||||||
|
% Total % Received % Xferd Average Speed Time Time Time Current
|
||||||
|
Dload Upload Total Spent Left Speed
|
||||||
|
0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0* Trying 192.0.72.3:80...
|
||||||
|
* Connected to 192.0.72.3 (192.0.72.3) port 80
|
||||||
|
> HEAD / HTTP/1.1
|
||||||
|
> Host: 192.0.72.3
|
||||||
|
> User-Agent: curl/8.9.1
|
||||||
|
> Accept: */*
|
||||||
|
>
|
||||||
|
* Request completely sent off
|
||||||
|
< HTTP/1.1 301 Moved Permanently
|
||||||
|
< Server: nginx
|
||||||
|
< Date: Fri, 07 Feb 2025 22:58:33 GMT
|
||||||
|
< Content-Type: text/html
|
||||||
|
< Content-Length: 162
|
||||||
|
< Connection: keep-alive
|
||||||
|
< Location: https://192.0.72.3/
|
||||||
|
<
|
||||||
|
0 162 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0
|
||||||
|
* Connection #0 to host 192.0.72.3 left intact
|
||||||
|
HTTP/1.1 301 Moved Permanently
|
||||||
|
Server: nginx
|
||||||
|
Date: Fri, 07 Feb 2025 22:58:33 GMT
|
||||||
|
Content-Type: text/html
|
||||||
|
Content-Length: 162
|
||||||
|
Connection: keep-alive
|
||||||
|
Location: https://192.0.72.3/
|
||||||
|
|
||||||
@@ -0,0 +1,4 @@
|
|||||||
|
% Total % Received % Xferd Average Speed Time Time Time Current
|
||||||
|
Dload Upload Total Spent Left Speed
|
||||||
|
0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0* Trying 141.0.64.106:80...
|
||||||
|
0 0 0 0 0 0 0 0 --:--:-- 0:00:01 --:--:-- 0
0 0 0 0 0 0 0 0 --:--:-- 0:00:02 --:--:-- 0
0 0 0 0 0 0 0 0 --:--:-- 0:00:03 --:--:-- 0
0 0 0 0 0 0 0 0 --:--:-- 0:00:04 --:--:-- 0
0 0 0 0 0 0 0 0 --:--:-- 0:00:05 --:--:-- 0
|
||||||
@@ -0,0 +1,4 @@
|
|||||||
|
% Total % Received % Xferd Average Speed Time Time Time Current
|
||||||
|
Dload Upload Total Spent Left Speed
|
||||||
|
0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0* Trying 141.0.68.86:80...
|
||||||
|
0 0 0 0 0 0 0 0 --:--:-- 0:00:01 --:--:-- 0
0 0 0 0 0 0 0 0 --:--:-- 0:00:02 --:--:-- 0
0 0 0 0 0 0 0 0 --:--:-- 0:00:03 --:--:-- 0
0 0 0 0 0 0 0 0 --:--:-- 0:00:04 --:--:-- 0
0 0 0 0 0 0 0 0 --:--:-- 0:00:05 --:--:-- 0
|
||||||
@@ -0,0 +1,4 @@
|
|||||||
|
% Total % Received % Xferd Average Speed Time Time Time Current
|
||||||
|
Dload Upload Total Spent Left Speed
|
||||||
|
0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0* Trying 141.0.68.78:80...
|
||||||
|
0 0 0 0 0 0 0 0 --:--:-- 0:00:01 --:--:-- 0
0 0 0 0 0 0 0 0 --:--:-- 0:00:02 --:--:-- 0
0 0 0 0 0 0 0 0 --:--:-- 0:00:03 --:--:-- 0
0 0 0 0 0 0 0 0 --:--:-- 0:00:04 --:--:-- 0
0 0 0 0 0 0 0 0 --:--:-- 0:00:05 --:--:-- 0
|
||||||
@@ -1,3 +1,3 @@
|
|||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
|
|
||||||
curl -k -vvI -m 10 https://"$1" &> 443Header.txt
|
curl -k -vvI -m 10 https://"$1" &> "$2"
|
||||||
|
|||||||
@@ -1,3 +1,4 @@
|
|||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
|
|
||||||
curl -k -vvI -m 10 http://"$1" &> 80Header.txt
|
curl -k -vvI -m 10 http://"$1" &> "$2"
|
||||||
|
#80Header.txt
|
||||||
|
|||||||
@@ -1,28 +0,0 @@
|
|||||||
<?xml version="1.0" encoding="utf-8"?>
|
|
||||||
<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
|
||||||
<Target Name="GetEFProjectMetadata">
|
|
||||||
<MSBuild Condition=" '$(TargetFramework)' == '' "
|
|
||||||
Projects="$(MSBuildProjectFile)"
|
|
||||||
Targets="GetEFProjectMetadata"
|
|
||||||
Properties="TargetFramework=$(TargetFrameworks.Split(';')[0]);EFProjectMetadataFile=$(EFProjectMetadataFile)" />
|
|
||||||
<ItemGroup Condition=" '$(TargetFramework)' != '' ">
|
|
||||||
<EFProjectMetadata Include="AssemblyName: $(AssemblyName)" />
|
|
||||||
<EFProjectMetadata Include="Language: $(Language)" />
|
|
||||||
<EFProjectMetadata Include="OutputPath: $(OutputPath)" />
|
|
||||||
<EFProjectMetadata Include="Platform: $(Platform)" />
|
|
||||||
<EFProjectMetadata Include="PlatformTarget: $(PlatformTarget)" />
|
|
||||||
<EFProjectMetadata Include="ProjectAssetsFile: $(ProjectAssetsFile)" />
|
|
||||||
<EFProjectMetadata Include="ProjectDir: $(ProjectDir)" />
|
|
||||||
<EFProjectMetadata Include="RootNamespace: $(RootNamespace)" />
|
|
||||||
<EFProjectMetadata Include="RuntimeFrameworkVersion: $(RuntimeFrameworkVersion)" />
|
|
||||||
<EFProjectMetadata Include="TargetFileName: $(TargetFileName)" />
|
|
||||||
<EFProjectMetadata Include="TargetFrameworkMoniker: $(TargetFrameworkMoniker)" />
|
|
||||||
<EFProjectMetadata Include="Nullable: $(Nullable)" />
|
|
||||||
<EFProjectMetadata Include="TargetFramework: $(TargetFramework)" />
|
|
||||||
<EFProjectMetadata Include="TargetPlatformIdentifier: $(TargetPlatformIdentifier)" />
|
|
||||||
</ItemGroup>
|
|
||||||
<WriteLinesToFile Condition=" '$(TargetFramework)' != '' "
|
|
||||||
File="$(EFProjectMetadataFile)"
|
|
||||||
Lines="@(EFProjectMetadata)" />
|
|
||||||
</Target>
|
|
||||||
</Project>
|
|
||||||
@@ -1,200 +0,0 @@
|
|||||||
{
|
|
||||||
"format": 1,
|
|
||||||
"restore": {
|
|
||||||
"/home/skingging/Documents/Projects/CSharp/RSE/Backend/Backend.csproj": {}
|
|
||||||
},
|
|
||||||
"projects": {
|
|
||||||
"/home/skingging/Documents/Projects/CSharp/RSE/Backend/Backend.csproj": {
|
|
||||||
"version": "1.0.0",
|
|
||||||
"restore": {
|
|
||||||
"projectUniqueName": "/home/skingging/Documents/Projects/CSharp/RSE/Backend/Backend.csproj",
|
|
||||||
"projectName": "Backend",
|
|
||||||
"projectPath": "/home/skingging/Documents/Projects/CSharp/RSE/Backend/Backend.csproj",
|
|
||||||
"packagesPath": "/home/skingging/.nuget/packages/",
|
|
||||||
"outputPath": "/home/skingging/Documents/Projects/CSharp/RSE/Backend/obj/",
|
|
||||||
"projectStyle": "PackageReference",
|
|
||||||
"configFilePaths": [
|
|
||||||
"/home/skingging/.nuget/NuGet/NuGet.Config"
|
|
||||||
],
|
|
||||||
"originalTargetFrameworks": [
|
|
||||||
"net8.0"
|
|
||||||
],
|
|
||||||
"sources": {
|
|
||||||
"https://api.nuget.org/v3/index.json": {}
|
|
||||||
},
|
|
||||||
"frameworks": {
|
|
||||||
"net8.0": {
|
|
||||||
"targetAlias": "net8.0",
|
|
||||||
"projectReferences": {
|
|
||||||
"/home/skingging/Documents/Projects/CSharp/RSE/Models/Models.csproj": {
|
|
||||||
"projectPath": "/home/skingging/Documents/Projects/CSharp/RSE/Models/Models.csproj"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"warningProperties": {
|
|
||||||
"warnAsError": [
|
|
||||||
"NU1605"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"restoreAuditProperties": {
|
|
||||||
"enableAudit": "true",
|
|
||||||
"auditLevel": "low",
|
|
||||||
"auditMode": "all"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"frameworks": {
|
|
||||||
"net8.0": {
|
|
||||||
"targetAlias": "net8.0",
|
|
||||||
"dependencies": {
|
|
||||||
"FuzzySharp": {
|
|
||||||
"target": "Package",
|
|
||||||
"version": "[2.0.2, )"
|
|
||||||
},
|
|
||||||
"MessagePack": {
|
|
||||||
"target": "Package",
|
|
||||||
"version": "[3.0.238-rc.1, )"
|
|
||||||
},
|
|
||||||
"MessagePack.Annotations": {
|
|
||||||
"target": "Package",
|
|
||||||
"version": "[3.0.238-rc.1, )"
|
|
||||||
},
|
|
||||||
"MessagePackAnalyzer": {
|
|
||||||
"include": "Runtime, Build, Native, ContentFiles, Analyzers, BuildTransitive",
|
|
||||||
"suppressParent": "All",
|
|
||||||
"target": "Package",
|
|
||||||
"version": "[3.0.238-rc.1, )"
|
|
||||||
},
|
|
||||||
"NetMQ": {
|
|
||||||
"target": "Package",
|
|
||||||
"version": "[4.0.1.13, )"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"imports": [
|
|
||||||
"net461",
|
|
||||||
"net462",
|
|
||||||
"net47",
|
|
||||||
"net471",
|
|
||||||
"net472",
|
|
||||||
"net48",
|
|
||||||
"net481"
|
|
||||||
],
|
|
||||||
"assetTargetFallback": true,
|
|
||||||
"warn": true,
|
|
||||||
"downloadDependencies": [
|
|
||||||
{
|
|
||||||
"name": "Microsoft.AspNetCore.App.Ref",
|
|
||||||
"version": "[8.0.5, 8.0.5]"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "Microsoft.NETCore.App.Host.linux-x64",
|
|
||||||
"version": "[8.0.5, 8.0.5]"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "Microsoft.NETCore.App.Ref",
|
|
||||||
"version": "[8.0.5, 8.0.5]"
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"frameworkReferences": {
|
|
||||||
"Microsoft.NETCore.App": {
|
|
||||||
"privateAssets": "all"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"runtimeIdentifierGraphPath": "/home/skingging/.dotnet/sdk/9.0.100-preview.6.24328.19/PortableRuntimeIdentifierGraph.json"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"/home/skingging/Documents/Projects/CSharp/RSE/Models/Models.csproj": {
|
|
||||||
"version": "1.0.0",
|
|
||||||
"restore": {
|
|
||||||
"projectUniqueName": "/home/skingging/Documents/Projects/CSharp/RSE/Models/Models.csproj",
|
|
||||||
"projectName": "Models",
|
|
||||||
"projectPath": "/home/skingging/Documents/Projects/CSharp/RSE/Models/Models.csproj",
|
|
||||||
"packagesPath": "/home/skingging/.nuget/packages/",
|
|
||||||
"outputPath": "/home/skingging/Documents/Projects/CSharp/RSE/Models/obj/",
|
|
||||||
"projectStyle": "PackageReference",
|
|
||||||
"configFilePaths": [
|
|
||||||
"/home/skingging/.nuget/NuGet/NuGet.Config"
|
|
||||||
],
|
|
||||||
"originalTargetFrameworks": [
|
|
||||||
"net8.0"
|
|
||||||
],
|
|
||||||
"sources": {
|
|
||||||
"https://api.nuget.org/v3/index.json": {}
|
|
||||||
},
|
|
||||||
"frameworks": {
|
|
||||||
"net8.0": {
|
|
||||||
"targetAlias": "net8.0",
|
|
||||||
"projectReferences": {}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"warningProperties": {
|
|
||||||
"warnAsError": [
|
|
||||||
"NU1605"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"restoreAuditProperties": {
|
|
||||||
"enableAudit": "true",
|
|
||||||
"auditLevel": "low",
|
|
||||||
"auditMode": "all"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"frameworks": {
|
|
||||||
"net8.0": {
|
|
||||||
"targetAlias": "net8.0",
|
|
||||||
"dependencies": {
|
|
||||||
"MessagePack": {
|
|
||||||
"target": "Package",
|
|
||||||
"version": "[3.0.238-rc.1, )"
|
|
||||||
},
|
|
||||||
"MessagePack.Annotations": {
|
|
||||||
"target": "Package",
|
|
||||||
"version": "[3.0.238-rc.1, )"
|
|
||||||
},
|
|
||||||
"MessagePackAnalyzer": {
|
|
||||||
"include": "Runtime, Build, Native, ContentFiles, Analyzers, BuildTransitive",
|
|
||||||
"suppressParent": "All",
|
|
||||||
"target": "Package",
|
|
||||||
"version": "[3.0.238-rc.1, )"
|
|
||||||
},
|
|
||||||
"Microsoft.Data.Sqlite": {
|
|
||||||
"target": "Package",
|
|
||||||
"version": "[8.0.10, )"
|
|
||||||
},
|
|
||||||
"SQLite": {
|
|
||||||
"target": "Package",
|
|
||||||
"version": "[3.13.0, )"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"imports": [
|
|
||||||
"net461",
|
|
||||||
"net462",
|
|
||||||
"net47",
|
|
||||||
"net471",
|
|
||||||
"net472",
|
|
||||||
"net48",
|
|
||||||
"net481"
|
|
||||||
],
|
|
||||||
"assetTargetFallback": true,
|
|
||||||
"warn": true,
|
|
||||||
"downloadDependencies": [
|
|
||||||
{
|
|
||||||
"name": "Microsoft.AspNetCore.App.Ref",
|
|
||||||
"version": "[8.0.5, 8.0.5]"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "Microsoft.NETCore.App.Ref",
|
|
||||||
"version": "[8.0.5, 8.0.5]"
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"frameworkReferences": {
|
|
||||||
"Microsoft.NETCore.App": {
|
|
||||||
"privateAssets": "all"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"runtimeIdentifierGraphPath": "/home/skingging/.dotnet/sdk/9.0.100-preview.6.24328.19/PortableRuntimeIdentifierGraph.json"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@@ -1,15 +0,0 @@
|
|||||||
<?xml version="1.0" encoding="utf-8" standalone="no"?>
|
|
||||||
<Project ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
|
||||||
<PropertyGroup Condition=" '$(ExcludeRestorePackageImports)' != 'true' ">
|
|
||||||
<RestoreSuccess Condition=" '$(RestoreSuccess)' == '' ">True</RestoreSuccess>
|
|
||||||
<RestoreTool Condition=" '$(RestoreTool)' == '' ">NuGet</RestoreTool>
|
|
||||||
<ProjectAssetsFile Condition=" '$(ProjectAssetsFile)' == '' ">$(MSBuildThisFileDirectory)project.assets.json</ProjectAssetsFile>
|
|
||||||
<NuGetPackageRoot Condition=" '$(NuGetPackageRoot)' == '' ">/home/skingging/.nuget/packages/</NuGetPackageRoot>
|
|
||||||
<NuGetPackageFolders Condition=" '$(NuGetPackageFolders)' == '' ">/home/skingging/.nuget/packages/</NuGetPackageFolders>
|
|
||||||
<NuGetProjectStyle Condition=" '$(NuGetProjectStyle)' == '' ">PackageReference</NuGetProjectStyle>
|
|
||||||
<NuGetToolVersion Condition=" '$(NuGetToolVersion)' == '' ">6.10.1</NuGetToolVersion>
|
|
||||||
</PropertyGroup>
|
|
||||||
<ItemGroup Condition=" '$(ExcludeRestorePackageImports)' != 'true' ">
|
|
||||||
<SourceRoot Include="/home/skingging/.nuget/packages/" />
|
|
||||||
</ItemGroup>
|
|
||||||
</Project>
|
|
||||||
@@ -1,7 +0,0 @@
|
|||||||
<?xml version="1.0" encoding="utf-8" standalone="no"?>
|
|
||||||
<Project ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
|
||||||
<ImportGroup Condition=" '$(ExcludeRestorePackageImports)' != 'true' ">
|
|
||||||
<Import Project="$(NuGetPackageRoot)sqlitepclraw.lib.e_sqlite3/2.1.6/buildTransitive/net8.0/SQLitePCLRaw.lib.e_sqlite3.targets" Condition="Exists('$(NuGetPackageRoot)sqlitepclraw.lib.e_sqlite3/2.1.6/buildTransitive/net8.0/SQLitePCLRaw.lib.e_sqlite3.targets')" />
|
|
||||||
<Import Project="$(NuGetPackageRoot)messagepackanalyzer/3.0.238-rc.1/build/MessagePackAnalyzer.targets" Condition="Exists('$(NuGetPackageRoot)messagepackanalyzer/3.0.238-rc.1/build/MessagePackAnalyzer.targets')" />
|
|
||||||
</ImportGroup>
|
|
||||||
</Project>
|
|
||||||
@@ -1,4 +0,0 @@
|
|||||||
// <autogenerated />
|
|
||||||
using System;
|
|
||||||
using System.Reflection;
|
|
||||||
[assembly: global::System.Runtime.Versioning.TargetFrameworkAttribute(".NETCoreApp,Version=v8.0", FrameworkDisplayName = ".NET 8.0")]
|
|
||||||
@@ -1,22 +0,0 @@
|
|||||||
//------------------------------------------------------------------------------
|
|
||||||
// <auto-generated>
|
|
||||||
// This code was generated by a tool.
|
|
||||||
//
|
|
||||||
// Changes to this file may cause incorrect behavior and will be lost if
|
|
||||||
// the code is regenerated.
|
|
||||||
// </auto-generated>
|
|
||||||
//------------------------------------------------------------------------------
|
|
||||||
|
|
||||||
using System;
|
|
||||||
using System.Reflection;
|
|
||||||
|
|
||||||
[assembly: System.Reflection.AssemblyCompanyAttribute("Backend")]
|
|
||||||
[assembly: System.Reflection.AssemblyConfigurationAttribute("Debug")]
|
|
||||||
[assembly: System.Reflection.AssemblyFileVersionAttribute("1.0.0.0")]
|
|
||||||
[assembly: System.Reflection.AssemblyInformationalVersionAttribute("1.0.0+f3c6338a6ae57d4e839090fca125bc38f764d016")]
|
|
||||||
[assembly: System.Reflection.AssemblyProductAttribute("Backend")]
|
|
||||||
[assembly: System.Reflection.AssemblyTitleAttribute("Backend")]
|
|
||||||
[assembly: System.Reflection.AssemblyVersionAttribute("1.0.0.0")]
|
|
||||||
|
|
||||||
// Generated by the MSBuild WriteCodeFragment class.
|
|
||||||
|
|
||||||
@@ -1 +0,0 @@
|
|||||||
5e46353062a73d293516ee43511f79696b25ea1a0227ab06137d80abd08b8286
|
|
||||||
@@ -1,14 +0,0 @@
|
|||||||
is_global = true
|
|
||||||
build_property.TargetFramework = net8.0
|
|
||||||
build_property.TargetPlatformMinVersion =
|
|
||||||
build_property.UsingMicrosoftNETSdkWeb =
|
|
||||||
build_property.ProjectTypeGuids =
|
|
||||||
build_property.InvariantGlobalization =
|
|
||||||
build_property.PlatformNeutralAssembly =
|
|
||||||
build_property.EnforceExtendedAnalyzerRules =
|
|
||||||
build_property._SupportedPlatformList = Linux,macOS,Windows
|
|
||||||
build_property.RootNamespace = Backend
|
|
||||||
build_property.ProjectDir = /home/skingging/Documents/Projects/CSharp/RSE/Backend/
|
|
||||||
build_property.EnableComHosting =
|
|
||||||
build_property.EnableGeneratedComInterfaceComImportInterop =
|
|
||||||
build_property.EffectiveAnalysisLevelStyle = 8.0
|
|
||||||
@@ -1,8 +0,0 @@
|
|||||||
// <auto-generated/>
|
|
||||||
global using global::System;
|
|
||||||
global using global::System.Collections.Generic;
|
|
||||||
global using global::System.IO;
|
|
||||||
global using global::System.Linq;
|
|
||||||
global using global::System.Net.Http;
|
|
||||||
global using global::System.Threading;
|
|
||||||
global using global::System.Threading.Tasks;
|
|
||||||
Binary file not shown.
Binary file not shown.
@@ -1 +0,0 @@
|
|||||||
d4d583d1f9305bfe4b6166eebe3363e92c16e51e5883f78a57c65c482ecf9a6c
|
|
||||||
@@ -1,82 +0,0 @@
|
|||||||
/home/skingging/Documents/Projects/CSharp/RSE/Backend/bin/Debug/net8.0/Backend
|
|
||||||
/home/skingging/Documents/Projects/CSharp/RSE/Backend/bin/Debug/net8.0/Backend.deps.json
|
|
||||||
/home/skingging/Documents/Projects/CSharp/RSE/Backend/bin/Debug/net8.0/Backend.runtimeconfig.json
|
|
||||||
/home/skingging/Documents/Projects/CSharp/RSE/Backend/bin/Debug/net8.0/Backend.dll
|
|
||||||
/home/skingging/Documents/Projects/CSharp/RSE/Backend/bin/Debug/net8.0/Backend.pdb
|
|
||||||
/home/skingging/Documents/Projects/CSharp/RSE/Backend/bin/Debug/net8.0/Models.dll
|
|
||||||
/home/skingging/Documents/Projects/CSharp/RSE/Backend/bin/Debug/net8.0/Models.pdb
|
|
||||||
/home/skingging/Documents/Projects/CSharp/RSE/Backend/obj/Debug/net8.0/Backend.csproj.AssemblyReference.cache
|
|
||||||
/home/skingging/Documents/Projects/CSharp/RSE/Backend/obj/Debug/net8.0/Backend.GeneratedMSBuildEditorConfig.editorconfig
|
|
||||||
/home/skingging/Documents/Projects/CSharp/RSE/Backend/obj/Debug/net8.0/Backend.AssemblyInfoInputs.cache
|
|
||||||
/home/skingging/Documents/Projects/CSharp/RSE/Backend/obj/Debug/net8.0/Backend.AssemblyInfo.cs
|
|
||||||
/home/skingging/Documents/Projects/CSharp/RSE/Backend/obj/Debug/net8.0/Backend.csproj.CoreCompileInputs.cache
|
|
||||||
/home/skingging/Documents/Projects/CSharp/RSE/Backend/obj/Debug/net8.0/Backend.dll
|
|
||||||
/home/skingging/Documents/Projects/CSharp/RSE/Backend/obj/Debug/net8.0/refint/Backend.dll
|
|
||||||
/home/skingging/Documents/Projects/CSharp/RSE/Backend/obj/Debug/net8.0/Backend.pdb
|
|
||||||
/home/skingging/Documents/Projects/CSharp/RSE/Backend/obj/Debug/net8.0/Backend.genruntimeconfig.cache
|
|
||||||
/home/skingging/Documents/Projects/CSharp/RSE/Backend/obj/Debug/net8.0/ref/Backend.dll
|
|
||||||
/home/skingging/Documents/Projects/CSharp/RSE/Backend/bin/Debug/net8.0/Microsoft.Data.Sqlite.dll
|
|
||||||
/home/skingging/Documents/Projects/CSharp/RSE/Backend/bin/Debug/net8.0/SQLitePCLRaw.batteries_v2.dll
|
|
||||||
/home/skingging/Documents/Projects/CSharp/RSE/Backend/bin/Debug/net8.0/SQLitePCLRaw.core.dll
|
|
||||||
/home/skingging/Documents/Projects/CSharp/RSE/Backend/bin/Debug/net8.0/SQLitePCLRaw.provider.e_sqlite3.dll
|
|
||||||
/home/skingging/Documents/Projects/CSharp/RSE/Backend/bin/Debug/net8.0/runtimes/browser-wasm/nativeassets/net8.0/e_sqlite3.a
|
|
||||||
/home/skingging/Documents/Projects/CSharp/RSE/Backend/bin/Debug/net8.0/runtimes/linux-arm/native/libe_sqlite3.so
|
|
||||||
/home/skingging/Documents/Projects/CSharp/RSE/Backend/bin/Debug/net8.0/runtimes/linux-arm64/native/libe_sqlite3.so
|
|
||||||
/home/skingging/Documents/Projects/CSharp/RSE/Backend/bin/Debug/net8.0/runtimes/linux-armel/native/libe_sqlite3.so
|
|
||||||
/home/skingging/Documents/Projects/CSharp/RSE/Backend/bin/Debug/net8.0/runtimes/linux-mips64/native/libe_sqlite3.so
|
|
||||||
/home/skingging/Documents/Projects/CSharp/RSE/Backend/bin/Debug/net8.0/runtimes/linux-musl-arm/native/libe_sqlite3.so
|
|
||||||
/home/skingging/Documents/Projects/CSharp/RSE/Backend/bin/Debug/net8.0/runtimes/linux-musl-arm64/native/libe_sqlite3.so
|
|
||||||
/home/skingging/Documents/Projects/CSharp/RSE/Backend/bin/Debug/net8.0/runtimes/linux-musl-x64/native/libe_sqlite3.so
|
|
||||||
/home/skingging/Documents/Projects/CSharp/RSE/Backend/bin/Debug/net8.0/runtimes/linux-ppc64le/native/libe_sqlite3.so
|
|
||||||
/home/skingging/Documents/Projects/CSharp/RSE/Backend/bin/Debug/net8.0/runtimes/linux-s390x/native/libe_sqlite3.so
|
|
||||||
/home/skingging/Documents/Projects/CSharp/RSE/Backend/bin/Debug/net8.0/runtimes/linux-x64/native/libe_sqlite3.so
|
|
||||||
/home/skingging/Documents/Projects/CSharp/RSE/Backend/bin/Debug/net8.0/runtimes/linux-x86/native/libe_sqlite3.so
|
|
||||||
/home/skingging/Documents/Projects/CSharp/RSE/Backend/bin/Debug/net8.0/runtimes/maccatalyst-arm64/native/libe_sqlite3.dylib
|
|
||||||
/home/skingging/Documents/Projects/CSharp/RSE/Backend/bin/Debug/net8.0/runtimes/maccatalyst-x64/native/libe_sqlite3.dylib
|
|
||||||
/home/skingging/Documents/Projects/CSharp/RSE/Backend/bin/Debug/net8.0/runtimes/osx-arm64/native/libe_sqlite3.dylib
|
|
||||||
/home/skingging/Documents/Projects/CSharp/RSE/Backend/bin/Debug/net8.0/runtimes/osx-x64/native/libe_sqlite3.dylib
|
|
||||||
/home/skingging/Documents/Projects/CSharp/RSE/Backend/bin/Debug/net8.0/runtimes/win-arm/native/e_sqlite3.dll
|
|
||||||
/home/skingging/Documents/Projects/CSharp/RSE/Backend/bin/Debug/net8.0/runtimes/win-arm64/native/e_sqlite3.dll
|
|
||||||
/home/skingging/Documents/Projects/CSharp/RSE/Backend/bin/Debug/net8.0/runtimes/win-x64/native/e_sqlite3.dll
|
|
||||||
/home/skingging/Documents/Projects/CSharp/RSE/Backend/bin/Debug/net8.0/runtimes/win-x86/native/e_sqlite3.dll
|
|
||||||
/home/skingging/Documents/Projects/CSharp/RSE/Backend/bin/Debug/net8.0/runtimes/linux-x64/native/libsqlite3.so
|
|
||||||
/home/skingging/Documents/Projects/CSharp/RSE/Backend/bin/Debug/net8.0/runtimes/osx-x64/native/libsqlite3.dylib
|
|
||||||
/home/skingging/Documents/Projects/CSharp/RSE/Backend/bin/Debug/net8.0/runtimes/win7-x64/native/sqlite3.dll
|
|
||||||
/home/skingging/Documents/Projects/CSharp/RSE/Backend/bin/Debug/net8.0/runtimes/win7-x86/native/sqlite3.dll
|
|
||||||
/home/skingging/Documents/Projects/CSharp/RSE/Backend/bin/Debug/net8.0/AsyncIO.dll
|
|
||||||
/home/skingging/Documents/Projects/CSharp/RSE/Backend/bin/Debug/net8.0/Microsoft.Bcl.AsyncInterfaces.dll
|
|
||||||
/home/skingging/Documents/Projects/CSharp/RSE/Backend/bin/Debug/net8.0/Microsoft.Extensions.ObjectPool.dll
|
|
||||||
/home/skingging/Documents/Projects/CSharp/RSE/Backend/bin/Debug/net8.0/Microsoft.Win32.SystemEvents.dll
|
|
||||||
/home/skingging/Documents/Projects/CSharp/RSE/Backend/bin/Debug/net8.0/NaCl.dll
|
|
||||||
/home/skingging/Documents/Projects/CSharp/RSE/Backend/bin/Debug/net8.0/NetMQ.dll
|
|
||||||
/home/skingging/Documents/Projects/CSharp/RSE/Backend/bin/Debug/net8.0/System.Drawing.Common.dll
|
|
||||||
/home/skingging/Documents/Projects/CSharp/RSE/Backend/bin/Debug/net8.0/System.Private.ServiceModel.dll
|
|
||||||
/home/skingging/Documents/Projects/CSharp/RSE/Backend/bin/Debug/net8.0/System.Security.Cryptography.Pkcs.dll
|
|
||||||
/home/skingging/Documents/Projects/CSharp/RSE/Backend/bin/Debug/net8.0/System.Security.Cryptography.Xml.dll
|
|
||||||
/home/skingging/Documents/Projects/CSharp/RSE/Backend/bin/Debug/net8.0/System.Security.Permissions.dll
|
|
||||||
/home/skingging/Documents/Projects/CSharp/RSE/Backend/bin/Debug/net8.0/System.ServiceModel.Primitives.dll
|
|
||||||
/home/skingging/Documents/Projects/CSharp/RSE/Backend/bin/Debug/net8.0/System.ServiceModel.dll
|
|
||||||
/home/skingging/Documents/Projects/CSharp/RSE/Backend/bin/Debug/net8.0/System.Windows.Extensions.dll
|
|
||||||
/home/skingging/Documents/Projects/CSharp/RSE/Backend/bin/Debug/net8.0/cs/System.Private.ServiceModel.resources.dll
|
|
||||||
/home/skingging/Documents/Projects/CSharp/RSE/Backend/bin/Debug/net8.0/de/System.Private.ServiceModel.resources.dll
|
|
||||||
/home/skingging/Documents/Projects/CSharp/RSE/Backend/bin/Debug/net8.0/es/System.Private.ServiceModel.resources.dll
|
|
||||||
/home/skingging/Documents/Projects/CSharp/RSE/Backend/bin/Debug/net8.0/fr/System.Private.ServiceModel.resources.dll
|
|
||||||
/home/skingging/Documents/Projects/CSharp/RSE/Backend/bin/Debug/net8.0/it/System.Private.ServiceModel.resources.dll
|
|
||||||
/home/skingging/Documents/Projects/CSharp/RSE/Backend/bin/Debug/net8.0/ja/System.Private.ServiceModel.resources.dll
|
|
||||||
/home/skingging/Documents/Projects/CSharp/RSE/Backend/bin/Debug/net8.0/ko/System.Private.ServiceModel.resources.dll
|
|
||||||
/home/skingging/Documents/Projects/CSharp/RSE/Backend/bin/Debug/net8.0/pl/System.Private.ServiceModel.resources.dll
|
|
||||||
/home/skingging/Documents/Projects/CSharp/RSE/Backend/bin/Debug/net8.0/pt-BR/System.Private.ServiceModel.resources.dll
|
|
||||||
/home/skingging/Documents/Projects/CSharp/RSE/Backend/bin/Debug/net8.0/ru/System.Private.ServiceModel.resources.dll
|
|
||||||
/home/skingging/Documents/Projects/CSharp/RSE/Backend/bin/Debug/net8.0/tr/System.Private.ServiceModel.resources.dll
|
|
||||||
/home/skingging/Documents/Projects/CSharp/RSE/Backend/bin/Debug/net8.0/zh-Hans/System.Private.ServiceModel.resources.dll
|
|
||||||
/home/skingging/Documents/Projects/CSharp/RSE/Backend/bin/Debug/net8.0/zh-Hant/System.Private.ServiceModel.resources.dll
|
|
||||||
/home/skingging/Documents/Projects/CSharp/RSE/Backend/bin/Debug/net8.0/runtimes/win/lib/netcoreapp3.0/Microsoft.Win32.SystemEvents.dll
|
|
||||||
/home/skingging/Documents/Projects/CSharp/RSE/Backend/bin/Debug/net8.0/runtimes/unix/lib/netcoreapp3.0/System.Drawing.Common.dll
|
|
||||||
/home/skingging/Documents/Projects/CSharp/RSE/Backend/bin/Debug/net8.0/runtimes/win/lib/netcoreapp3.0/System.Drawing.Common.dll
|
|
||||||
/home/skingging/Documents/Projects/CSharp/RSE/Backend/bin/Debug/net8.0/runtimes/win/lib/netcoreapp3.0/System.Security.Cryptography.Pkcs.dll
|
|
||||||
/home/skingging/Documents/Projects/CSharp/RSE/Backend/bin/Debug/net8.0/runtimes/win/lib/netcoreapp3.0/System.Windows.Extensions.dll
|
|
||||||
/home/skingging/Documents/Projects/CSharp/RSE/Backend/bin/Debug/net8.0/FuzzySharp.dll
|
|
||||||
/home/skingging/Documents/Projects/CSharp/RSE/Backend/bin/Debug/net8.0/MessagePack.dll
|
|
||||||
/home/skingging/Documents/Projects/CSharp/RSE/Backend/bin/Debug/net8.0/MessagePack.Annotations.dll
|
|
||||||
/home/skingging/Documents/Projects/CSharp/RSE/Backend/bin/Debug/net8.0/Microsoft.NET.StringTools.dll
|
|
||||||
/home/skingging/Documents/Projects/CSharp/RSE/Backend/obj/Debug/net8.0/Backend.csproj.Up2Date
|
|
||||||
Binary file not shown.
@@ -1 +0,0 @@
|
|||||||
4ae99fa15b198bb9214533e1fedf5a1e40165b14a6ff445e8657afc57890c853
|
|
||||||
Binary file not shown.
Binary file not shown.
@@ -1,4 +0,0 @@
|
|||||||
// <autogenerated />
|
|
||||||
using System;
|
|
||||||
using System.Reflection;
|
|
||||||
[assembly: global::System.Runtime.Versioning.TargetFrameworkAttribute(".NETCoreApp,Version=v8.0", FrameworkDisplayName = ".NET 8.0")]
|
|
||||||
@@ -1,22 +0,0 @@
|
|||||||
//------------------------------------------------------------------------------
|
|
||||||
// <auto-generated>
|
|
||||||
// This code was generated by a tool.
|
|
||||||
//
|
|
||||||
// Changes to this file may cause incorrect behavior and will be lost if
|
|
||||||
// the code is regenerated.
|
|
||||||
// </auto-generated>
|
|
||||||
//------------------------------------------------------------------------------
|
|
||||||
|
|
||||||
using System;
|
|
||||||
using System.Reflection;
|
|
||||||
|
|
||||||
[assembly: System.Reflection.AssemblyCompanyAttribute("Backend")]
|
|
||||||
[assembly: System.Reflection.AssemblyConfigurationAttribute("Debug")]
|
|
||||||
[assembly: System.Reflection.AssemblyFileVersionAttribute("1.0.0.0")]
|
|
||||||
[assembly: System.Reflection.AssemblyInformationalVersionAttribute("1.0.0")]
|
|
||||||
[assembly: System.Reflection.AssemblyProductAttribute("Backend")]
|
|
||||||
[assembly: System.Reflection.AssemblyTitleAttribute("Backend")]
|
|
||||||
[assembly: System.Reflection.AssemblyVersionAttribute("1.0.0.0")]
|
|
||||||
|
|
||||||
// Generated by the MSBuild WriteCodeFragment class.
|
|
||||||
|
|
||||||
@@ -1 +0,0 @@
|
|||||||
9371234864fbc6630f90d88b86a9165d6bf6b07556d735c0a3bcf7b4cfc5fd84
|
|
||||||
@@ -1,14 +0,0 @@
|
|||||||
is_global = true
|
|
||||||
build_property.TargetFramework = net8.0
|
|
||||||
build_property.TargetPlatformMinVersion =
|
|
||||||
build_property.UsingMicrosoftNETSdkWeb =
|
|
||||||
build_property.ProjectTypeGuids =
|
|
||||||
build_property.InvariantGlobalization =
|
|
||||||
build_property.PlatformNeutralAssembly =
|
|
||||||
build_property.EnforceExtendedAnalyzerRules =
|
|
||||||
build_property._SupportedPlatformList = Linux,macOS,Windows
|
|
||||||
build_property.RootNamespace = Backend
|
|
||||||
build_property.ProjectDir = /home/skingging/Documents/Projects/CSharp/RSE/Backend/
|
|
||||||
build_property.EnableComHosting =
|
|
||||||
build_property.EnableGeneratedComInterfaceComImportInterop =
|
|
||||||
build_property.EffectiveAnalysisLevelStyle = 8.0
|
|
||||||
@@ -1,8 +0,0 @@
|
|||||||
// <auto-generated/>
|
|
||||||
global using global::System;
|
|
||||||
global using global::System.Collections.Generic;
|
|
||||||
global using global::System.IO;
|
|
||||||
global using global::System.Linq;
|
|
||||||
global using global::System.Net.Http;
|
|
||||||
global using global::System.Threading;
|
|
||||||
global using global::System.Threading.Tasks;
|
|
||||||
Binary file not shown.
Binary file not shown.
@@ -1 +0,0 @@
|
|||||||
fd3824608fd94d5a6ca4c7e65b7b3b8908871d218ed2a606e6da4c37de80f21d
|
|
||||||
@@ -1,51 +0,0 @@
|
|||||||
/home/skingging/Documents/Projects/CSharp/RSE/Backend/bin/Debug/net8.0/linux-x64/Backend
|
|
||||||
/home/skingging/Documents/Projects/CSharp/RSE/Backend/bin/Debug/net8.0/linux-x64/Backend.deps.json
|
|
||||||
/home/skingging/Documents/Projects/CSharp/RSE/Backend/bin/Debug/net8.0/linux-x64/Backend.runtimeconfig.json
|
|
||||||
/home/skingging/Documents/Projects/CSharp/RSE/Backend/bin/Debug/net8.0/linux-x64/Backend.dll
|
|
||||||
/home/skingging/Documents/Projects/CSharp/RSE/Backend/bin/Debug/net8.0/linux-x64/Backend.pdb
|
|
||||||
/home/skingging/Documents/Projects/CSharp/RSE/Backend/bin/Debug/net8.0/linux-x64/Microsoft.Data.Sqlite.dll
|
|
||||||
/home/skingging/Documents/Projects/CSharp/RSE/Backend/bin/Debug/net8.0/linux-x64/SQLitePCLRaw.batteries_v2.dll
|
|
||||||
/home/skingging/Documents/Projects/CSharp/RSE/Backend/bin/Debug/net8.0/linux-x64/SQLitePCLRaw.core.dll
|
|
||||||
/home/skingging/Documents/Projects/CSharp/RSE/Backend/bin/Debug/net8.0/linux-x64/SQLitePCLRaw.provider.e_sqlite3.dll
|
|
||||||
/home/skingging/Documents/Projects/CSharp/RSE/Backend/bin/Debug/net8.0/linux-x64/libsqlite3.so
|
|
||||||
/home/skingging/Documents/Projects/CSharp/RSE/Backend/bin/Debug/net8.0/linux-x64/libe_sqlite3.so
|
|
||||||
/home/skingging/Documents/Projects/CSharp/RSE/Backend/bin/Debug/net8.0/linux-x64/Models.dll
|
|
||||||
/home/skingging/Documents/Projects/CSharp/RSE/Backend/bin/Debug/net8.0/linux-x64/Models.pdb
|
|
||||||
/home/skingging/Documents/Projects/CSharp/RSE/Backend/obj/Debug/net8.0/linux-x64/Backend.csproj.AssemblyReference.cache
|
|
||||||
/home/skingging/Documents/Projects/CSharp/RSE/Backend/obj/Debug/net8.0/linux-x64/Backend.GeneratedMSBuildEditorConfig.editorconfig
|
|
||||||
/home/skingging/Documents/Projects/CSharp/RSE/Backend/obj/Debug/net8.0/linux-x64/Backend.AssemblyInfoInputs.cache
|
|
||||||
/home/skingging/Documents/Projects/CSharp/RSE/Backend/obj/Debug/net8.0/linux-x64/Backend.AssemblyInfo.cs
|
|
||||||
/home/skingging/Documents/Projects/CSharp/RSE/Backend/obj/Debug/net8.0/linux-x64/Backend.csproj.CoreCompileInputs.cache
|
|
||||||
/home/skingging/Documents/Projects/CSharp/RSE/Backend/obj/Debug/net8.0/linux-x64/Backend.csproj.Up2Date
|
|
||||||
/home/skingging/Documents/Projects/CSharp/RSE/Backend/obj/Debug/net8.0/linux-x64/Backend.dll
|
|
||||||
/home/skingging/Documents/Projects/CSharp/RSE/Backend/obj/Debug/net8.0/linux-x64/refint/Backend.dll
|
|
||||||
/home/skingging/Documents/Projects/CSharp/RSE/Backend/obj/Debug/net8.0/linux-x64/Backend.pdb
|
|
||||||
/home/skingging/Documents/Projects/CSharp/RSE/Backend/obj/Debug/net8.0/linux-x64/Backend.genruntimeconfig.cache
|
|
||||||
/home/skingging/Documents/Projects/CSharp/RSE/Backend/obj/Debug/net8.0/linux-x64/ref/Backend.dll
|
|
||||||
/home/skingging/Documents/Projects/CSharp/RSE/Backend/bin/Debug/net8.0/linux-x64/AsyncIO.dll
|
|
||||||
/home/skingging/Documents/Projects/CSharp/RSE/Backend/bin/Debug/net8.0/linux-x64/Microsoft.Bcl.AsyncInterfaces.dll
|
|
||||||
/home/skingging/Documents/Projects/CSharp/RSE/Backend/bin/Debug/net8.0/linux-x64/Microsoft.Extensions.ObjectPool.dll
|
|
||||||
/home/skingging/Documents/Projects/CSharp/RSE/Backend/bin/Debug/net8.0/linux-x64/Microsoft.Win32.SystemEvents.dll
|
|
||||||
/home/skingging/Documents/Projects/CSharp/RSE/Backend/bin/Debug/net8.0/linux-x64/NaCl.dll
|
|
||||||
/home/skingging/Documents/Projects/CSharp/RSE/Backend/bin/Debug/net8.0/linux-x64/NetMQ.dll
|
|
||||||
/home/skingging/Documents/Projects/CSharp/RSE/Backend/bin/Debug/net8.0/linux-x64/System.Drawing.Common.dll
|
|
||||||
/home/skingging/Documents/Projects/CSharp/RSE/Backend/bin/Debug/net8.0/linux-x64/System.Private.ServiceModel.dll
|
|
||||||
/home/skingging/Documents/Projects/CSharp/RSE/Backend/bin/Debug/net8.0/linux-x64/System.Security.Cryptography.Pkcs.dll
|
|
||||||
/home/skingging/Documents/Projects/CSharp/RSE/Backend/bin/Debug/net8.0/linux-x64/System.Security.Cryptography.Xml.dll
|
|
||||||
/home/skingging/Documents/Projects/CSharp/RSE/Backend/bin/Debug/net8.0/linux-x64/System.Security.Permissions.dll
|
|
||||||
/home/skingging/Documents/Projects/CSharp/RSE/Backend/bin/Debug/net8.0/linux-x64/System.ServiceModel.Primitives.dll
|
|
||||||
/home/skingging/Documents/Projects/CSharp/RSE/Backend/bin/Debug/net8.0/linux-x64/System.ServiceModel.dll
|
|
||||||
/home/skingging/Documents/Projects/CSharp/RSE/Backend/bin/Debug/net8.0/linux-x64/System.Windows.Extensions.dll
|
|
||||||
/home/skingging/Documents/Projects/CSharp/RSE/Backend/bin/Debug/net8.0/linux-x64/cs/System.Private.ServiceModel.resources.dll
|
|
||||||
/home/skingging/Documents/Projects/CSharp/RSE/Backend/bin/Debug/net8.0/linux-x64/de/System.Private.ServiceModel.resources.dll
|
|
||||||
/home/skingging/Documents/Projects/CSharp/RSE/Backend/bin/Debug/net8.0/linux-x64/es/System.Private.ServiceModel.resources.dll
|
|
||||||
/home/skingging/Documents/Projects/CSharp/RSE/Backend/bin/Debug/net8.0/linux-x64/fr/System.Private.ServiceModel.resources.dll
|
|
||||||
/home/skingging/Documents/Projects/CSharp/RSE/Backend/bin/Debug/net8.0/linux-x64/it/System.Private.ServiceModel.resources.dll
|
|
||||||
/home/skingging/Documents/Projects/CSharp/RSE/Backend/bin/Debug/net8.0/linux-x64/ja/System.Private.ServiceModel.resources.dll
|
|
||||||
/home/skingging/Documents/Projects/CSharp/RSE/Backend/bin/Debug/net8.0/linux-x64/ko/System.Private.ServiceModel.resources.dll
|
|
||||||
/home/skingging/Documents/Projects/CSharp/RSE/Backend/bin/Debug/net8.0/linux-x64/pl/System.Private.ServiceModel.resources.dll
|
|
||||||
/home/skingging/Documents/Projects/CSharp/RSE/Backend/bin/Debug/net8.0/linux-x64/pt-BR/System.Private.ServiceModel.resources.dll
|
|
||||||
/home/skingging/Documents/Projects/CSharp/RSE/Backend/bin/Debug/net8.0/linux-x64/ru/System.Private.ServiceModel.resources.dll
|
|
||||||
/home/skingging/Documents/Projects/CSharp/RSE/Backend/bin/Debug/net8.0/linux-x64/tr/System.Private.ServiceModel.resources.dll
|
|
||||||
/home/skingging/Documents/Projects/CSharp/RSE/Backend/bin/Debug/net8.0/linux-x64/zh-Hans/System.Private.ServiceModel.resources.dll
|
|
||||||
/home/skingging/Documents/Projects/CSharp/RSE/Backend/bin/Debug/net8.0/linux-x64/zh-Hant/System.Private.ServiceModel.resources.dll
|
|
||||||
Binary file not shown.
@@ -1 +0,0 @@
|
|||||||
a6028093686ad8ada04d4f48d5cf0f5281c16246ab92de50a4b16c2ef86d3719
|
|
||||||
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
@@ -1,4 +0,0 @@
|
|||||||
// <autogenerated />
|
|
||||||
using System;
|
|
||||||
using System.Reflection;
|
|
||||||
[assembly: global::System.Runtime.Versioning.TargetFrameworkAttribute(".NETCoreApp,Version=v9.0", FrameworkDisplayName = ".NET 9.0")]
|
|
||||||
@@ -1,22 +0,0 @@
|
|||||||
//------------------------------------------------------------------------------
|
|
||||||
// <auto-generated>
|
|
||||||
// This code was generated by a tool.
|
|
||||||
//
|
|
||||||
// Changes to this file may cause incorrect behavior and will be lost if
|
|
||||||
// the code is regenerated.
|
|
||||||
// </auto-generated>
|
|
||||||
//------------------------------------------------------------------------------
|
|
||||||
|
|
||||||
using System;
|
|
||||||
using System.Reflection;
|
|
||||||
|
|
||||||
[assembly: System.Reflection.AssemblyCompanyAttribute("Backend")]
|
|
||||||
[assembly: System.Reflection.AssemblyConfigurationAttribute("Debug")]
|
|
||||||
[assembly: System.Reflection.AssemblyFileVersionAttribute("1.0.0.0")]
|
|
||||||
[assembly: System.Reflection.AssemblyInformationalVersionAttribute("1.0.0")]
|
|
||||||
[assembly: System.Reflection.AssemblyProductAttribute("Backend")]
|
|
||||||
[assembly: System.Reflection.AssemblyTitleAttribute("Backend")]
|
|
||||||
[assembly: System.Reflection.AssemblyVersionAttribute("1.0.0.0")]
|
|
||||||
|
|
||||||
// Generated by the MSBuild WriteCodeFragment class.
|
|
||||||
|
|
||||||
@@ -1 +0,0 @@
|
|||||||
9371234864fbc6630f90d88b86a9165d6bf6b07556d735c0a3bcf7b4cfc5fd84
|
|
||||||
@@ -1,14 +0,0 @@
|
|||||||
is_global = true
|
|
||||||
build_property.TargetFramework = net9.0
|
|
||||||
build_property.TargetPlatformMinVersion =
|
|
||||||
build_property.UsingMicrosoftNETSdkWeb =
|
|
||||||
build_property.ProjectTypeGuids =
|
|
||||||
build_property.InvariantGlobalization =
|
|
||||||
build_property.PlatformNeutralAssembly =
|
|
||||||
build_property.EnforceExtendedAnalyzerRules =
|
|
||||||
build_property._SupportedPlatformList = Linux,macOS,Windows
|
|
||||||
build_property.RootNamespace = Backend
|
|
||||||
build_property.ProjectDir = /home/skingging/Documents/Projects/CSharp/RSE/Backend/
|
|
||||||
build_property.EnableComHosting =
|
|
||||||
build_property.EnableGeneratedComInterfaceComImportInterop =
|
|
||||||
build_property.EffectiveAnalysisLevelStyle = 9.0
|
|
||||||
@@ -1,8 +0,0 @@
|
|||||||
// <auto-generated/>
|
|
||||||
global using global::System;
|
|
||||||
global using global::System.Collections.Generic;
|
|
||||||
global using global::System.IO;
|
|
||||||
global using global::System.Linq;
|
|
||||||
global using global::System.Net.Http;
|
|
||||||
global using global::System.Threading;
|
|
||||||
global using global::System.Threading.Tasks;
|
|
||||||
Binary file not shown.
Binary file not shown.
@@ -1,4 +0,0 @@
|
|||||||
// <autogenerated />
|
|
||||||
using System;
|
|
||||||
using System.Reflection;
|
|
||||||
[assembly: global::System.Runtime.Versioning.TargetFrameworkAttribute(".NETCoreApp,Version=v9.0", FrameworkDisplayName = ".NET 9.0")]
|
|
||||||
@@ -1,22 +0,0 @@
|
|||||||
//------------------------------------------------------------------------------
|
|
||||||
// <auto-generated>
|
|
||||||
// This code was generated by a tool.
|
|
||||||
//
|
|
||||||
// Changes to this file may cause incorrect behavior and will be lost if
|
|
||||||
// the code is regenerated.
|
|
||||||
// </auto-generated>
|
|
||||||
//------------------------------------------------------------------------------
|
|
||||||
|
|
||||||
using System;
|
|
||||||
using System.Reflection;
|
|
||||||
|
|
||||||
[assembly: System.Reflection.AssemblyCompanyAttribute("Backend")]
|
|
||||||
[assembly: System.Reflection.AssemblyConfigurationAttribute("Debug")]
|
|
||||||
[assembly: System.Reflection.AssemblyFileVersionAttribute("1.0.0.0")]
|
|
||||||
[assembly: System.Reflection.AssemblyInformationalVersionAttribute("1.0.0")]
|
|
||||||
[assembly: System.Reflection.AssemblyProductAttribute("Backend")]
|
|
||||||
[assembly: System.Reflection.AssemblyTitleAttribute("Backend")]
|
|
||||||
[assembly: System.Reflection.AssemblyVersionAttribute("1.0.0.0")]
|
|
||||||
|
|
||||||
// Generated by the MSBuild WriteCodeFragment class.
|
|
||||||
|
|
||||||
@@ -1 +0,0 @@
|
|||||||
9371234864fbc6630f90d88b86a9165d6bf6b07556d735c0a3bcf7b4cfc5fd84
|
|
||||||
@@ -1,18 +0,0 @@
|
|||||||
is_global = true
|
|
||||||
build_property.EnableAotAnalyzer =
|
|
||||||
build_property.EnableSingleFileAnalyzer =
|
|
||||||
build_property.EnableTrimAnalyzer =
|
|
||||||
build_property.IncludeAllContentForSelfExtract =
|
|
||||||
build_property.TargetFramework = net9.0
|
|
||||||
build_property.TargetPlatformMinVersion =
|
|
||||||
build_property.UsingMicrosoftNETSdkWeb =
|
|
||||||
build_property.ProjectTypeGuids =
|
|
||||||
build_property.InvariantGlobalization =
|
|
||||||
build_property.PlatformNeutralAssembly =
|
|
||||||
build_property.EnforceExtendedAnalyzerRules =
|
|
||||||
build_property._SupportedPlatformList = Linux,macOS,Windows
|
|
||||||
build_property.RootNamespace = Backend
|
|
||||||
build_property.ProjectDir = /home/skingging/Documents/Projects/CSharp/RSE/Backend/
|
|
||||||
build_property.EnableComHosting =
|
|
||||||
build_property.EnableGeneratedComInterfaceComImportInterop =
|
|
||||||
build_property.EffectiveAnalysisLevelStyle = 9.0
|
|
||||||
@@ -1,8 +0,0 @@
|
|||||||
// <auto-generated/>
|
|
||||||
global using global::System;
|
|
||||||
global using global::System.Collections.Generic;
|
|
||||||
global using global::System.IO;
|
|
||||||
global using global::System.Linq;
|
|
||||||
global using global::System.Net.Http;
|
|
||||||
global using global::System.Threading;
|
|
||||||
global using global::System.Threading.Tasks;
|
|
||||||
Binary file not shown.
@@ -1,4 +0,0 @@
|
|||||||
// <autogenerated />
|
|
||||||
using System;
|
|
||||||
using System.Reflection;
|
|
||||||
[assembly: global::System.Runtime.Versioning.TargetFrameworkAttribute(".NETCoreApp,Version=v8.0", FrameworkDisplayName = ".NET 8.0")]
|
|
||||||
@@ -1,22 +0,0 @@
|
|||||||
//------------------------------------------------------------------------------
|
|
||||||
// <auto-generated>
|
|
||||||
// This code was generated by a tool.
|
|
||||||
//
|
|
||||||
// Changes to this file may cause incorrect behavior and will be lost if
|
|
||||||
// the code is regenerated.
|
|
||||||
// </auto-generated>
|
|
||||||
//------------------------------------------------------------------------------
|
|
||||||
|
|
||||||
using System;
|
|
||||||
using System.Reflection;
|
|
||||||
|
|
||||||
[assembly: System.Reflection.AssemblyCompanyAttribute("Backend")]
|
|
||||||
[assembly: System.Reflection.AssemblyConfigurationAttribute("Release")]
|
|
||||||
[assembly: System.Reflection.AssemblyFileVersionAttribute("1.0.0.0")]
|
|
||||||
[assembly: System.Reflection.AssemblyInformationalVersionAttribute("1.0.0+f3c6338a6ae57d4e839090fca125bc38f764d016")]
|
|
||||||
[assembly: System.Reflection.AssemblyProductAttribute("Backend")]
|
|
||||||
[assembly: System.Reflection.AssemblyTitleAttribute("Backend")]
|
|
||||||
[assembly: System.Reflection.AssemblyVersionAttribute("1.0.0.0")]
|
|
||||||
|
|
||||||
// Generated by the MSBuild WriteCodeFragment class.
|
|
||||||
|
|
||||||
@@ -1 +0,0 @@
|
|||||||
ffe56baf943e027152af8f421cec2146e64a2c69fab0778620c627d36d497988
|
|
||||||
@@ -1,14 +0,0 @@
|
|||||||
is_global = true
|
|
||||||
build_property.TargetFramework = net8.0
|
|
||||||
build_property.TargetPlatformMinVersion =
|
|
||||||
build_property.UsingMicrosoftNETSdkWeb =
|
|
||||||
build_property.ProjectTypeGuids =
|
|
||||||
build_property.InvariantGlobalization =
|
|
||||||
build_property.PlatformNeutralAssembly =
|
|
||||||
build_property.EnforceExtendedAnalyzerRules =
|
|
||||||
build_property._SupportedPlatformList = Linux,macOS,Windows
|
|
||||||
build_property.RootNamespace = Backend
|
|
||||||
build_property.ProjectDir = /home/skingging/Documents/Projects/CSharp/RSE/Backend/
|
|
||||||
build_property.EnableComHosting =
|
|
||||||
build_property.EnableGeneratedComInterfaceComImportInterop =
|
|
||||||
build_property.EffectiveAnalysisLevelStyle = 8.0
|
|
||||||
@@ -1,8 +0,0 @@
|
|||||||
// <auto-generated/>
|
|
||||||
global using global::System;
|
|
||||||
global using global::System.Collections.Generic;
|
|
||||||
global using global::System.IO;
|
|
||||||
global using global::System.Linq;
|
|
||||||
global using global::System.Net.Http;
|
|
||||||
global using global::System.Threading;
|
|
||||||
global using global::System.Threading.Tasks;
|
|
||||||
Binary file not shown.
Binary file not shown.
@@ -1 +0,0 @@
|
|||||||
493a163160bdbc6e8e87f2ed6c5ee9a200739324e6f660fe040858ad1f69ffae
|
|
||||||
@@ -1,82 +0,0 @@
|
|||||||
/home/skingging/Documents/Projects/CSharp/RSE/Backend/bin/Release/net8.0/Backend
|
|
||||||
/home/skingging/Documents/Projects/CSharp/RSE/Backend/bin/Release/net8.0/Backend.deps.json
|
|
||||||
/home/skingging/Documents/Projects/CSharp/RSE/Backend/bin/Release/net8.0/Backend.runtimeconfig.json
|
|
||||||
/home/skingging/Documents/Projects/CSharp/RSE/Backend/bin/Release/net8.0/Backend.dll
|
|
||||||
/home/skingging/Documents/Projects/CSharp/RSE/Backend/bin/Release/net8.0/Backend.pdb
|
|
||||||
/home/skingging/Documents/Projects/CSharp/RSE/Backend/bin/Release/net8.0/AsyncIO.dll
|
|
||||||
/home/skingging/Documents/Projects/CSharp/RSE/Backend/bin/Release/net8.0/FuzzySharp.dll
|
|
||||||
/home/skingging/Documents/Projects/CSharp/RSE/Backend/bin/Release/net8.0/Microsoft.Bcl.AsyncInterfaces.dll
|
|
||||||
/home/skingging/Documents/Projects/CSharp/RSE/Backend/bin/Release/net8.0/Microsoft.Data.Sqlite.dll
|
|
||||||
/home/skingging/Documents/Projects/CSharp/RSE/Backend/bin/Release/net8.0/Microsoft.Extensions.ObjectPool.dll
|
|
||||||
/home/skingging/Documents/Projects/CSharp/RSE/Backend/bin/Release/net8.0/Microsoft.Win32.SystemEvents.dll
|
|
||||||
/home/skingging/Documents/Projects/CSharp/RSE/Backend/bin/Release/net8.0/NaCl.dll
|
|
||||||
/home/skingging/Documents/Projects/CSharp/RSE/Backend/bin/Release/net8.0/NetMQ.dll
|
|
||||||
/home/skingging/Documents/Projects/CSharp/RSE/Backend/bin/Release/net8.0/SQLitePCLRaw.batteries_v2.dll
|
|
||||||
/home/skingging/Documents/Projects/CSharp/RSE/Backend/bin/Release/net8.0/SQLitePCLRaw.core.dll
|
|
||||||
/home/skingging/Documents/Projects/CSharp/RSE/Backend/bin/Release/net8.0/SQLitePCLRaw.provider.e_sqlite3.dll
|
|
||||||
/home/skingging/Documents/Projects/CSharp/RSE/Backend/bin/Release/net8.0/System.Drawing.Common.dll
|
|
||||||
/home/skingging/Documents/Projects/CSharp/RSE/Backend/bin/Release/net8.0/System.Private.ServiceModel.dll
|
|
||||||
/home/skingging/Documents/Projects/CSharp/RSE/Backend/bin/Release/net8.0/System.Security.Cryptography.Pkcs.dll
|
|
||||||
/home/skingging/Documents/Projects/CSharp/RSE/Backend/bin/Release/net8.0/System.Security.Cryptography.Xml.dll
|
|
||||||
/home/skingging/Documents/Projects/CSharp/RSE/Backend/bin/Release/net8.0/System.Security.Permissions.dll
|
|
||||||
/home/skingging/Documents/Projects/CSharp/RSE/Backend/bin/Release/net8.0/System.ServiceModel.Primitives.dll
|
|
||||||
/home/skingging/Documents/Projects/CSharp/RSE/Backend/bin/Release/net8.0/System.ServiceModel.dll
|
|
||||||
/home/skingging/Documents/Projects/CSharp/RSE/Backend/bin/Release/net8.0/System.Windows.Extensions.dll
|
|
||||||
/home/skingging/Documents/Projects/CSharp/RSE/Backend/bin/Release/net8.0/cs/System.Private.ServiceModel.resources.dll
|
|
||||||
/home/skingging/Documents/Projects/CSharp/RSE/Backend/bin/Release/net8.0/de/System.Private.ServiceModel.resources.dll
|
|
||||||
/home/skingging/Documents/Projects/CSharp/RSE/Backend/bin/Release/net8.0/es/System.Private.ServiceModel.resources.dll
|
|
||||||
/home/skingging/Documents/Projects/CSharp/RSE/Backend/bin/Release/net8.0/fr/System.Private.ServiceModel.resources.dll
|
|
||||||
/home/skingging/Documents/Projects/CSharp/RSE/Backend/bin/Release/net8.0/it/System.Private.ServiceModel.resources.dll
|
|
||||||
/home/skingging/Documents/Projects/CSharp/RSE/Backend/bin/Release/net8.0/ja/System.Private.ServiceModel.resources.dll
|
|
||||||
/home/skingging/Documents/Projects/CSharp/RSE/Backend/bin/Release/net8.0/ko/System.Private.ServiceModel.resources.dll
|
|
||||||
/home/skingging/Documents/Projects/CSharp/RSE/Backend/bin/Release/net8.0/pl/System.Private.ServiceModel.resources.dll
|
|
||||||
/home/skingging/Documents/Projects/CSharp/RSE/Backend/bin/Release/net8.0/pt-BR/System.Private.ServiceModel.resources.dll
|
|
||||||
/home/skingging/Documents/Projects/CSharp/RSE/Backend/bin/Release/net8.0/ru/System.Private.ServiceModel.resources.dll
|
|
||||||
/home/skingging/Documents/Projects/CSharp/RSE/Backend/bin/Release/net8.0/tr/System.Private.ServiceModel.resources.dll
|
|
||||||
/home/skingging/Documents/Projects/CSharp/RSE/Backend/bin/Release/net8.0/zh-Hans/System.Private.ServiceModel.resources.dll
|
|
||||||
/home/skingging/Documents/Projects/CSharp/RSE/Backend/bin/Release/net8.0/zh-Hant/System.Private.ServiceModel.resources.dll
|
|
||||||
/home/skingging/Documents/Projects/CSharp/RSE/Backend/bin/Release/net8.0/runtimes/win/lib/netcoreapp3.0/Microsoft.Win32.SystemEvents.dll
|
|
||||||
/home/skingging/Documents/Projects/CSharp/RSE/Backend/bin/Release/net8.0/runtimes/linux-x64/native/libsqlite3.so
|
|
||||||
/home/skingging/Documents/Projects/CSharp/RSE/Backend/bin/Release/net8.0/runtimes/osx-x64/native/libsqlite3.dylib
|
|
||||||
/home/skingging/Documents/Projects/CSharp/RSE/Backend/bin/Release/net8.0/runtimes/win7-x64/native/sqlite3.dll
|
|
||||||
/home/skingging/Documents/Projects/CSharp/RSE/Backend/bin/Release/net8.0/runtimes/win7-x86/native/sqlite3.dll
|
|
||||||
/home/skingging/Documents/Projects/CSharp/RSE/Backend/bin/Release/net8.0/runtimes/browser-wasm/nativeassets/net8.0/e_sqlite3.a
|
|
||||||
/home/skingging/Documents/Projects/CSharp/RSE/Backend/bin/Release/net8.0/runtimes/linux-arm/native/libe_sqlite3.so
|
|
||||||
/home/skingging/Documents/Projects/CSharp/RSE/Backend/bin/Release/net8.0/runtimes/linux-arm64/native/libe_sqlite3.so
|
|
||||||
/home/skingging/Documents/Projects/CSharp/RSE/Backend/bin/Release/net8.0/runtimes/linux-armel/native/libe_sqlite3.so
|
|
||||||
/home/skingging/Documents/Projects/CSharp/RSE/Backend/bin/Release/net8.0/runtimes/linux-mips64/native/libe_sqlite3.so
|
|
||||||
/home/skingging/Documents/Projects/CSharp/RSE/Backend/bin/Release/net8.0/runtimes/linux-musl-arm/native/libe_sqlite3.so
|
|
||||||
/home/skingging/Documents/Projects/CSharp/RSE/Backend/bin/Release/net8.0/runtimes/linux-musl-arm64/native/libe_sqlite3.so
|
|
||||||
/home/skingging/Documents/Projects/CSharp/RSE/Backend/bin/Release/net8.0/runtimes/linux-musl-x64/native/libe_sqlite3.so
|
|
||||||
/home/skingging/Documents/Projects/CSharp/RSE/Backend/bin/Release/net8.0/runtimes/linux-ppc64le/native/libe_sqlite3.so
|
|
||||||
/home/skingging/Documents/Projects/CSharp/RSE/Backend/bin/Release/net8.0/runtimes/linux-s390x/native/libe_sqlite3.so
|
|
||||||
/home/skingging/Documents/Projects/CSharp/RSE/Backend/bin/Release/net8.0/runtimes/linux-x64/native/libe_sqlite3.so
|
|
||||||
/home/skingging/Documents/Projects/CSharp/RSE/Backend/bin/Release/net8.0/runtimes/linux-x86/native/libe_sqlite3.so
|
|
||||||
/home/skingging/Documents/Projects/CSharp/RSE/Backend/bin/Release/net8.0/runtimes/maccatalyst-arm64/native/libe_sqlite3.dylib
|
|
||||||
/home/skingging/Documents/Projects/CSharp/RSE/Backend/bin/Release/net8.0/runtimes/maccatalyst-x64/native/libe_sqlite3.dylib
|
|
||||||
/home/skingging/Documents/Projects/CSharp/RSE/Backend/bin/Release/net8.0/runtimes/osx-arm64/native/libe_sqlite3.dylib
|
|
||||||
/home/skingging/Documents/Projects/CSharp/RSE/Backend/bin/Release/net8.0/runtimes/osx-x64/native/libe_sqlite3.dylib
|
|
||||||
/home/skingging/Documents/Projects/CSharp/RSE/Backend/bin/Release/net8.0/runtimes/win-arm/native/e_sqlite3.dll
|
|
||||||
/home/skingging/Documents/Projects/CSharp/RSE/Backend/bin/Release/net8.0/runtimes/win-arm64/native/e_sqlite3.dll
|
|
||||||
/home/skingging/Documents/Projects/CSharp/RSE/Backend/bin/Release/net8.0/runtimes/win-x64/native/e_sqlite3.dll
|
|
||||||
/home/skingging/Documents/Projects/CSharp/RSE/Backend/bin/Release/net8.0/runtimes/win-x86/native/e_sqlite3.dll
|
|
||||||
/home/skingging/Documents/Projects/CSharp/RSE/Backend/bin/Release/net8.0/runtimes/unix/lib/netcoreapp3.0/System.Drawing.Common.dll
|
|
||||||
/home/skingging/Documents/Projects/CSharp/RSE/Backend/bin/Release/net8.0/runtimes/win/lib/netcoreapp3.0/System.Drawing.Common.dll
|
|
||||||
/home/skingging/Documents/Projects/CSharp/RSE/Backend/bin/Release/net8.0/runtimes/win/lib/netcoreapp3.0/System.Security.Cryptography.Pkcs.dll
|
|
||||||
/home/skingging/Documents/Projects/CSharp/RSE/Backend/bin/Release/net8.0/runtimes/win/lib/netcoreapp3.0/System.Windows.Extensions.dll
|
|
||||||
/home/skingging/Documents/Projects/CSharp/RSE/Backend/bin/Release/net8.0/Models.dll
|
|
||||||
/home/skingging/Documents/Projects/CSharp/RSE/Backend/bin/Release/net8.0/Models.pdb
|
|
||||||
/home/skingging/Documents/Projects/CSharp/RSE/Backend/obj/Release/net8.0/Backend.csproj.AssemblyReference.cache
|
|
||||||
/home/skingging/Documents/Projects/CSharp/RSE/Backend/obj/Release/net8.0/Backend.GeneratedMSBuildEditorConfig.editorconfig
|
|
||||||
/home/skingging/Documents/Projects/CSharp/RSE/Backend/obj/Release/net8.0/Backend.AssemblyInfoInputs.cache
|
|
||||||
/home/skingging/Documents/Projects/CSharp/RSE/Backend/obj/Release/net8.0/Backend.AssemblyInfo.cs
|
|
||||||
/home/skingging/Documents/Projects/CSharp/RSE/Backend/obj/Release/net8.0/Backend.csproj.CoreCompileInputs.cache
|
|
||||||
/home/skingging/Documents/Projects/CSharp/RSE/Backend/obj/Release/net8.0/Backend.csproj.Up2Date
|
|
||||||
/home/skingging/Documents/Projects/CSharp/RSE/Backend/obj/Release/net8.0/Backend.dll
|
|
||||||
/home/skingging/Documents/Projects/CSharp/RSE/Backend/obj/Release/net8.0/refint/Backend.dll
|
|
||||||
/home/skingging/Documents/Projects/CSharp/RSE/Backend/obj/Release/net8.0/Backend.pdb
|
|
||||||
/home/skingging/Documents/Projects/CSharp/RSE/Backend/obj/Release/net8.0/Backend.genruntimeconfig.cache
|
|
||||||
/home/skingging/Documents/Projects/CSharp/RSE/Backend/obj/Release/net8.0/ref/Backend.dll
|
|
||||||
/home/skingging/Documents/Projects/CSharp/RSE/Backend/bin/Release/net8.0/MessagePack.dll
|
|
||||||
/home/skingging/Documents/Projects/CSharp/RSE/Backend/bin/Release/net8.0/MessagePack.Annotations.dll
|
|
||||||
/home/skingging/Documents/Projects/CSharp/RSE/Backend/bin/Release/net8.0/Microsoft.NET.StringTools.dll
|
|
||||||
Binary file not shown.
@@ -1 +0,0 @@
|
|||||||
01e015f736467317e5c5ea662b02af6b2459e13eaa954f0d7563836369668286
|
|
||||||
Binary file not shown.
Binary file not shown.
@@ -1,4 +0,0 @@
|
|||||||
// <autogenerated />
|
|
||||||
using System;
|
|
||||||
using System.Reflection;
|
|
||||||
[assembly: global::System.Runtime.Versioning.TargetFrameworkAttribute(".NETCoreApp,Version=v8.0", FrameworkDisplayName = ".NET 8.0")]
|
|
||||||
@@ -1,22 +0,0 @@
|
|||||||
//------------------------------------------------------------------------------
|
|
||||||
// <auto-generated>
|
|
||||||
// This code was generated by a tool.
|
|
||||||
//
|
|
||||||
// Changes to this file may cause incorrect behavior and will be lost if
|
|
||||||
// the code is regenerated.
|
|
||||||
// </auto-generated>
|
|
||||||
//------------------------------------------------------------------------------
|
|
||||||
|
|
||||||
using System;
|
|
||||||
using System.Reflection;
|
|
||||||
|
|
||||||
[assembly: System.Reflection.AssemblyCompanyAttribute("Backend")]
|
|
||||||
[assembly: System.Reflection.AssemblyConfigurationAttribute("Release")]
|
|
||||||
[assembly: System.Reflection.AssemblyFileVersionAttribute("1.0.0.0")]
|
|
||||||
[assembly: System.Reflection.AssemblyInformationalVersionAttribute("1.0.0")]
|
|
||||||
[assembly: System.Reflection.AssemblyProductAttribute("Backend")]
|
|
||||||
[assembly: System.Reflection.AssemblyTitleAttribute("Backend")]
|
|
||||||
[assembly: System.Reflection.AssemblyVersionAttribute("1.0.0.0")]
|
|
||||||
|
|
||||||
// Generated by the MSBuild WriteCodeFragment class.
|
|
||||||
|
|
||||||
@@ -1 +0,0 @@
|
|||||||
f6374ce8e27deb7d389612c875bb24368cf0c20220a76d7c26faa95a09317bab
|
|
||||||
-18
@@ -1,18 +0,0 @@
|
|||||||
is_global = true
|
|
||||||
build_property.EnableAotAnalyzer = true
|
|
||||||
build_property.EnableSingleFileAnalyzer = true
|
|
||||||
build_property.EnableTrimAnalyzer = true
|
|
||||||
build_property.IncludeAllContentForSelfExtract =
|
|
||||||
build_property.TargetFramework = net8.0
|
|
||||||
build_property.TargetPlatformMinVersion =
|
|
||||||
build_property.UsingMicrosoftNETSdkWeb =
|
|
||||||
build_property.ProjectTypeGuids =
|
|
||||||
build_property.InvariantGlobalization = true
|
|
||||||
build_property.PlatformNeutralAssembly =
|
|
||||||
build_property.EnforceExtendedAnalyzerRules =
|
|
||||||
build_property._SupportedPlatformList = Linux,macOS,Windows
|
|
||||||
build_property.RootNamespace = Backend
|
|
||||||
build_property.ProjectDir = /home/skingging/Documents/Projects/CSharp/RSE/Backend/
|
|
||||||
build_property.EnableComHosting =
|
|
||||||
build_property.EnableGeneratedComInterfaceComImportInterop = false
|
|
||||||
build_property.EffectiveAnalysisLevelStyle = 8.0
|
|
||||||
@@ -1,8 +0,0 @@
|
|||||||
// <auto-generated/>
|
|
||||||
global using global::System;
|
|
||||||
global using global::System.Collections.Generic;
|
|
||||||
global using global::System.IO;
|
|
||||||
global using global::System.Linq;
|
|
||||||
global using global::System.Net.Http;
|
|
||||||
global using global::System.Threading;
|
|
||||||
global using global::System.Threading.Tasks;
|
|
||||||
Binary file not shown.
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user