# DieVPN
### Tool that allows to switch between VPNs with ease and speed
[![image](https://img.shields.io/pypi/v/dvpn.svg)](https://pypi.org/project/dvpn/)
[![PyPI - Python Version](https://img.shields.io/pypi/pyversions/dvpn)](https://pypi.org/project/dvpn/)
[![Downloads](https://pepy.tech/badge/dvpn)](https://pepy.tech/project/dvpn)
### Supported
#### VPNs
* `AnyConnectVPN` - Cisco
* `Tunnelblick`
* `Viscosity`
#### OS
* MacOS
* Linux (Debian, Ubuntu, ...)
* Windows
#### Python
* 3.7+
## Installing
Install and update using [pip](https://pip.pypa.io/en/stable/quickstart/):
```bash
pip install dvpn
or
pip3 install dvpn
```
## How to set up with GUI
* Use `dvpn gui` in terminal to add your VPNs, passwords and usernames are stored in plaintext so be sure to have disk
encrypted.
* If it seems applications is freezing, it is just side effect of compatibility solution on OSX and not using threaded
connection/disconnection currently **#TODO** just wait it will finish
* **Please be patient and don't click multiple times on buttons in same time**
## How to set up with CLI
* Copy `template_secret.json` to `package/config/secret.json`
* Edit secret accordingly to json format and your credentials
* **Now you can use cli commands**
* _Future Release will contain auto vpn resolve `dvpn autoresolve`_
For Tunnelblick you must install tunnelblickctl
on macOS use:
```
brew tap benwebber/tunnelblickctl
brew install tunnelblickctl
```
## How to set up Manually
* Clone repository with `git clone https://github.com/jiri-otoupal/dievpn.git`
* Install requirements with `pip install -r requirements.txt`
_(ignore / delete windows requirements pywin32 & wexpect if
your pip is trying to install them)_
* Copy `template_secret.json` to `package/config/secret.json`
* **Edit secret accordingly to json format and your credentials**
## Usage
All commands need to be launched in os terminal not in Pycharm terminal
Access all functions through gui
```
dvpn gui
```
or CLI
Connect to VPN specified in `config/secret.json`
```
dvpn connect {name_in_credentials}
```
Disconnect from any currently connected VPN
```
dvpn disconnect
```
Raw data
{
"_id": null,
"home_page": "https://github.com/jiri-otoupal/dievpn",
"name": "dvpn",
"maintainer": "",
"docs_url": null,
"requires_python": ">=3.6,<4",
"maintainer_email": "",
"keywords": "DieVPN VPN Auto Resolver",
"author": "Jiri Otoupal",
"author_email": "jiri-otoupal@ips-database.eu",
"download_url": "https://files.pythonhosted.org/packages/84/f5/481a245ae020a3d72e4e9c2261cdf300637c38eca81c1ccde83fc1cff919/dvpn-1.1.10.tar.gz",
"platform": null,
"description": "# DieVPN\n\n### Tool that allows to switch between VPNs with ease and speed\n\n[![image](https://img.shields.io/pypi/v/dvpn.svg)](https://pypi.org/project/dvpn/)\n[![PyPI - Python Version](https://img.shields.io/pypi/pyversions/dvpn)](https://pypi.org/project/dvpn/)\n[![Downloads](https://pepy.tech/badge/dvpn)](https://pepy.tech/project/dvpn)\n### Supported\n\n#### VPNs\n\n* `AnyConnectVPN` - Cisco\n* `Tunnelblick`\n* `Viscosity`\n\n#### OS\n\n* MacOS\n* Linux (Debian, Ubuntu, ...)\n* Windows\n\n#### Python\n\n* 3.7+\n\n## Installing\n\nInstall and update using [pip](https://pip.pypa.io/en/stable/quickstart/):\n\n```bash\npip install dvpn\n\nor\n\npip3 install dvpn\n```\n\n\n\n## How to set up with GUI\n\n* Use `dvpn gui` in terminal to add your VPNs, passwords and usernames are stored in plaintext so be sure to have disk\n encrypted.\n* If it seems applications is freezing, it is just side effect of compatibility solution on OSX and not using threaded\n connection/disconnection currently **#TODO** just wait it will finish\n* **Please be patient and don't click multiple times on buttons in same time**\n\n## How to set up with CLI\n\n* Copy `template_secret.json` to `package/config/secret.json`\n* Edit secret accordingly to json format and your credentials\n* **Now you can use cli commands**\n* _Future Release will contain auto vpn resolve `dvpn autoresolve`_\n\nFor Tunnelblick you must install tunnelblickctl\n\non macOS use:\n\n```\nbrew tap benwebber/tunnelblickctl\nbrew install tunnelblickctl\n```\n\n\n## How to set up Manually\n\n* Clone repository with `git clone https://github.com/jiri-otoupal/dievpn.git`\n* Install requirements with `pip install -r requirements.txt` \n_(ignore / delete windows requirements pywin32 & wexpect if\n your pip is trying to install them)_\n* Copy `template_secret.json` to `package/config/secret.json`\n* **Edit secret accordingly to json format and your credentials**\n\n## Usage\n\nAll commands need to be launched in os terminal not in Pycharm terminal\n\nAccess all functions through gui\n```\ndvpn gui\n```\n\nor CLI \n\nConnect to VPN specified in `config/secret.json`\n\n```\ndvpn connect {name_in_credentials}\n```\n\nDisconnect from any currently connected VPN\n\n```\ndvpn disconnect\n```\n",
"bugtrack_url": null,
"license": "Apache 2.0",
"summary": "Tool for making life easy for people with more than one VPNs, with use of auto switching based on resolved hostnames and saved credentials",
"version": "1.1.10",
"project_urls": {
"Homepage": "https://github.com/jiri-otoupal/dievpn"
},
"split_keywords": [
"dievpn",
"vpn",
"auto",
"resolver"
],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "a24db4b770a7e305f1848582aec839933094904375cdca24f51f058f8a4c2d11",
"md5": "b0549a64c421c35ae0b2b7bd92ab36aa",
"sha256": "0cc981c93e911024ea939c54163dc964b8c8eb61337c2d739a16cd674167e488"
},
"downloads": -1,
"filename": "dvpn-1.1.10-py3-none-any.whl",
"has_sig": false,
"md5_digest": "b0549a64c421c35ae0b2b7bd92ab36aa",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.6,<4",
"size": 147623,
"upload_time": "2024-03-12T10:07:15",
"upload_time_iso_8601": "2024-03-12T10:07:15.515006Z",
"url": "https://files.pythonhosted.org/packages/a2/4d/b4b770a7e305f1848582aec839933094904375cdca24f51f058f8a4c2d11/dvpn-1.1.10-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "84f5481a245ae020a3d72e4e9c2261cdf300637c38eca81c1ccde83fc1cff919",
"md5": "3ae1451fae4d26ef2279f77734dcb09a",
"sha256": "2d69454e522a27cef14d8c034a44d13c3d0fe6120d7a5b56f0a629b2bc6b0bca"
},
"downloads": -1,
"filename": "dvpn-1.1.10.tar.gz",
"has_sig": false,
"md5_digest": "3ae1451fae4d26ef2279f77734dcb09a",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.6,<4",
"size": 139541,
"upload_time": "2024-03-12T10:07:17",
"upload_time_iso_8601": "2024-03-12T10:07:17.743558Z",
"url": "https://files.pythonhosted.org/packages/84/f5/481a245ae020a3d72e4e9c2261cdf300637c38eca81c1ccde83fc1cff919/dvpn-1.1.10.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2024-03-12 10:07:17",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "jiri-otoupal",
"github_project": "dievpn",
"travis_ci": false,
"coveralls": false,
"github_actions": true,
"requirements": [
{
"name": "aiohttp",
"specs": [
[
"==",
"3.8.1"
]
]
},
{
"name": "aiosignal",
"specs": [
[
"==",
"1.2.0"
]
]
},
{
"name": "async-timeout",
"specs": [
[
"==",
"4.0.2"
]
]
},
{
"name": "attrs",
"specs": [
[
"==",
"21.4.0"
]
]
},
{
"name": "black",
"specs": [
[
"==",
"22.3.0"
]
]
},
{
"name": "charset-normalizer",
"specs": [
[
"==",
"2.0.12"
]
]
},
{
"name": "click",
"specs": [
[
"==",
"8.1.3"
]
]
},
{
"name": "colorama",
"specs": [
[
"==",
"0.4.4"
]
]
},
{
"name": "commonmark",
"specs": [
[
"==",
"0.9.1"
]
]
},
{
"name": "frozenlist",
"specs": [
[
"==",
"1.3.0"
]
]
},
{
"name": "idna",
"specs": [
[
"==",
"3.3"
]
]
},
{
"name": "multidict",
"specs": [
[
"==",
"6.0.2"
]
]
},
{
"name": "mypy-extensions",
"specs": [
[
"==",
"0.4.3"
]
]
},
{
"name": "pathspec",
"specs": [
[
"==",
"0.9.0"
]
]
},
{
"name": "pexpect",
"specs": [
[
"==",
"4.8.0"
]
]
},
{
"name": "platformdirs",
"specs": [
[
"==",
"2.5.2"
]
]
},
{
"name": "psutil",
"specs": [
[
"==",
"5.9.4"
]
]
},
{
"name": "ptyprocess",
"specs": [
[
"==",
"0.7.0"
]
]
},
{
"name": "Pygments",
"specs": [
[
"==",
"2.12.0"
]
]
},
{
"name": "pywin32",
"specs": [
[
"==",
"304"
]
]
},
{
"name": "tomli",
"specs": [
[
"==",
"2.0.1"
]
]
},
{
"name": "typing_extensions",
"specs": [
[
"==",
"4.2.0"
]
]
},
{
"name": "wexpect",
"specs": [
[
"==",
"4.0.0"
]
]
},
{
"name": "yarl",
"specs": [
[
"==",
"1.7.0"
]
]
},
{
"name": "wexpect",
"specs": [
[
"~=",
"4.0.0"
]
]
},
{
"name": "PySide6",
"specs": []
},
{
"name": "setuptools",
"specs": [
[
"~=",
"49.2.1"
]
]
},
{
"name": "pyinstaller",
"specs": []
}
],
"lcname": "dvpn"
}