A Node.js library that detects whether the current environment is a virtual machine (VM).
It is built on top of the VMAware library and operates as a C++ based crossplatform module.
This is particularly useful for Electron-based applications that need to detect VM environments.
npm i node-vm-detectimport { getVMInfo } from 'node-vm-detect';
const {
isVM,
brand,
type,
conclusion,
percentage,
detectedCount,
} = await getVMInfo();For detailed information on VM detection and each related item, please refer to VMAware.
VMAware supports 32-bit environments, but this library only supports 64-bit platforms.
- Requires Node.js 18 or later (Electron 23 or later).
| OS | Arch | Supported |
|---|---|---|
| Windows | x64 | ✅ |
| Windows | x86 | ❌ |
| Windows | Arm64 | ❌ |
| Windows | Arm32 | ❌ |
| macOS | x64 | ✅ |
| macOS | Arm64 | ✅ |
| Linux | x64 | ✅ |
| Linux | x86 | ❌ |
| Linux | Arm64 | ✅ |
| Linux | Arm32 | ❌ |
There is currently an issue with building for Windows ARM architectures, which is under investigation.
Future plans include implementing useful features from VMAware such as its flag system.
MIT