mustafachyi / NordVPN-WireGuard-Config-Generator

Originally written in Python, our script has evolved to encompass versions in Go, Rust, Node.js, Ruby, and a web-based interface. This upgraded tool automates the retrieval of server data from NordVPN's API and simplifies the generation of WireGuard configuration files.
https://nord-configs.onrender.com/
GNU General Public License v3.0
136 stars 15 forks source link
golang nodejs nordvpn python ruby rust website wireguard-configuration

NordVPN WireGuard Configuration Generator & Proxy Servers Fetcher

Welcome to the NordVPN WireGuard Configuration Generator & Proxy Servers Fetcher tool! This tool simplifies the setup of optimized WireGuard configuration files for NordVPN servers and provides a way to fetch proxy servers from the NordVPN API. We offer versions of the tool in Python, Go, Rust, Node.js, Ruby, and a web version for added convenience.

Table of Contents

Introduction

Setting up WireGuard for NordVPN can be complex, but our generator streamlines this process by creating optimized configuration files based on your preferences and location. The included script also fetches proxy servers from NordVPN's API for easy use.

Key Features

Usage

Before using the script, ensure that the necessary dependencies are installed for the respective version you choose.

Python Version

  1. Obtain your NordVPN access token.
  2. Clone the repository.
  3. Install dependencies:
    pip install -r requirements.txt
  4. Run main.py and enter your access token.
  5. Follow the prompts to generate WireGuard configurations.
  6. Utilize proxy_fetcher.py for proxy servers.
  7. Optional: For added security, use the get-key.py script to ensure your private key is securely obtained directly by you.

Go Version (fastest based on my tests)

  1. Install Go on your machine.
  2. Obtain your NordVPN access token.
  3. Clone the repository.
  4. Compile from source or use pre-compiled executables.
  5. Follow the prompts to generate WireGuard configurations.

Rust Version

  1. Install Rust on your machine.
  2. Obtain your NordVPN access token.
  3. Clone the repository.
  4. Compile from source or use pre-compiled executables.
  5. Follow the prompts to generate WireGuard configurations.

Node.js Version

  1. Install Node.js on your machine.
  2. Obtain your NordVPN access token.
  3. Clone the repository.
  4. Install dependencies:
    npm install axios
  5. Run with npm or pre-built script.
  6. Follow the prompts to generate WireGuard configurations.

Ruby Version

  1. Install Ruby on your machine.
  2. Obtain your NordVPN access token.
  3. Clone the repository.
  4. Install dependencies:
    gem install oj
  5. Run the script and enter your NordVPN access token when prompted.
  6. Follow the prompts to generate WireGuard configurations.

Web Version

  1. Visit the web tool at nord-configs-crafter.
  2. Follow the prompts to generate WireGuard configurations.
  3. After downloading the configuration, manually add the private key or use the access token for security.

New Web Version Remake

  1. Visit the new web tool remake at nord-configs.
  2. Follow the prompts to generate WireGuard configurations.
  3. After downloading the configuration, manually add the private key or use the access token for security.

Installation

Clone the repository to install the tool:

git clone https://github.com/mustafachyi/NordVPN-WireGuard-Config-Generator.git

For Go, Rust, Node.js, Ruby, and web versions, you can compile from source or use pre-compiled executables.

Dependencies

Ensure you have the following dependencies installed based on the version you choose:

Contributing

Contributions are welcome! Feel free to open issues or submit pull requests to improve any version of the tool.

License

This project is licensed under the GNU License. See LICENSE for details.

Support

We appreciate your support in making this project better! Please consider:

We hope this tool simplifies your VPN setup and enhances your NordVPN experience. Choose the version that suits your needs and reach out if you need assistance!