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 country and city, with the lowest-latency endpoint per location surfaced into a separate best_configs/ tree.

Features

  • Complete catalogue generates a .conf for every WireGuard-enabled NordVPN server (typically ~6,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.
  • Concurrent I/O non-blocking HTTP and batched filesystem writes; 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 interval 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 token and preferences:

nordgen generate

Non interactive mode fully scripted:

nordgen generate --token <YOUR_TOKEN> --dns 103.86.96.100 --keepalive 25
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 address instead of hostname for Endpoint hostname
-k, --keepalive PersistentKeepalive value in seconds 25

Retrieve the NordLynx private key

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

nordgen get-key

Output

Each run creates a timestamped directory in the current working directory:

nordvpn_configs_20260419_143022/
├── configs/
│   └── <country>/<city>/<countrycode><id>.conf
└── best_configs/
    └── <country>/<city>/<countrycode><id>.conf

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

Security

  • The access token is read in-memory and discarded at process exit.
  • Token input is masked in the terminal.
  • 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.1.tar.gz (10.3 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.1-py3-none-any.whl (10.4 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: nord_config_generator-1.1.1.tar.gz
  • Upload date:
  • Size: 10.3 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.1.tar.gz
Algorithm Hash digest
SHA256 6a3ff64b35a2585946621836644cb18383ed67ef9957cc2d43673ae172528d15
MD5 96ae186d8b437f09b8b872457d62263f
BLAKE2b-256 1de247fbed08dfaba52e408a98fbf2b557541de96c160543b0320d3ba9bd3687

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for nord_config_generator-1.1.1-py3-none-any.whl
Algorithm Hash digest
SHA256 b8fec9bef9c22350ba046a29c9f2bcecc44535a30bba38ad594040de8f1a6190
MD5 66228d197ac18555780c8bc74b9b6fee
BLAKE2b-256 e90040eb13373a7b7f0c26420b17638fa34f531bfeafdf7d79725cd778b722cc

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