Skip to content

Project Structure

FullStackHero edited this page Aug 3, 2025 · 2 revisions

πŸ—‚ Project Structure

This page describes the file and folder structure of the VirusTotal File Scanner and explains the purpose of each key component.


πŸ“ Recommended Repository Layout

VirusTotal-File-Scanner/
β”œβ”€β”€ app.py                        # Main application logic (encrypted)
β”œβ”€β”€ cli_scan.py                  # Optional CLI entry point (if available)
β”œβ”€β”€ config.py                    # Configuration file (user-editable)
β”œβ”€β”€ .env                         # Optional environment file (not committed)
β”œβ”€β”€ requirements.txt             # Python dependencies
β”œβ”€β”€ verify_runtime.py            # Optional Runtime check helper
β”œβ”€β”€ README.md                    # Project description
β”œβ”€β”€ LICENSE                      # MIT license file

β”œβ”€β”€ pyarmor_runtime_000000/      # PyArmor runtime (must not be changed)
β”‚   β”œβ”€β”€ __init__.py
β”‚   └── pyarmor_runtime.pyd

β”œβ”€β”€ exports/                     # Exported scan reports (JSON/CSV)
β”‚   └── ...                      # Results saved from the app

β”œβ”€β”€ logs/                        # Optional log output
β”‚   └── scanner.log

└── wiki/                        # Markdown-based wiki (optional)
    └── en/

πŸ“„ File Descriptions

app.py

The core logic of the GUI – encrypted using PyArmor. Do not edit or decrypt.

config.py / .env

User configuration: API key, language, export format, logging options.

cli_scan.py

Optional command-line entry point for automated scans (if included).

requirements.txt

All Python dependencies needed to run the app.

pyarmor_runtime_000000/

Contains the native loader (pyarmor_runtime.pyd) needed to run encrypted code.

verify_runtime.py

Helper script that checks whether the PyArmor runtime is present and functional.


πŸ“‚ Output Folders

  • /exports/ β†’ All scan results exported via GUI (CSV/JSON)
  • /logs/ β†’ Optional scan logs (if enabled in config.py)

πŸ“š Notes

  • Never commit config.py with a real API key.
  • pyarmor_runtime.pyd must be included when distributing.
  • Avoid modifying files in the runtime folder.
Clone this wiki locally