Skip to content

Nx Powertoys Installation Guide

Nx Powertoys is an API connector that extends NX Witness. Install it on the same host as (or with localhost access to) your NX server, then open the web UI at http://127.0.0.1:8080.

Pick your path: Windows · Linux · then Post-installation setup.

Prerequisites

  • Nx Witness Server version 5.1.4.38717+ (hive support)
  • Administrator / root on the host where NxPT runs
  • Network access to the NX server (typically localhost)
  • Valid Nx Powertoys license (NX distribution channels)
  • NX Administrator with Digest Authentication enabled — required for API calls (see below)

System requirements

OS Windows 10/11, or Linux (Ubuntu 18.04+, Debian 11+)
Arch x86_64, or arm64 Linux (e.g. Raspberry Pi 4, 64-bit OS)
RAM 2 GB minimum
Disk ~100 MB free
Network Local access to NX server

Digest Authentication (required)

The NX Administrator used by Nx Powertoys must have Digest Authentication enabled. Without it, some API calls fail (e.g., soft triggers).

  1. Open NX Witness Client
  2. System Administration → Users
  3. Select the Administrator
  4. Enable Digest Authentication → Save

Windows installation

Production path: install as a Windows service. Download the Windows zip from nxpt.io Downloads and use nxpt.exe from the package.

  1. Download and extract the Windows package; note where nxpt.exe lives
  2. Open Command Prompt or PowerShell as Administrator
  3. cd to that directory
  4. Install:
    nxpt.exe -i
    
  5. Confirm the service started — UI: http://127.0.0.1:8080 (default port 8080)

Custom port at install

nxpt.exe -i -p 8090

Optional NX credentials (first install)

On first install (config.json not yet present), you may seed the NxPT service user so the NxPT Web Page can be created when the service connects:

nxpt.exe --install --nx-user admin --nx-password secret --nx-port 7001
  • --nx-user, --nx-password, --nx-port (default 7001) — first install only; flags present → no prompt (scripted install)
  • No flags and a TTY → stdin prompt (Enter skips)
  • No flags and not a TTY → skip credentials; install still succeeds
  • Existing config.json (upgrade / reinstall) → never prompt, never overwrite Username / Password / NxPort

Skipping credentials is allowed. Open http://127.0.0.1:8080 on the host and Connect on Status later. Every --install prints the manual NX Client recipe (fallback below).

Update an existing Windows install

Windows zip/service installs do not create an Installation backup (those are Linux DEB upgrades only). Before replacing binaries, on Status → Database Maintenance use Create Backup (Manual backup).

  1. Create a Manual backup on Status
  2. Download the new package
  3. As Administrator:
    nxpt.exe -i
    
  4. Service stops, binary replaces, config kept, service restarts

Windows service CLI

Run as Administrator:

nxpt.exe --help
nxpt.exe --version
nxpt.exe --install                 # or -i
nxpt.exe --install --port 8080     # or -i -p 8080
nxpt.exe --install --install-directory "C:\Custom\Path"
nxpt.exe --install --nx-user admin --nx-password secret --nx-port 7001
nxpt.exe --start                   # -s
nxpt.exe --stop                    # -t
nxpt.exe --restart                 # -r
nxpt.exe --uninstall               # -u

Run directly on Windows (no service)

For testing only — process dies when the terminal closes. Prefer service install for production.

nxpt.exe
nxpt.exe --port 8080

Linux installation

Production path: install the .deb package (systemd service). Get amd64 or arm64 builds from nxpt.io Downloads.

Ubuntu / Debian (amd64 or arm64)

  1. Download the matching package:
  2. nxpowertoys_[version]_amd64.deb — x86_64
  3. nxpowertoys_[version]_arm64.deb — ARM64 (e.g. Pi 4, 64-bit OS)
  4. Install:
    sudo apt install ./nxpowertoys_*.deb
    
  5. Check service:
    sudo systemctl status nxpt
    
  6. Open http://127.0.0.1:8080 (or the port in /opt/nxpt/etc/config.json)

Optional NX credentials (first interactive install)

On first interactive apt install (no prior package version, no existing config.json, DEBIAN_FRONTEND not noninteractive), debconf asks for NX username, password, and NX API port (default 7001). Those values are written into a new config.json. Leave username empty to skip credentials (listen Port only). After write, username, password, and NX API port are forgotten from the debconf database.

Skip credential prompts (package still succeeds) when any of:

  • DEBIAN_FRONTEND=noninteractive
  • Upgrade (prior configured version, or a live DB already present)
  • /opt/nxpt/etc/config.json already exists

On skip, first install still writes listen-Port-only config.json when the file is missing. Existing config is never overwritten. The installer always prints the manual NX Client recipe (fallback below). There is no Linux nxpt --setup CLI.

If the configured port is already in use, the service will not start — check journal logs and change the port (below).

Upgrades: Upgrading a DEB install that already has a live DB writes an Installation backup into the same restoreable pool as Status Manual backups (and migrates legacy sibling *.bak files). Restore/purge from Status → Database Maintenance. First install with no live DB skips Installation backup.

Raspberry Pi 4

Use the arm64 .deb on 64-bit Raspberry Pi OS (Bookworm+ recommended). armhf / 32-bit is not supported.

sudo apt install ./nxpowertoys_[version]_arm64.deb
sudo systemctl status nxpt

Linux service management

sudo systemctl start nxpt
sudo systemctl stop nxpt
sudo systemctl restart nxpt
sudo systemctl status nxpt
sudo journalctl -u nxpt -f
sudo systemctl enable nxpt    # start on boot
sudo systemctl disable nxpt

Linux port / config

sudo nano /opt/nxpt/etc/config.json
{
  "port": 8080
}
sudo systemctl restart nxpt

Linux CLI

After package install, nxpt is on PATH:

nxpt --help      # -h
nxpt --version   # -v

Service lifecycle is via systemctl, not nxpt --install (that flag is Windows).

Run directly on Linux (no systemd)

For testing only. With the package installed you can still foreground-run:

nxpt

Stop with Ctrl+C. For production, use the systemd unit. Port for the service comes from /opt/nxpt/etc/config.json, not from a --port flag like Windows.


Post-installation setup

Same on Windows and Linux once the UI is up.

1. Open the UI

  • Browser: http://127.0.0.1:8080 (or your configured port)
  • NxPT listens on localhost only

2. Connect to NX

On Status, enter NX Administrator credentials and Submit. Digest Authentication must be enabled on that user. If install seeded Username / Password / NxPort, the service may already be Connected at first start.

When NX is Connected, NxPT ensures the NxPT Web Page (create if missing; not an install-time REST script). Ensure is not licence-gated. If it fails, Status shows a one-line warning — Connect on the host browser still works.

3. Activate licence

  1. Copy the Server ID from Status
  2. Use the activation form with your licence key (keep hyphens)
  3. Paste the confirmation back into NxPT → Submit

4. NxPT Web Page (NX Client)

The NxPT Web Page is created when the service connects, not during install. After Connected, open it from the NX Client (name NxPT on create).

If you skipped credentials at install, or the page is missing, add it by hand in the NX Client:

  • Name: NxPT
  • URL: http://127.0.0.1:8080 (or your NxPT listen port)
  • Proxy via this server: this local NX server
  • Proxy all requested contents: enabled (Advanced — needed for external callouts such as licence activation)

Troubleshooting

Service won’t start

  • Windows: Event Viewer
  • Linux: sudo journalctl -u nxpt -f
  • Confirm port 8080 (or custom) is free

Can’t connect to NX

  • NX server running and reachable
  • Admin username/password
  • Digest Authentication enabled
  • UI reachable on localhost

Licence activation

  • Correct Server ID (from Status)
  • Licence key includes hyphens
  • Still stuck → NX distributor / contact

Port in use

  • App exits if the configured port is taken
  • Windows: reinstall with -p / --port, or change after install per your setup
  • Linux: edit /opt/nxpt/etc/config.json, then sudo systemctl restart nxpt

Firewall

NxPT is localhost-only by default. Allow the app through the host firewall only if you intentionally change that model.


Uninstallation

Windows

nxpt.exe --uninstall

Or nxpt.exe -u. If needed: sc delete nxpt.

Linux

sudo systemctl stop nxpt
sudo systemctl disable nxpt
sudo apt remove nxpowertoys

Support

  • End users → NX Reseller
  • Installers / resellers → NX Distributor
  • DistributorsContact Nx Powertoys

Version compatibility

  • NX Witness 5.1.4.38717+ for hive support
  • Older NX: single-server use only
  • Same API family: NX Meta, DW Spectrum, Hanwha Wave

Licensing is perpetual and bound to NX Server Hardware ID. One licence covers the NxPT role for servers in a hive when installed for that hive pattern.