An isolated desktop client for browser-managed IP KVM appliances and embedded
server-management controllers. It supports modern HTML5 viewers as well as
legacy consoles that deliver Java Web Start (.jnlp) sessions:
- dedicated persistent browser profile;
- no browser extensions;
- direct network connection with system/PAC proxies bypassed;
- popup support for JavaScript-created viewer and session windows;
- shared cookies between the management page and HTML5 viewer popups;
- Node.js integration disabled for all remote content.
Saved IPKVM management URLs can be added, edited, removed, and selected from the native Sites menu. Optional per-site credentials can be protected with Windows encryption and autofilled without automatically submitting the form.
- Windows 11 or a modern x86-64 Linux distribution
- Node.js and npm (only needed to run from source or build the application)
- VPN or LAN connectivity to each configured IPKVM management URL
- Each KVM certificate or its issuing CA installed in Windows' Trusted Root Certification Authorities store
cd path\to\ipkvm-console
npm install
npm startLog in through the appliance management page and launch its KVM session normally. HTML5 viewer popups open as maximized Electron windows using the same isolated login session. Although Chromium's popup blocker is disabled, HTTP and HTTPS popup windows remain inside Electron and never get handed to the system's default browser. Remote content remains sandboxed with Node.js integration disabled.
No source configuration file is required. On first launch, the site manager
opens so that the user can add an IPKVM management URL. Sites are stored in
Electron's per-user application-data folder as sites.json. Use
Sites > Add or Manage Sites... to make changes.
The application uses a direct network connection with the Windows system/PAC proxy bypassed. This matches the clean Chrome configuration required by some older IPKVM appliances.
Java Web Start support requires IcedTea-Web or OpenWebStart to be installed.
The app detects common javaws.exe (Windows) and javaws (Linux) locations,
or the executable can be chosen
under KVM > Java Web Start Settings....
IPKVM Console is designed for vendor-neutral web management interfaces, including:
- IP KVM appliances with HTML5 viewers that open in a new browser window;
- appliances and server-management controllers that download JNLP sessions;
- older interfaces that require an isolated browser profile, persistent cookies, popup support, or direct proxy bypass;
- multiple consoles from different vendors stored in one application.
Avocent MergePoint Unity is a known working example. Older Dell iDRAC and other JNLP-based systems can use the Java Web Start integration, subject to the Java version, security policy, and TLS requirements of their firmware. Interfaces that require ActiveX, NPAPI browser plug-ins, or a proprietary native client are not directly embedded by this application.
npm run make:winElectron Forge creates a Squirrel installer under:
out\make\squirrel.windows\x64\IPKVM-Console-Setup.exe
The installer adds the application to the current Windows user profile and creates the standard Squirrel application shortcuts. It does not require an administrator installation.
The GitHub Actions workflow in .github/workflows/windows-build.yml runs the
checks and tests, builds the installer, and uploads the setup executable and
Squirrel update files on pushes to main, pull requests, or manual runs.
To create only an unpacked application directory:
npm run package:winThat output is written below out\IPKVM Console-win32-x64.
Linux packages must be built on a Linux host or in a Linux container. From a Linux checkout, run:
npm ci
npm run check
npm test
npm run build:linuxThe Linux build produces x86-64 AppImage, Debian, and RPM packages in dist/:
IPKVM-Console-<version>-<architecture>.AppImage
IPKVM-Console-<version>-<architecture>.deb
IPKVM-Console-<version>-<architecture>.rpm
The AppImage is portable and does not require installation:
chmod +x IPKVM-Console-*.AppImage
./IPKVM-Console-*.AppImageInstall the distribution-specific packages with either:
sudo apt install ./IPKVM-Console-*.deb
sudo dnf install ./IPKVM-Console-*.rpmThe GitHub Actions workflow in .github/workflows/linux-build.yml builds and
uploads all three formats on pushes to main, pull requests, or manual runs.
The release workflow builds all Windows and Linux packages, generates release notes, creates a GitHub Release, and attaches the installer, AppImage, DEB, RPM, and Squirrel update files. It runs when a version tag is pushed.
The tag must exactly match the version in package.json. For example, when
package.json contains version 1.3.0:
git tag -a v1.3.0 -m "IPKVM Console v1.3.0"
git push origin v1.3.0Push the workflow changes to main before creating the tag. The workflow uses
GitHub's repository-scoped GITHUB_TOKEN; no personal access token or custom
secret is required.
Add the chosen Windows icon as:
images\ipkvm.ico
Forge automatically applies it to both the executable and installer. See
images\README.md for the PNG, macOS, and optional SVG filenames and the
recommended ICO sizes. Re-run npm run make:win after replacing the icon.
The application menu remains visible on management windows. Useful commands include:
- KVM > Open Current Site (
Ctrl+Home) - KVM > Manage Sites (
Ctrl+Shift+S) - KVM > Java Web Start Settings
- KVM > Clear Isolated Session Data
- View > Toggle Developer Tools (
Ctrl+Shift+I) - View > Toggle Full Screen (
F11)
The isolated profile persists between launches. Clearing it only affects this application; it does not alter Chrome or Edge data.
The application does not bypass TLS validation. Each appliance certificate or
its issuing CA must be trusted by Windows and valid for the configured
hostname. Remote pages
run with Node.js integration disabled, context isolation enabled, and the
Electron renderer sandbox enabled.
IPKVM Console supports HTML5 viewers and can hand downloaded .jnlp sessions
to an installed IcedTea-Web or OpenWebStart javaws.exe launcher. Configure the
launcher under KVM > Java Web Start Settings.
Saved per-site credentials are encrypted with Electron safeStorage—Windows
DPAPI on Windows and the available system credential store on Linux—and
autofilled into recognized login forms. If secure storage is unavailable, the
app disables password saving. Autofill never submits the form automatically. A
blank password while editing keeps the saved password; use Remove the
currently saved password to clear it.
IPKVM Console is published by Nixdevil Productions.
Copyright © Nixdevil Productions.