nps-ctl¶
A Python CLI and library for managing NPS proxy server clusters.
Upstream NPS fork
nps-ctl targets the djylb/nps fork, which is the actively maintained continuation of the original NPS project. Make sure your NPS server instances are running this fork.
Features¶
- Multi-edge cluster management — control multiple NPS server nodes from a single CLI, with per-edge or broadcast operations.
- Rich CLI and Python API — full-featured command-line interface powered by Rich, plus a Python library for scripting and automation.
- SSH deployment of NPS/NPC — install, upgrade, and manage NPS server and NPC client binaries on remote hosts over SSH.
- Cross-edge sync and broadcast — add or remove hosts and tunnels across all edges in one command.
- HTTP Basic Auth for hosts — configure authentication on HTTP host mappings directly from the CLI.
- Minimal dependencies — only requires
rich; no heavyweight frameworks.
Get Started¶
Install from PyPI:
Then configure your edges in ~/.config/nps-ctl/edges.toml and start managing your cluster:
- Installation — install nps-ctl and set up your environment
- Quick Start — configure your first edge and run basic commands
- CLI Reference — complete reference for all command groups
- Python Library — use nps-ctl as a library in your own scripts