nordselect 0.3.2

Select the ideal NordVPN server
Documentation

NordSelect

A fast library/CLI to find the perfect NordVPN server to connect to, based on given filters.

Installation

To install the nordselect CLI using Cargo (Rust package manager), enter cargo install nordselect. Because of the pinging functionality, you have to execute the following command: sudo setcap cap_net_raw+ep ~/.cargo/bin/nordselect # allow binary to send ping packets

You might require the following packages: # Ubuntu apt install autoconf automake libtool gcc

Official binaries (PPA for Ubuntu and AUR package for Arch Linux) will be available when nordselect is stabilized.

CLI Usage

nordselect [FILTER ..]

Possible filters are:

  • A country (in ISO 3166-1 alpha-2 format)
  • A protocol (tcp, udp)
  • A servertype (standard, p2p, tor, double, obfuscated, dedicated)

Examples

# I don't care, just pick a server
nordselect
# A server in Latvia with P2P that supports p2p over tcp.
nordselect lv tcp p2p
# A server that supports both Tor and double VPN
nordselect tor double

# Use case: in combination with openvpn-nordvpn (Arch Linux):
# https://github.com/nstinus/nordvpn
nordvpn start `nordselect ca`

Library Usage

The documentation of the library can be found at docs.rs.

Selection method

To select a server without waiting too long, we use the following method:

  • Take all possible servers with the given filters.
  • Ping the 10 ones with the least load twice.
  • Take the best one.

If you think you have a better selection procedure, please let me know by opening an issue.

License

This project is licensed under the very permissive MIT License.