Python bindings for proton vpn's cli.
Project description
protonne
Python bindings for proton vpn's linux cli.
Installation
Install with:
pip install protonne
NOTE: This package requires that you have a Proton VPN account and that you've installed and set up the Proton VPN Linux CLI.
Usage
from protonne import Proton proton = Proton() proton.connect_fastest() proton.enable_permanent_killswitch() # If you want to execute the commands "silently", you can set 'capture_output' to True in the class constructor or after creation through the 'capture_output' property proton.capture_output = True proton.capture_output = False # Almost every function returns an 'Output' object that contains 3 fields: 'return_code', 'stdout', and 'stderr'. # When 'capture_output' is True, 'stdout' and 'stderr' can be accessed through the 'Output' object, otherwise they are empty strings. # The 'capturing_output()' context manager can also be used. with proton.capturing_output(): output = proton.connect_random() print(output.stdout) # Once you're connected, info about the connection is available through the 'connection' property. # Accessing this property invokes the cli's 'status' command and parses the output into a 'Connection' object. # For performance, it's best to store this property in a local variable for repeated access until you need an updated 'Connection' object. ip_history = [] connection = proton.connection ip_history.append((connection.IP, connection.server.name)) proton.connect_random() connection = proton.connection ip_history.append((connection.IP, connection.server.name)) proton.connect(server=ip_history[0][1]) # Full 'Connection' annotation: connection.IP: str connection.killswitch.active: bool connection.killswitch.on: bool connection.killswitch.permanent: bool connection.raw: str # The raw output string of the 'status' cli command connection.server.name: str connection.server.country: str connection.server.protocol: str connection.server.load: str connection.server.plan: str connection.server.features: str | None connection.time: str
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
protonne-1.0.0.tar.gz
(4.4 kB
view details)
Built Distribution
File details
Details for the file protonne-1.0.0.tar.gz
.
File metadata
- Download URL: protonne-1.0.0.tar.gz
- Upload date:
- Size: 4.4 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.2 CPython/3.11.0
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 4910f368ce164078571a11126022b794abd47f7e5a1d073c060a3a8bd1bd0de9 |
|
MD5 | 5de0b22b31e327bf5c0ac96d6da8225a |
|
BLAKE2b-256 | a30e6930e052f20eb350600a79105ec2e8fdcbe676d3ab6f9fae24391f852fff |
File details
Details for the file protonne-1.0.0-py3-none-any.whl
.
File metadata
- Download URL: protonne-1.0.0-py3-none-any.whl
- Upload date:
- Size: 5.1 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.2 CPython/3.11.0
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 5dc9ab686167ee57a8d24fd91814c70e4b8739f64f9c870358263e8651eb2134 |
|
MD5 | 5186021fbf4262727d0e2d6a48cca591 |
|
BLAKE2b-256 | a4bf934faea6af2862743f8a6157a93f2ab9d16560be509d2f8c609fc9a588a3 |