mirror of
https://github.com/volodymyrsmirnov/MalwareMultiScan.git
synced 2025-10-10 20:26:16 +00:00
finalize refactoring & ready for the PR
This commit is contained in:
@@ -20,7 +20,7 @@ namespace MalwareMultiScan.Backends.Backends.Abstracts
|
||||
|
||||
protected abstract Regex MatchRegex { get; }
|
||||
protected abstract string BackendPath { get; }
|
||||
protected virtual bool ParseStdErr { get; }
|
||||
protected virtual bool ParseStdErr { get; } = false;
|
||||
protected virtual bool ThrowOnNonZeroExitCode { get; } = true;
|
||||
|
||||
protected abstract string GetBackendArguments(string path);
|
||||
|
@@ -4,7 +4,6 @@ using System.Net.Http;
|
||||
using System.Threading;
|
||||
using System.Threading.Tasks;
|
||||
using MalwareMultiScan.Backends.Interfaces;
|
||||
using Microsoft.AspNetCore.Http;
|
||||
|
||||
namespace MalwareMultiScan.Backends.Backends.Abstracts
|
||||
{
|
||||
@@ -23,13 +22,6 @@ namespace MalwareMultiScan.Backends.Backends.Abstracts
|
||||
return await ScanAsync(uriStream, cancellationToken);
|
||||
}
|
||||
|
||||
public async Task<string[]> ScanAsync(IFormFile file, CancellationToken cancellationToken)
|
||||
{
|
||||
await using var fileStream = file.OpenReadStream();
|
||||
|
||||
return await ScanAsync(fileStream, cancellationToken);
|
||||
}
|
||||
|
||||
public async Task<string[]> ScanAsync(Stream stream, CancellationToken cancellationToken)
|
||||
{
|
||||
var tempFile = Path.GetTempFileName();
|
||||
|
@@ -3,7 +3,6 @@ using System.IO;
|
||||
using System.Threading;
|
||||
using System.Threading.Tasks;
|
||||
using MalwareMultiScan.Backends.Interfaces;
|
||||
using Microsoft.AspNetCore.Http;
|
||||
|
||||
namespace MalwareMultiScan.Backends.Backends.Implementations
|
||||
{
|
||||
@@ -21,11 +20,6 @@ namespace MalwareMultiScan.Backends.Backends.Implementations
|
||||
return Scan();
|
||||
}
|
||||
|
||||
public Task<string[]> ScanAsync(IFormFile file, CancellationToken cancellationToken)
|
||||
{
|
||||
return Scan();
|
||||
}
|
||||
|
||||
public Task<string[]> ScanAsync(Stream stream, CancellationToken cancellationToken)
|
||||
{
|
||||
return Scan();
|
||||
|
@@ -1,4 +1,4 @@
|
||||
FROM mindcollapse/malware-multi-scan-worker:latest
|
||||
FROM mindcollapse/malware-multi-scan-scanner:latest
|
||||
|
||||
ENV DEBIAN_FRONTEND noninteractive
|
||||
|
||||
|
@@ -1,4 +1,4 @@
|
||||
FROM mindcollapse/malware-multi-scan-worker:latest
|
||||
FROM mindcollapse/malware-multi-scan-scanner:latest
|
||||
|
||||
RUN apt-get update && apt-get install wget -y
|
||||
|
||||
|
@@ -1,4 +1,4 @@
|
||||
FROM mindcollapse/malware-multi-scan-worker:latest
|
||||
FROM mindcollapse/malware-multi-scan-scanner:latest
|
||||
|
||||
ARG DRWEB_KEY
|
||||
ENV DRWEB_KEY=$DRWEB_KEY
|
||||
|
@@ -1,4 +1,4 @@
|
||||
FROM mindcollapse/malware-multi-scan-worker:latest
|
||||
FROM mindcollapse/malware-multi-scan-scanner:latest
|
||||
|
||||
ARG KES_KEY
|
||||
ENV KES_KEY=$KES_KEY
|
||||
|
@@ -1,4 +1,4 @@
|
||||
FROM mindcollapse/malware-multi-scan-worker:latest
|
||||
FROM mindcollapse/malware-multi-scan-scanner:latest
|
||||
|
||||
RUN apt-get update && apt-get install unzip wget -y
|
||||
|
||||
|
@@ -1,4 +1,4 @@
|
||||
FROM mindcollapse/malware-multi-scan-worker:latest
|
||||
FROM mindcollapse/malware-multi-scan-scanner:latest
|
||||
|
||||
RUN apt-get update && apt-get install wget -y
|
||||
|
||||
|
@@ -11,7 +11,7 @@ WORKDIR /opt/loadlibrary/engine
|
||||
RUN curl -L "https://go.microsoft.com/fwlink/?LinkID=121721&arch=x86" --output mpan-fe.exe
|
||||
RUN cabextract mpan-fe.exe && rm mpan-fe.exe
|
||||
|
||||
FROM mindcollapse/malware-multi-scan-worker:latest
|
||||
FROM mindcollapse/malware-multi-scan-scanner:latest
|
||||
|
||||
RUN apt-get update && apt-get install -y libc6-i386
|
||||
|
||||
|
@@ -2,17 +2,14 @@ using System;
|
||||
using System.IO;
|
||||
using System.Threading;
|
||||
using System.Threading.Tasks;
|
||||
using Microsoft.AspNetCore.Http;
|
||||
|
||||
namespace MalwareMultiScan.Backends.Interfaces
|
||||
{
|
||||
public interface IScanBackend
|
||||
{
|
||||
public string Id { get; }
|
||||
|
||||
public Task<string[]> ScanAsync(string path, CancellationToken cancellationToken);
|
||||
public Task<string[]> ScanAsync(Uri uri, CancellationToken cancellationToken);
|
||||
public Task<string[]> ScanAsync(IFormFile file, CancellationToken cancellationToken);
|
||||
public Task<string[]> ScanAsync(Stream stream, CancellationToken cancellationToken);
|
||||
}
|
||||
}
|
@@ -3,13 +3,10 @@
|
||||
<PropertyGroup>
|
||||
<TargetFramework>netcoreapp3.1</TargetFramework>
|
||||
</PropertyGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<ProjectReference Include="..\MalwareMultiScan.Shared\MalwareMultiScan.Shared.csproj" />
|
||||
</ItemGroup>
|
||||
|
||||
|
||||
<ItemGroup>
|
||||
<PackageReference Include="Microsoft.Extensions.DependencyInjection" Version="3.1.9" />
|
||||
<PackageReference Include="Microsoft.Extensions.Logging.Abstractions" Version="3.1.9" />
|
||||
</ItemGroup>
|
||||
|
||||
</Project>
|
||||
|
@@ -4,6 +4,8 @@ namespace MalwareMultiScan.Backends.Messages
|
||||
{
|
||||
public string Id { get; set; }
|
||||
public string Backend { get; set; }
|
||||
|
||||
public bool Succeeded { get; set; }
|
||||
public string[] Threats { get; set; }
|
||||
}
|
||||
}
|
Reference in New Issue
Block a user