Home

Awesome

NordNM

Build Status GitHub tag AUR license GitHub issues

I don't plan to actively maintain this repository any further. I haven't used NordVPN's services in quite some time and lacking an account also makes testing it more difficult. If you are interested in becoming a maintainer, please contact me at nordnm@ross.ch and I can provide direct access to the repository.

This tool automates the importing and secures the usage of NordVPN (and eventually any) OpenVPN configurations through Network Manager.

Disclaimer: I am not associated with Tesonet/NordVPN in any shape or form, nor do I recommend their services for sensitive traffic (or any other private VPN provider for that matter). If you plan on using this tool for anonymity much beyond circumventing geo-blocking, I would recommend a different approach.

Using a self-hosted VPN solution (such as Algo) provides higher assurance that your traffic isn't being monitored by a bad actor. Better yet, use TOR or another mix network.

WebRTC Privacy Warning: This tool can't protect against IP leaks through WebRTC in browsers. For more information: The WebRTC “bug”

Features:

If you encounter a problem or have a feature request, please make an issue report and it will be looked into ASAP.

1. Installation

1.1 Arch (AUR)

Use your preferred method of installing packages via AUR. An easy option is to use yay:

yay -S nordnm

1.2 Debian/Ubuntu

wget -qO - https://bintray.com/user/downloadSubjectPublicKey?username=bintray | sudo apt-key add -
sudo apt-add-repository "https://dl.bintray.com/chadsr/nordnm-deb main"
sudo apt update && sudo apt install nordnm

1.3 RPM Based Distributions (Fedora, CentOS, etc)

wget https://bintray.com/chadsr/nordnm-rpm/rpm -O bintray-chadsr-nordnm-rpm.repo
sudo mv bintray-chadsr-nordnm-rpm.repo /etc/yum.repos.d/
sudo yum install nordnm

1.4 Python PIP

Note: If you install via PIP, system dependencies will need to be installed manually. It is therefore recommended to install via your system package manager. If your system is not yet listed above, leave an issue and it can be added ASAP.

If your default Python version is 2.x (check using python -V), you will need to use pip3 below

System Install

sudo -H pip install nordnm

User Install

pip install --user nordnm

2. Usage

usage: nordnm [-h] [-v] [-k] [-i] [-a [COUNTRY_CODE] [VPN_CATEGORY] [PROTOCOL]]  ...

optional arguments:
  -h, --help            show this help message and exit
  -v, --version         Display the package version.
  -k, --kill-switch     Sets a network kill-switch, to disable the active network interface when an active VPN connection disconnects.
  -i, --disable-ipv6    Disable IPv6 when enabling a VPN connection
  -a [COUNTRY_CODE] [VPN_CATEGORY] [PROTOCOL], --auto-connect [COUNTRY_CODE] [VPN_CATEGORY] [PROTOCOL]
                        Configure NetworkManager to auto-connect to the chosen server type. Takes country code, category and protocol.

commands:
                        Each command has its own help page, which can be accessed via nordnm <COMMAND> --help
    remove (r)          Remove active connections, auto-connect, kill-switch, disabling ipv6, data, mac settings or all.
    update (u)          Update a specified setting.
    list (l)            List the specified information.
    sync (s)            Synchronise the optimal servers (based on load and latency) to NetworkManager.
    import (i)          Import an OpenVPN config file to NetworkManager.
    mac (m)             Global NetworkManager MAC address preferences. This command will affect ALL NetworkManager connections permanently.

Note: Each command has its own help section, which can be acccessed via nordnm <COMMAND> --help.

2.1 Example Usage

sudo nordnm list --categories --countries
sudo nordnm sync -ka us normal udp
sudo nordnm sync -nka us normal udp
sudo nordnm list --active-servers
sudo nordnm mac --random
sudo nordnm -a ru p2p udp
sudo nordnm import /home/foo/config.ovpn -ak -u username -p password
sudo nordnm update --settings
sudo nordnm update --credentials
sudo nordnm remove --kill-switch
sudo nordnm remove --all