This Python project automates the detection of new files in the specified folders, leveraging VirusTotal's V3 API to check for potential viruses. When a new file is detected and a virus is found, a pop-up window displays the file name, the number of detections out of the total number of scanners, and provides options to either delete the file or leave it.
git clone https://github.com/JaggedGem/virus-total-antivirus.git
cd virus-total-antivirus
pip install -r requirements.txt
python linker.py
The program will automatically monitor the folders specified in the config.json
file for new files and perform virus scans using the VirusTotal API.
If a virus is detected, a pop-up window will display the file name, number of detections, and options to delete or leave the file.
[x] Improve File Handling:
[x] Implement GUI for User Interaction:
[x] Refactor Code for Modularity:
[x] Optimize API Requests:
[x] Improve Error Handling:
[x] Expand Documentation:
config.json
file.[x] Implement Logging:
[x] Support for Additional Platforms:
[x] Enhance Security Measures:
config.json
file should contain your VirusTotal API Key and the paths you want the script to watch for new files. Here is an example of how the config.json
file should look:{
"api_key": "your_virustotal_api_key",
"watch_paths": ["path1", "path2", ...],
"log_level": "INFO"
}
Replace "your_virustotal_api_key"
with your actual VirusTotal API key, "path1", "path2", ...
with the paths you want the script to watch for new files, and "log_level"
with your desired log level (DEBUG, INFO, WARNING, ERROR, CRITICAL).
Replace "your_virustotal_api_key"
with your actual VirusTotal API key and "path1", "path2", ...
with the paths you want the script to watch for new files.
python watcher.py
The program will automatically monitor the specified folders for new files and perform virus scans using the VirusTotal API.
If a virus is detected, a pop-up window will display the file name, number of detections, and options to delete or leave the file.
config.json
file.Contributions are welcome! If you'd like to contribute to this project, please follow the contributing guidelines.
This project is licensed under the MIT License.