#!/usr/bin/env python3 """Simple script for i3blocks for VPN status with ProtonVPN. Author: flyingscorpio """ import os import subprocess from protonvpn_cli import utils as pvpn_utils # type: ignore if os.environ.get("BLOCK_BUTTON") is not None: vpn_command = subprocess.run( "sudo protonvpn r", check=True, shell=True ) IP_ADDR = pvpn_utils.get_ip_info()[0] if not pvpn_utils.is_connected(): OUTPUT = os.environ["LABEL_OFF"] OUTPUT += " {}".format(IP_ADDR) else: SERVER = pvpn_utils.get_config_value("metadata", "connected_server") ALL_SERVERS = pvpn_utils.get_servers() CODE = pvpn_utils.get_server_value(SERVER, "ExitCountry", ALL_SERVERS) COUNTRY = pvpn_utils.get_country_name(CODE) CITY = pvpn_utils.get_server_value(SERVER, "City", ALL_SERVERS) OUTPUT = os.environ["LABEL_ON"] OUTPUT += " {} - {}, {}".format(IP_ADDR, CITY, COUNTRY) print(OUTPUT)