Skip to main content

A command-line tool for generating optimized NordVPN WireGuard configurations.

Project description

NordVPN WireGuard Config Generator

A fast, asynchronous command-line tool that fetches the live NordVPN server catalogue and generates ready-to-use WireGuard configuration files—one per server, organized by group, country, and city. The lowest-latency endpoint per location is automatically surfaced into a separate best_configs/ tree.

Features

  • Complete catalogue: Generates a .conf for every WireGuard-enabled NordVPN server (typically ~7,500 active configurations).
  • Optimized subset: Selects the lowest-load server per city into best_configs/ for quick selection.
  • Distance-aware: Ranks servers by load and Haversine distance from your detected geolocation.
  • Advanced filtering: Selectively generate configurations for specific server groups (Standard, P2P, Onion, Double, Dedicated) and explicitly exclude dedicated IPs.
  • Concurrent I/O: Non-blocking HTTP and batched filesystem writes; a full run completes in seconds.
  • Zero stored credentials: Your access token is used in-memory only and is never written to disk.
  • Customizable: DNS, endpoint mode (hostname or IP), and keepalive intervals are configurable per run.

Requirements

Installation

The recommended installer for command-line applications is pipx, which isolates the tool in its own environment:

pipx install nord-config-generator

Plain pip works equally well:

pip install nord-config-generator

Usage

Generate configurations

Interactive mode prompts for your token and preferences:

nordgen

(Note: The explicit nordgen generate command is also supported.)

Non-interactive mode (fully scripted):

nordgen --token <YOUR_TOKEN> --dns 1.1.1.1 --keepalive 15 --group standard p2p --exclude-dedicated
Flag Description Default
-t, --token NordVPN access token (64-character hex) Prompted
-d, --dns DNS server written into each config 103.86.96.100
-i, --ip Use IP addresses instead of hostnames for Endpoint Hostname
-k, --keepalive PersistentKeepalive value in 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 the dedicated group 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.

Retrieve the NordLynx private key

If you only need the raw private key for manual use:

nordgen get-key -t <YOUR_TOKEN>

Output

Each run creates a timestamped directory in the current working directory. The configurations are sorted into standard and optimal trees, further categorized by the server's group combination:

nordvpn_configs_20260419_143022/
├── configs/
│   └── <group_combo>/<country>/<city>/<server_name>.conf
└── best_configs/
    └── <group_combo>/<country>/<city>/<server_name>.conf

Use any .conf file directly with the WireGuard client on Windows, macOS, Linux, iOS, or Android.

Security

  • The access token is read into volatile memory and discarded at process exit.
  • Token input is masked in the terminal and bypasses shell history.
  • The generated [Interface] block contains your private key—treat the output directory as sensitive and store it accordingly.

License

GPL-3.0-or-later. See LICENSE for full text.

Links

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

nord_config_generator-1.1.3.tar.gz (12.2 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

nord_config_generator-1.1.3-py3-none-any.whl (12.4 kB view details)

Uploaded Python 3

File details

Details for the file nord_config_generator-1.1.3.tar.gz.

File metadata

  • Download URL: nord_config_generator-1.1.3.tar.gz
  • Upload date:
  • Size: 12.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.14.2

File hashes

Hashes for nord_config_generator-1.1.3.tar.gz
Algorithm Hash digest
SHA256 ae5a28b7d62ff3b4f1c5a21b8b416d6318af880ae93b3defcf5522a88206d2f2
MD5 55b053ee118a7c30576beef130a6685f
BLAKE2b-256 016fb4da0f1476a47699b40eae3b5809dff88f14c827605d4e037d2cf492c49d

See more details on using hashes here.

File details

Details for the file nord_config_generator-1.1.3-py3-none-any.whl.

File metadata

File hashes

Hashes for nord_config_generator-1.1.3-py3-none-any.whl
Algorithm Hash digest
SHA256 266b8120c1fb51391bbba21e200a26def01a1fa52ea10f2580d378bb0fb0b175
MD5 7411404b5c5b1d681c77369849d764ba
BLAKE2b-256 f1478bcf4c3bbe3416594bf3e148cd0e12011891f2eb570094f5247b16505d7f

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page