nordgen
CLI for generating optimized NordVPN WireGuard configurations
4.9K
A high-performance CLI tool for generating optimized NordVPN WireGuard configurations. It automates credential exchange, minimizes latency through load-aware server selection, and outputs organized configuration files for immediate use.
This Dockerized Go implementation provides 1:1 functional parity with the Python version, optimized for minimal image size and zero-dependency container execution.
The following commands handle directory setup, permission mapping, and container execution in a single line.
Interactive Mode
mkdir -p generated_configs && docker run -it --rm -v "$(pwd)/generated_configs:/data" -u $(id -u):$(id -g) mustafachyi/nordgen
Automated Mode
mkdir -p generated_configs && docker run --rm -v "$(pwd)/generated_configs:/data" -u $(id -u):$(id -g) mustafachyi/nordgen --token "YOUR_TOKEN" --dns 1.1.1.1 --keepalive 15 --group standard p2p --exclude-dedicated
Get Private Key Only
docker run --rm mustafachyi/nordgen get-key --token "YOUR_TOKEN"
Interactive Mode
if (!(Test-Path generated_configs)) { mkdir generated_configs }; docker run -it --rm -v "${PWD}/generated_configs:/data" mustafachyi/nordgen
Flags are appended directly to the container command.
| Flag | Description | Default |
|---|---|---|
-t, --token | NordVPN Access Token (Required for automated mode) | Prompted |
-d, --dns | DNS Server IP | 103.86.96.100 |
-i, --ip | Resolve endpoints to explicit IPs | false |
-k, --keepalive | Persistent Keepalive (seconds) | 25 |
-g, --group | Server groups to include (standard, p2p, dedicated, onion, double) | All groups |
-e, --exclude-dedicated | Exclude servers in the dedicated IP group | false |
Note on Dedicated IP Servers:
Connecting to servers within thededicatedgroup requires an active Dedicated IP add-on purchased in addition to your standard NordVPN subscription. If your account does not include this add-on, configurations generated for dedicated servers will successfully generate but will fail to connect. If you do not own this add-on, it is highly recommended to use the-e(--exclude-dedicated) flag to omit them from your output.
Configurations are generated in the mounted volume under a timestamped directory (e.g., generated_configs/nordvpn_configs_20260206_202229/). The configurations are categorized by the server's group combination, country, and city:
nordvpn_configs_20260206_202229/
├── configs/
│ └── <group_combo>/<country>/<city>/<server_name>.conf
└── best_configs/
└── <group_combo>/<country>/<city>/<server_name>.conf
best_configs/: Optimally selected servers based on load and distance.configs/: Full server inventory.Content type
Image
Digest
sha256:a53125d50…
Size
6.6 MB
Last updated
about 2 months ago
docker pull mustafachyi/nordgen