Skip to main content

Unofficial NordVPN client

Project description

GPLv3 License PyPi package Documentation Status

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


Download files

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

Source Distribution

nord-0.2.0.tar.gz (44.8 kB view details)

Uploaded Source

Built Distribution

nord-0.2.0-py3-none-any.whl (19.7 kB view details)

Uploaded Python 3

File details

Details for the file nord-0.2.0.tar.gz.

File metadata

  • Download URL: nord-0.2.0.tar.gz
  • Upload date:
  • Size: 44.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No

File hashes

Hashes for nord-0.2.0.tar.gz
Algorithm Hash digest
SHA256 363db13498f8c6c82fda4fecfb7e97bc696d43675528901319161aaf97e40cd9
MD5 1fefab3733c07048eb96cd95cf152619
BLAKE2b-256 15115fdff9bde723db4477ab0023f4141a618300d3e9488f60c8bbc49914d42a

See more details on using hashes here.

File details

Details for the file nord-0.2.0-py3-none-any.whl.

File metadata

File hashes

Hashes for nord-0.2.0-py3-none-any.whl
Algorithm Hash digest
SHA256 79d5782495ff8d113181fa8923e160afaefae088c598a5cc13b996cd4aefc521
MD5 2173e370c5cb47087e878ebe3130f5a7
BLAKE2b-256 896b32deedaccc0f2cea5b05349234f87a5fd571124f499b0a53700024d474f3

See more details on using hashes here.

Supported by

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