VoyagerModule is a diagnostic tool for service technicians. It automatically collects hardware data from a PC, including CPU, RAM, drives, GPU, battery, and network details, sends it to the Houston server, and generates a QR code with a link to the device record.
- The program runs on a Windows machine that is being audited.
- It collects hardware data through WMI and WinAPI.
- The technician answers a few questions about the physical condition of the device, such as the class, display housing, keyboard, and similar items.
- The collected data is sent as JSON to the Houston endpoint (
POST /api/computers/ingest). - The program prints a QR code in the console, which can be scanned with a phone to open the device card and add photos.
- Windows 10 / 11 (x64 or x86)
- Visual Studio 2022 or newer with C++20 support
- Downloaded third-party libraries (see below)
- A configured and running Houston server on the local network
Before building, open VoyagerModule.cpp and set the Houston server IP and ports in the CONFIG namespace:
namespace CONFIG {
constexpr const char* SERVER_ADDRES = "127.0.0.1"; // Houston server IP address
constexpr unsigned int SERVER_PORT = 3001; // API port
constexpr unsigned int FRONTEND_PORT = 3000; // Frontend port, used to build the QR link
constexpr const char* TMP_API_KEY = "api_key"; // Temporary API key
}The API key is stored in main() in the api_key variable. Replace it with the real one before deployment.
The third-party libraries are not stored in the repository. Before the first build, run the PowerShell script below to download them automatically into ThirdParty/:
.\setup-dependencies.ps1The script downloads:
| Library | Version | Source |
|---|---|---|
| nlohmann/json | 3.12.0 | GitHub Releases |
| cpp-httplib | 0.41.0 | GitHub Releases |
| QR Code generator | main | GitHub |
- Open
VoyagerModule.slnxin Visual Studio 2022. - Select Release | x64.
- Build the project with
Ctrl+Shift+B.
The executable will be created in x64/Release/.
Run VoyagerModule.exe on the machine you want to audit. The program will:
- Show hardware scan progress.
- Ask the technician to answer questions about the physical condition of the device.
- Send the data to the server and display a QR code that can be scanned with a phone.
Note: The program needs administrator privileges to read some WMI data correctly, including drive information through
ROOT\Microsoft\Windows\Storage.
VoyagerModule/
├── VoyagerModule.cpp # Entry point: core logic, payload, HTTP upload, QR code
├── SystemAudit.h / .cpp # Hardware audit through WMI and WinAPI
├── Utility.h / .cpp # Helper functions, such as Trim
├── VoyagerModule.vcxproj # Visual Studio project file
├── VoyagerModule.slnx # Visual Studio solution file
├── setup-dependencies.ps1 # Script that downloads third-party libraries
└── ThirdParty/ # Generated by the script, not stored in the repo
├── httplib.h
├── json.hpp
├── qrcodegen.hpp
└── qrcodegen.cpp