# nordvpn-client Cross-platform NordVPN lifecycle skill for macOS and Linux. ## What it does - Probes whether NordVPN is already installed or automation-ready - Bootstraps the required backend if missing - Handles login/bootstrap - Connects to a country or city target - Disconnects and reports status - Verifies public IP and geolocation after connect ## Commands ```bash node skills/nordvpn-client/scripts/nordvpn-client.js status node skills/nordvpn-client/scripts/nordvpn-client.js install node skills/nordvpn-client/scripts/nordvpn-client.js login node skills/nordvpn-client/scripts/nordvpn-client.js verify node skills/nordvpn-client/scripts/nordvpn-client.js verify --country "Italy" node skills/nordvpn-client/scripts/nordvpn-client.js verify --country "Italy" --city "Milan" node skills/nordvpn-client/scripts/nordvpn-client.js connect --country "Italy" node skills/nordvpn-client/scripts/nordvpn-client.js connect --city "Milan" node skills/nordvpn-client/scripts/nordvpn-client.js disconnect ``` ## Platform behavior ### macOS - preferred backend: NordLynx/WireGuard - install path: `brew install wireguard-go wireguard-tools` - automation requirements: - `NORDVPN_TOKEN` or `NORDVPN_TOKEN_FILE` - `wireguard-go` - `wireguard-tools` - non-interactive `sudo` for `wg-quick` - `NordVPN.app` may stay installed but is only the manual fallback - the app login is not reused by the automated WireGuard backend ### Linux - install path follows NordVPN's official installer script - primary control path is the official `nordvpn` CLI - token login is supported through `nordvpn login --token ` ## Credentials Supported env vars: - `NORDVPN_TOKEN` - `NORDVPN_TOKEN_FILE` - `NORDVPN_USERNAME` - `NORDVPN_PASSWORD` - `NORDVPN_PASSWORD_FILE` Do not put secrets in the skill docs or repo. ## Verification model `status`, `verify`, and `connect` emit JSON suitable for agent use: - platform - install state - control mode (`cli`, `wireguard`, `app-manual`) - auth state - connection state - requested target - public IP / geolocation lookup After `connect`, the intended workflow is: 1. `nordvpn-client connect ...` 2. `nordvpn-client verify ...` if an explicit location check is needed 3. run the follow-up task such as `web-automation` ## Limitations - Linux behavior still depends on the official `nordvpn` CLI. - macOS automated connects require token-based WireGuard setup; GUI-app login alone is insufficient. - The Homebrew `nordvpn` app does not need to be uninstalled.