Dr-Lazarus / VirusScanGateway

VirusScanGateway is a Go-based web server designed to facilitate the secure uploading and scanning of files for viruses and malware.
MIT License
0 stars 0 forks source link

Notice: This project is archived and no longer actively maintained.

VirusScanGateway

VirusScanGateway is a Go-based web server designed to facilitate the secure uploading and scanning of files for viruses and malware. It integrates with the VirusTotal API to provide real-time scanning results, which are then stored and displayed from a PostgreSQL database.

Features

AWS Cloud Architecture

image

CI - Dev

How to develop

To install VirusScanGateway, follow these steps:

  1. Clone the repository:
git clone https://github.com/yourusername/VirusScanGateway.git
cd VirusScanGateway
  1. Start your PostGreSQL Instance on Local
  2. Modify .env.dev file to comment CI/CD and uncomment local
    
    # DEV ENVIRONMENT (LOCAL) 
    DATABASE_URL=postgres://cloudsine:password@host.docker.internal:5432/VirusScanGatewayDB?sslmode=disable
    VIRUSTOTAL_API_KEY=Your-Test-API-Key
    ENVIRONMENT=DEV

DEV ENVIRONMENT (CI/CD)

DATABASE_URL=postgresql://postgres:password@db:5432/postgres?sslmode=disable VIRUSTOTAL_API_KEY=Your-Test-API-Key ENVIRONMENT=DEV

5. Run the container:
```bash
docker-compose -f docker-compose-dev-local.yml build
docker-compose -f docker-compose-dev-local.yml up
  1. Server started on localhost:8080

Prerequisites

Before you begin, ensure you have met the following requirements:

Usage

Once the application is running, you can upload files to be scanned via the provided web interface at http://localhost:8080.

Results from the scans will be available in the web interface, and stored in the PostgreSQL database for future reference.

Development

To set up a development environment for contributing to VirusScanGateway, you can use the following additional steps:

  1. Install Go locally on your machine.
  2. Install a PostgreSQL database and configure it according to the application's requirements.

For local development, you can run the server directly using:

make start

Make sure your local environment variables are set according to the .env.dev file.

License

Distributed under the MIT License. See LICENSE for more information.