Skip to content

Latest commit

 

History

11 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

VTCheck

A "Check on VirusTotal" entry in the Windows Explorer right-click menu. Right-click a file → it's checked via VirusTotal → a verdict (CLEAN / DANGEROUS / SUSPICIOUS / UNKNOWN) shown in a console window.

Install

  1. Download VTCheck-Setup.exe from Releases.
  2. Run it and install. No administrator rights needed — everything is installed into the current user's own folder.

Requirements

  • Windows 11 (should also work on Windows 10).
  • Your own free VirusTotal API key — https://www.virustotal.com/gui/my-apikey. The key is entered on first use and stored encrypted (DPAPI) in %APPDATA%\VTCheck\config.json, tied to your Windows account.
  • curl.exe (built into Windows 10/11) — only needed to upload files VirusTotal hasn't seen yet; checking already-known files works without it.

The free VirusTotal key is limited to 4 requests per minute and 500 per day.

Building from source (for developers)

The ready-made installer is on the Releases page. The steps below are for building it yourself or changing the code.

  1. Install NSIS (makensis), PowerShell 7 (pwsh), and the Pester test module.
  2. Bump VERSION if needed.
  3. Run build.sh (Linux/macOS/WSL), or the equivalent steps by hand on Windows: Invoke-Pester -Path tests -CI, then makensis installer.nsi.

The build runs the test suite first (tests/, 88 tests) and fails if any test fails or the run doesn't happen at all.

Constraints that matter for contributors

  • Target version is PowerShell 5.1 (the built-in powershell.exe — that's what the menu entry actually launches) — no PowerShell 6+ syntax.
  • All .ps1 files and installer.nsi are UTF-8 with BOM; without it PowerShell 5.1 reads non-ASCII text as garbage.
  • Any path that comes from the user gets -LiteralPath, never -Path.
  • Registry writes are HKCU only — no administrator rights required.

How it's built

  • src/scan.ps1 — entry point (receives %1 from the menu item).
  • src/logic.ps1 — verdict logic and upload strategy.
  • src/api.ps1 — VirusTotal requests (TLS 1.2; path and key go to curl through a temporary --config file, not through process argv).
  • src/ui.ps1 — console screens.
  • src/config.ps1 — key storage.
  • installer.nsi — NSIS installer: menu entry, launch command, entry in the installed-programs list — all under HKCU.

License

MIT — see LICENSE.

About

Check files on VirusTotal from the Windows Explorer right-click menu.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages