Important
This is a sister-project to the main project of VirtuNet, this client cannot connect to anything other than the local OpenVPN Server made by that program.
A simple graphical interface for OpenVPN, that allows for less friction in joining the VirtuNet Virtual Network Servers. It is currently only working on Windows, but has potential to be cross-platform.
The VirtuNet Client works out of the box, since it is a PyInstaller packaged executable. It doesn't require an installation, instead just download the latest release from the release page.
To package the VirtuNet Client into the executable, you have to use PyInstaller. This allows you to package the source code into a smaller footprint. We specifically require the "--onedir" setting, due to our assets folder holding important setup files that need to be reachable for the client.
# Package code into an executable + needed assets into a folder called "VirtuNetClient"
pyinstaller --name VirtuNetClient --onedir --windowed --add-data "Assets;Assets" --icon Assets/VirtuNet.ico main.pyAs you open the VirtuNet Client for the first time, it might prompt you to install the correct version of NMAP and OpenVPN (Community Edition). The installers for these programs come pre-packaged with the VirtuNet-Client, which allows for direct installation of the correct versions.
After the dependencies are resolved, you are redirected to the only other page of the program. Here you see textboxes that require inputs such as name of client, Join code to use, and IP:Port to connect to. This information is all that the client requires to form a connection with the VirtuNet Instructor.
After connecting to a VirtuNet network, you will now be able to scan the network shown in the NMAP hint to find the virtual devices. Scanning the network will reveal all the devices, alongside important information about said devices, currently VirtuNet handles successfully recreating the following:
- Name Broadcasting
- OS Fingerprinting
- Service Fingerprints
- Latency Simulating
Here is a list of some known issues and how to fix them:
- Failing TLS Handshake.
- This problem can occur if the system clock is out of sync, try and resync the clock in Windows.
- Connection isn't being accepted.
- Often firewall related on the Linux-side, see if UFW or other firewalls are actively blocking client connections.




