aedart/athenaeum-antivirus

Antivirus scanner for Laravel

8.17.0 2024-12-11 07:51 UTC

README

The Antivirus package provides a "profile-based" approach for scanning files for infections, such as viruses, malware or other harmful code.

use Aedart\Antivirus\Facades\Antivirus;

$result = Antivirus::scan($file);

if (!$result->isOk()) {
    // File may contain harmful code... do something!
}

The package also comes with a default validation rule, to prevent upload of infected files.

use Aedart\Antivirus\Validation\Rules\InfectionFreeFile;
use Illuminate\Support\Facades\Route;
use Illuminate\Http\Request;

Route::post('/pictures', function (Request $request) {
    $request->validate([
        'picture' => [
            'required',
            'file',
            new InfectionFreeFile()
        ]
    ]);

    $file = $request->file('picture');

    // ... do something with uploaded file...
});

Supported Scanners

  • ClamAV
  • Null Scanner (for testing purposes)
  • (Your custom scanner)

Documentation

Please read the official documentation for additional information.

Repository

The mono repository is located at github.com/aedart/athenaeum

Versioning

This package follows Semantic Versioning 2.0.0

License

BSD-3-Clause, Read the LICENSE file included in this package