Note: I created this project to learn programming. I currently use networkmanager-openvpn
with Gnome to manage VPNs from the GUI, hence archiving this repo.
The original NordVPN Linux client sucks, so I decided to make an open-source linux client for NordVPN based on OpenVPN. This client manages the openvpn configuration files and authentication, along with connection. It has not all the commands that are provided with the official NordVPN client (kill-switch etc.), but they will be added in future.
-
$ sudo apt install python3 # or $ sudo pacman -S python3
-
$ sudo apt install openvpn # or $ sudo pacman -S openvpn
-
Unzip
$ sudo apt install unzip # or $ sudo pacman -S unzip
To get a local copy up and running follow these simple steps.
- Clone the repository to your machine and change directory
$ git clone https://github.com/priyansh-anand/nordvpn-linux.git
$ cd nordvpn-linux
- Install the nordvpn client and sync the ovpn files
$ sudo ./install.sh
[*] Installing NordVPN Linux Client [Unofficial]
[*] Copying python scripts to /opt/nvpn/bin
[+] Installing required python packages
[*] Copying configuration files to /opt/nvpn/config
[+] Creating login file at /opt/nvpn/login
[*] Settings permissions for directories
[+] Installing and enabling nvpn-deamon.service
[+] Adding nordvpn & nvpn to path
[+] NordVPN Linux Client successfully installed
$ nordvpn sync-ovpn
[+] NordVPN .ovpn files downloaded & extracted
It's just one command away from uninstallation
$ sudo ./uninstall.sh
[*] Uninstalling NordVPN Linux Client [Unofficial]
[*] Removing /opt/nvpn/bin
[+] Removing nvpn from path
[+] Disabling and removing nvpn-deamon.service
[+] NordVPN Linux Client successfully uninstalled
Binary name : nordvpn
or nvpn
You always use help
to get all the supported commands.
Commands supported:
-
connect, c [country/server]: Connects you to NordVPN, if you don't provide a server/country, then it will automatically connect to closest one.
$ nordvpn c [*] Closest country: India [*] Connected to NordVPN[IN96] $ nordvpn c us [*] Connected to NordVPN[US6471]
-
disconnect, d: Disconnects you from NordVPN
$ nordvpn d [*] Disconnected from NordVPN
-
status, s: Get the current status of NordVPN connection
$ nordvpn s [+] You're connected to NordVPN[US7813]
-
login: Logs you in to NordVPN
$ nordvpn login [*] Enter email: [email protected] [*] Enter password: ********** [+] Saved login information, you can connect to NordVPN now
-
logout: Logs you out from NordVPN
$ nordvpn logout [+] Logged out from NordVPN
-
sync-ovpn: Syncs the .ovpn files from NordVPN server You need to run this before connecting to NordVPN the first time or to update the NordVPN servers list
$ nordvpn sync-ovpn [+] NordVPN .ovpn files downloaded & extracted
-
help: Shows this info on terminal
Contributions are what make the open source community such an amazing place to be learn, inspire, and create. Any contributions you make are greatly appreciated.
- Fork the Project
- Create your Feature Branch (
git checkout -b feature/AmazingFeature
) - Commit your Changes (
git commit -m 'Add some AmazingFeature'
) - Push to the Branch (
git push origin feature/AmazingFeature
) - Open a Pull Request
Distributed under the GPL License. See LICENSE
for more information.
Priyansh Anand - [email protected]
Project Link: https://github.com/priyansh-anand/nordvpn-linux