{"id":13826251,"url":"https://github.com/chadsr/nordvpn-networkmanager","last_synced_at":"2025-07-09T00:32:51.306Z","repository":{"id":45185645,"uuid":"91686402","full_name":"chadsr/NordVPN-NetworkManager","owner":"chadsr","description":"A CLI tool for automating the importing, securing and usage of NordVPN (and in the future, more) OpenVPN servers through NetworkManager.","archived":true,"fork":false,"pushed_at":"2022-01-02T18:53:55.000Z","size":387,"stargazers_count":123,"open_issues_count":32,"forks_count":28,"subscribers_count":14,"default_branch":"master","last_synced_at":"2024-11-16T00:40:06.672Z","etag":null,"topics":["linux","mac-address","network-manager","networkmanager","networkmanager-openvpn","nord","nord-vpn","nordnm","nordvpn","openvpn","openvpn-client","openvpn-configuration","ovpn","python-3","python3","security-tools","vpn","vpn-client","vpn-connections","vpn-manager"],"latest_commit_sha":null,"homepage":"https://pypi.org/project/nordnm/","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/chadsr.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2017-05-18T11:40:33.000Z","updated_at":"2024-02-29T03:23:32.000Z","dependencies_parsed_at":"2022-09-05T09:40:39.426Z","dependency_job_id":null,"html_url":"https://github.com/chadsr/NordVPN-NetworkManager","commit_stats":null,"previous_names":[],"tags_count":30,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/chadsr%2FNordVPN-NetworkManager","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/chadsr%2FNordVPN-NetworkManager/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/chadsr%2FNordVPN-NetworkManager/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/chadsr%2FNordVPN-NetworkManager/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/chadsr","download_url":"https://codeload.github.com/chadsr/NordVPN-NetworkManager/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":225476384,"owners_count":17480215,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["linux","mac-address","network-manager","networkmanager","networkmanager-openvpn","nord","nord-vpn","nordnm","nordvpn","openvpn","openvpn-client","openvpn-configuration","ovpn","python-3","python3","security-tools","vpn","vpn-client","vpn-connections","vpn-manager"],"created_at":"2024-08-04T09:01:34.518Z","updated_at":"2024-11-20T05:30:31.542Z","avatar_url":"https://github.com/chadsr.png","language":"Python","funding_links":[],"categories":["\u003ca id=\"d62a971d37c69db9f3b9187318c3921a\"\u003e\u003c/a\u003e工具"],"sub_categories":["\u003ca id=\"8ea8f890cf767c3801b5e7951fca3570\"\u003e\u003c/a\u003e公网访问局域网"],"readme":"# NordNM\n\n[![Build Status](https://travis-ci.org/Chadsr/NordVPN-NetworkManager.svg?branch=master)](https://travis-ci.org/Chadsr/NordVPN-NetworkManager)\n[![GitHub tag](https://img.shields.io/github/tag/Chadsr/NordVPN-NetworkManager.svg)](https://github.com/Chadsr/NordVPN-NetworkManager/releases)\n[![AUR](https://img.shields.io/aur/version/nordnm.svg)](https://aur.archlinux.org/packages/nordnm/)\n[![license](https://img.shields.io/github/license/Chadsr/NordVPN-NetworkManager.svg)](https://github.com/Chadsr/NordVPN-NetworkManager/blob/master/LICENSE)\n[![GitHub issues](https://img.shields.io/github/issues/Chadsr/NordVPN-NetworkManager.svg)](https://github.com/Chadsr/NordVPN-NetworkManager/issues)\n\n**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.**\n\nThis tool **automates** the importing and **secures** the usage of NordVPN (and eventually any) OpenVPN configurations through Network Manager.\n\n**Disclaimer:** I am not associated with [Tesonet](https://tesonet.com)/[NordVPN](https://nordvpn.com) 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. \n\nUsing a self-hosted VPN solution (such as [Algo](https://github.com/trailofbits/algo)) provides higher assurance that your traffic isn't being monitored by a bad actor. Better yet, use TOR or another [mix network](https://en.wikipedia.org/wiki/Mix_network).\n\n**WebRTC Privacy Warning:**\nThis tool can't protect against IP leaks through WebRTC in browsers. For more information: [The WebRTC “bug”](https://www.bestvpn.com/a-complete-guide-to-ip-leaks/#webrtc)\n\n## Features:\nIf you encounter a **problem** or have a **feature request**, please make an issue report and it will be looked into ASAP.\n\n- **Small Footprint:** Nordnm does not use any background processes. Once a synchronise has finished, it's all handled by Network Manager.\n- **Improved readability:**\n  Humanly readable connection names, so you can easily tell what each connection offers.\n- **Only import what you need:**\n  Your preference of countries, VPN categories and protocols can be saved, to synchronise only the options you need.\n- **Always up-to-date:**\n  The tool can be configured to always check if it is using the latest NordVPN OpenVPN configuration files.\n- **Server Benchmarking:**\n  Servers are benchmarked according to their latency and server load, to determine the optimal options available.\n- **Auto-Connect:**\n  A server of your choice can be set to automatically activate whenever you connect to the Internet.\n- **DNS Tunnelling:**\n  DNS requests are forced to go through the VPN tunnel, to prevent privacy ruining [DNS leaks](https://en.wikipedia.org/wiki/DNS_leak).\n- **IPv6 Disabled:**\n  IPv6 is disabled by default, to avoid IPv6 leaks.\n- **Kill-Switch:**\n  Set a network kill-switch, to disable the network interface being used if the active VPN disconnects.\n- **MAC Address Manipulation:**\n  Change the MAC address used by Network Manager in a variety of ways (randomization, spoofing, etc), to avoid tracking across networks.\n\n## 1. Installation\n### 1.1 Arch (AUR)\nUse your preferred method of installing packages via AUR. An easy option is to use [yay](https://github.com/Jguer/yay):\n```\nyay -S nordnm\n```\n\n### 1.2 Debian/Ubuntu\n```\nwget -qO - https://bintray.com/user/downloadSubjectPublicKey?username=bintray | sudo apt-key add -\nsudo apt-add-repository \"https://dl.bintray.com/chadsr/nordnm-deb main\"\nsudo apt update \u0026\u0026 sudo apt install nordnm\n```\n\n### 1.3 RPM Based Distributions (Fedora, CentOS, etc)\n```\nwget https://bintray.com/chadsr/nordnm-rpm/rpm -O bintray-chadsr-nordnm-rpm.repo\nsudo mv bintray-chadsr-nordnm-rpm.repo /etc/yum.repos.d/\nsudo yum install nordnm\n```\n\n### 1.4 Python PIP\n**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.\n\n*If your default Python version is 2.x (check using `python -V`), you will need to use pip3 below*\n\n#### System Install\n```\nsudo -H pip install nordnm\n```\n\n#### User Install\n```\npip install --user nordnm\n```\n\n## 2. Usage\n```\nusage: nordnm [-h] [-v] [-k] [-i] [-a [COUNTRY_CODE] [VPN_CATEGORY] [PROTOCOL]]  ...\n\noptional arguments:\n  -h, --help            show this help message and exit\n  -v, --version         Display the package version.\n  -k, --kill-switch     Sets a network kill-switch, to disable the active network interface when an active VPN connection disconnects.\n  -i, --disable-ipv6    Disable IPv6 when enabling a VPN connection\n  -a [COUNTRY_CODE] [VPN_CATEGORY] [PROTOCOL], --auto-connect [COUNTRY_CODE] [VPN_CATEGORY] [PROTOCOL]\n                        Configure NetworkManager to auto-connect to the chosen server type. Takes country code, category and protocol.\n\ncommands:\n                        Each command has its own help page, which can be accessed via nordnm \u003cCOMMAND\u003e --help\n    remove (r)          Remove active connections, auto-connect, kill-switch, disabling ipv6, data, mac settings or all.\n    update (u)          Update a specified setting.\n    list (l)            List the specified information.\n    sync (s)            Synchronise the optimal servers (based on load and latency) to NetworkManager.\n    import (i)          Import an OpenVPN config file to NetworkManager.\n    mac (m)             Global NetworkManager MAC address preferences. This command will affect ALL NetworkManager connections permanently.\n```\n\n**Note:** Each command has its own help section, which can be acccessed via `nordnm \u003cCOMMAND\u003e --help`.\n\n### 2.1 Example Usage\n- **View available categories and countries:**\n```\nsudo nordnm list --categories --countries\n```\n\n- **Synchronise current optimal servers, activate the kill-switch and auto-connect to a \"normal\" UDP server in the US:**\n```\nsudo nordnm sync -ka us normal udp\n```\n\n- **Same as above, but don't check for latest configuration files:**\n```\nsudo nordnm sync -nka us normal udp\n```\n\n- **View metrics of the synchronised servers:**\n```\nsudo nordnm list --active-servers\n```\n\n- **Set your MAC address to be randomised each time you connect to a network:**\n```\nsudo nordnm mac --random\n```\n\n- **Change the auto-connect to another synchronised server:**\n```\nsudo nordnm -a ru p2p udp\n```\n\n- **Import a specific OpenVPN configuration file while still using the killswitch and autoconnect features (Experimental):**\n```\nsudo nordnm import /home/foo/config.ovpn -ak -u username -p password\n```\n\n- **Update the settings:**\n```\nsudo nordnm update --settings\n```\n\n- **Update the user credentials:**\n```\nsudo nordnm update --credentials\n```\n\n- **Disable the network kill-switch:**\n```\nsudo nordnm remove --kill-switch\n```\n\n- **Remove all settings and files:**\n```\nsudo nordnm remove --all\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fchadsr%2Fnordvpn-networkmanager","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fchadsr%2Fnordvpn-networkmanager","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fchadsr%2Fnordvpn-networkmanager/lists"}