Unofficial NordVPN client
Project description
Overview
Nord is a client for interacting with the NordVPN service.
At its core is a high-level Python API for interacting both with the web service provided by NordVPN, and for connecting to VPN servers using OpenVPN.
Nord also contains components that expose this API as a command line tool, and (soon) as a web service and frontend.
Licence
Nord is licensed under the terms of the GNU GPLv3. See the LICENSE file for details.
Installation
pip install nord
Usage
Run nord --help for the full usage instructions.
Connect to a specific NordVPN server:
nord connect -u my_user -p my_password us893
Connect to any NordVPN server in a given country:
nord connect -u my_user -p my_password US
You can also supply your password from a file using the -f flag. The special value - means “read from stdin”. This is particularly useful when your password is stored in a utility such as pass:
pass nordvpn_password | nord connect -u my_user -f - us893
Prerequesites
GNU/Linux system
Python 3.6
openvpn
sudo
nord contains many Linux-isms (e.g. using the sudo program to obtain root access) so it will certainly not work on Windows, it may possibly work on OSX and *BSD, but support for these platforms is not a goal.
Most recent versions of popular GNU/Linux distributions (with the exception of Debian) have both an OpenVPN client and Python 3.6 in their official repositories. Debian users will have to take additional steps to get a Python 3.6 installation.
Ubuntu 16.10 and newer
Ubuntu comes with sudo already installed, so we just need to install Python and openVPN:
sudo apt-get install python3.6 openvpn
Fedora 26 and newer
Fedora comes with sudo already installed, so we just need to install Python and openVPN:
sudo dnf install python36 openvpn
Arch Linux
Run the following as root:
pacman -S sudo python openvpn
Then configure sudo by following the Arch wiki to give privileges to the user that nord will be running as.
Debian
First run the following as root to install the openVPN client and sudo from the Debian repositories:
apt install sudo openvpn
Then configure sudo by following the Debian wiki to give privileges to the user that nord will be running as.
There are a couple of options for installing Python3.6 on Debian:
Installing from the unstable repositories
Installing from source (easier than you might think
Both of these methods are explained in top-rated answers to this stackexchange question.
Developing
git clone https://github.com/jbweston/nord cd nord virtualenv -p python3.6 source venv/bin/activate pip install -e .[dev]
Building the API documentation
make -C docs html xdg-open docs/build/html/index.html
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.