{ "info": { "author": "Proton Technologies AG", "author_email": "contact@protonvpn.com", "bugtrack_url": null, "classifiers": [ "Development Status :: 3 - Alpha", "Environment :: Console", "License :: OSI Approved :: GNU General Public License v3 (GPLv3)", "Programming Language :: Python", "Programming Language :: Python :: 3", "Programming Language :: Python :: 3.5", "Programming Language :: Python :: 3.6", "Programming Language :: Python :: 3.7", "Programming Language :: Python :: 3.8" ], "description": "# ProtonVPN-CLI\n\n![protonvpn-cli](https://i.imgur.com/tDrwkX5l.png)\n\n## *Disclaimer*\n\n**!! This is a work in progress and not considered production ready at this stage. Use at your own risk. !!**\n\n### A Linux CLI for ProtonVPN. Written in Python.\n\nProtonVPN-CLI is a full rewrite of the [bash protonvpn-cli](https://github.com/ProtonVPN/protonvpn-cli/blob/master/protonvpn-cli.sh) in Python to improve readability, speed and reliability as well as add more functionality and features.\n\n## Installation and Updating\n\n*WIP - Likely via PIP*\n\n### Dependencies\n\nRequired system packages:\n\n* openvpn\n* dialog (optional, needed for interactive selection)\n* python3.5+\n* pip for python3 (pip3)\n\nOn Fedora/CentOS/RHEL:\n\n`sudo dnf install -y openvpn dialog python3-pip`\n\nOn Debian/Ubuntu/Linux Mint and derivatives:\n\n`sudo apt install -y openvpn dialog python3-pip`\n\nOn Arch/Manjaro:\n\n`sudo pacman -S openvpn dialog`\n\n### CLI Installation\n\n1. Clone this repository or download the zip file\n\n `git clone https://github.com/protonvpn/protonvpn-cli-ng`\n\n or\n\n `unzip protonvpn-cli-ng-master.zip`\n\n2. Step into the directory\n\n `cd protonvpn-cli-ng`\n\n3. Install (make sure to use sudo to install globally)\n\n `sudo setup.py install`\n\n## How to use\n\nYou can see a full set of commands and examples by running `protonvpn --help`.\n\n**Most of the commands need to be run as root, so use sudo with the commands in this guide!**\n\nBefore using any other commands, you need to initialize your profile:\n\n`protonvpn init`\n\nTo connect to a server you always need the `connect` option (or just `c`):\n\n`protonvpn connect`\n\nRunning it just like that will give you a menu that let's you select the country, server and protocol interactively:\n\n![country-selection](https://i.imgur.com/7WGmwbN.png)\n\n![server-selection](https://i.imgur.com/jbXP43z.png)\n\nIf you specify a servername after connect, you can directly connect to a server of your choice:\n\n`protonvpn connect US-NY#6`\n\nThe servername can be written in a few different formats. `usny6`, `us-ny-6`, `usny-06` all work.\n\nTo connect to the fastest server, you can use the `--fastest` or `-f` flag:\n\n`protonvpn c --fastest`\n\n`protonvpn c -f`\n\nThere's also a flag to connect to a completely random server, `--random` or `-r`:\n\n`protonvpn c -r`\n\nThere are a few methods of fastest connect. You can connect to the fastest server of a country, the fastest Secure-Core server, the fastest P2P server or the fastest Tor server.\n\nFastest server in a country (replace UK with the code of the desired country, e.g. `US` for USA, `JP` for Japan, `AU` for Australia, etc.):\n\n`protonvpn c --cc UK`\n\nFastest Secure-Core server:\n\n`protonvpn c --sc`\n\nFastest P2P/torrent server:\n\n`protonvpn c --p2p`\n\nFastest Tor server:\n\n`protonvpn c --tor`\n\nAll connection methods (except the interactive menu) can be used with the `-p` flag to choose a protocol. Possible values are either `TCP` or `UDP` If that flag is not used it will use the default protcol specified in the initialization:\n\nConnect to the fastest server with TCP:\n\n`protonvpn c -f -p TCP`\n\nConnect to a random server with UDP:\n\n`protonvpn c -rp UDP`\n\nTo disconnect the VPN, you need to use the `disconnect` or `d` option:\n\n`protonvpn disconnect`\n\n`protonvpn d`\n\nIf you're having trouble with your connection, e.g. because you switched networks or your device woke up from sleeping, you can easily reconnect to the last server with the `reconnect` or `r` option:\n\n`protonvpn reconnect`\n\n`protonvpn r`\n\nIf you want to see the status and information of your current connection, you can use the `status` or `s` option, which doesn't require root:\n\n`protonvpn status`\n\n`protonvpn s`\n\n![status-example](https://i.imgur.com/RBUG2C3.png)\n\nIf you want to change different values that you've set during initialization, you can do this with the `configure` option, just follow the prompts to change your username/password, default protocol and so on:\n\n`protonvpn configure`\n\nFinally, to uninstall protonvpn, use the `uninstall` option. It will entirely remove the program and configuration from your device \ud83d\ude14:\n\n`protonvpn uninstall`\n\n\n## Getting started (dev)\n\nThese instructions will help you to get a copy of the project up and running on your local environment for development, testing and verification purposes.\n\n### Prerequisites\n\nSystem packages:\n\n* Python 3.5+\n* pip\n* openvpn\n* dialog\n\nPython Packages:\n\n* docopt\n* requests\n* pythondialog\n\n### Installation\n\n1. Clone this project:\n\n `git clone https://github.com/protonvpn/protonvpn-cli-ng`\n\n2. Install the virtualenv package\n\n `pip3 install virtualenv`\n\n3. Create a virtual environment\n\n `cd protonvpn-cli-ng`\n\n `virtualenv .venv`\n\n4. Enter the virtualenv\n\n `source .venv/bin/activate`\n\n5. Install the necessary python packages\n\n `pip install --user -r requirements.txt`\n\n6. You can the use it by running\n\n `sudo .venv/bin/python -m pvpn_cli `\n\n\n", "description_content_type": "", "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/protonvpn/protonvpn-cli-ng", "keywords": "", "license": "GPLv3", "maintainer": "", "maintainer_email": "", "name": "protonvpn-cli", "package_url": "https://pypi.org/project/protonvpn-cli/", "platform": "", "project_url": "https://pypi.org/project/protonvpn-cli/", "project_urls": { "Homepage": "https://github.com/protonvpn/protonvpn-cli-ng" }, "release_url": "https://pypi.org/project/protonvpn-cli/0.1.0/", "requires_dist": [ "requests", "docopt", "pythondialog" ], "requires_python": "", "summary": "Linux command-line client for ProtonVPN", "version": "0.1.0" }, "last_serial": 5938577, "releases": { "0.1.0": [ { "comment_text": "", "digests": { "md5": "b0466d1115fae0d0e4d3d6df6fe3a79f", "sha256": "be1299e7eea6da5873d972984a7f29c32cb9514caebba39556dc61a92376eef7" }, "downloads": -1, "filename": "protonvpn_cli-0.1.0-py3-none-any.whl", "has_sig": false, "md5_digest": "b0466d1115fae0d0e4d3d6df6fe3a79f", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 35995, "upload_time": "2019-10-07T12:58:28", "url": "https://files.pythonhosted.org/packages/a0/14/1bd3e3e750f1e927fa864e77f16a741bfc32bfecc64d77a3dc8aa78ed37f/protonvpn_cli-0.1.0-py3-none-any.whl" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "b0466d1115fae0d0e4d3d6df6fe3a79f", "sha256": "be1299e7eea6da5873d972984a7f29c32cb9514caebba39556dc61a92376eef7" }, "downloads": -1, "filename": "protonvpn_cli-0.1.0-py3-none-any.whl", "has_sig": false, "md5_digest": "b0466d1115fae0d0e4d3d6df6fe3a79f", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 35995, "upload_time": "2019-10-07T12:58:28", "url": "https://files.pythonhosted.org/packages/a0/14/1bd3e3e750f1e927fa864e77f16a741bfc32bfecc64d77a3dc8aa78ed37f/protonvpn_cli-0.1.0-py3-none-any.whl" } ] }