ProtonVPN/linux-cli

cannot get protonvpn to work on Arch

xonq opened this issue · 1 comments

xonq commented

I have attempted to get this official tool to work on Arch for well over a year on different systems, to no avail. I've had to revert to the old community tool, but that doesn't exist anymore.

I use wpa_supplicant, but ran systemctl start NetworkManager before the following errors. Currently, I can login but upon connecting I'm getting an unknown error and here is the most explicit log output. You can see there are two attempts to connect in the output; first one flagged an internet connection, second one unknown.

Please advise.

2022-09-07 05:28:24,525 — settings_backend.py — INFO — get_backend:13 — Settings backend: <class 'protonvpn_nm_lib.core.user_settings.default_settings_backend.Settings'>
2022-09-07 05:28:24,534 — _base.py — INFO — get_default:16 — Using "<class 'protonvpn_nm_lib.core.keyring.linuxkeyring.KeyringBackendLinuxSecretService'>" keyring
2022-09-07 05:28:24,541 — _base.py — INFO — get_default:16 — Using "<class 'protonvpn_nm_lib.core.keyring.linuxkeyring.KeyringBackendLinuxKwallet'>" keyring
2022-09-07 05:28:30,134 — linuxkeyring.py — INFO — __getitem__:15 — Get key ProtonUser
2022-09-07 05:28:30,135 — linuxkeyring.py — INFO — __delitem__:52 — Delete key SessionData
2022-09-07 05:28:30,136 — linuxkeyring.py — ERROR — __delitem__:67 — KeyringDataNotFound: Password not found
Traceback (most recent call last):
  File "/usr/lib/python3.10/site-packages/protonvpn_nm_lib/core/session/session.py", line 253, in __keyring_load_session
    keyring_data_user = ExecutionEnvironment().keyring[
  File "/usr/lib/python3.10/site-packages/protonvpn_nm_lib/core/keyring/linuxkeyring.py", line 37, in __getitem__
    raise KeyError(key)
KeyError: 'ProtonUser'

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/usr/lib/python3.10/site-packages/protonvpn_nm_lib/core/keyring/linuxkeyring.py", line 58, in __delitem__
    self.__keyring_backend.delete_password(self.__keyring_service, key)
  File "/usr/lib/python3.10/site-packages/keyring/backends/kwallet.py", line 151, in delete_password
    raise PasswordDeleteError("Password not found")
keyring.errors.PasswordDeleteError: Password not found
2022-09-07 05:28:30,137 — linuxkeyring.py — INFO — __delitem__:52 — Delete key ProtonUser
2022-09-07 05:28:30,138 — linuxkeyring.py — ERROR — __delitem__:67 — KeyringDataNotFound: Password not found
Traceback (most recent call last):
  File "/usr/lib/python3.10/site-packages/protonvpn_nm_lib/core/session/session.py", line 253, in __keyring_load_session
    keyring_data_user = ExecutionEnvironment().keyring[
  File "/usr/lib/python3.10/site-packages/protonvpn_nm_lib/core/keyring/linuxkeyring.py", line 37, in __getitem__
    raise KeyError(key)
KeyError: 'ProtonUser'

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/usr/lib/python3.10/site-packages/protonvpn_nm_lib/core/keyring/linuxkeyring.py", line 58, in __delitem__
    self.__keyring_backend.delete_password(self.__keyring_service, key)
  File "/usr/lib/python3.10/site-packages/keyring/backends/kwallet.py", line 151, in delete_password
    raise PasswordDeleteError("Password not found")
keyring.errors.PasswordDeleteError: Password not found
2022-09-07 05:28:36,008 — utilities.py — INFO — ensure_internet_connection_is_available:20 — Checking for internet connectivity
2022-09-07 05:28:36,446 — linuxkeyring.py — INFO — __delitem__:52 — Delete key UserData
2022-09-07 05:28:36,449 — linuxkeyring.py — ERROR — __delitem__:67 — KeyringDataNotFound: Password not found
Traceback (most recent call last):
  File "/usr/lib/python3.10/site-packages/protonvpn_nm_lib/core/keyring/linuxkeyring.py", line 58, in __delitem__
    self.__keyring_backend.delete_password(self.__keyring_service, key)
  File "/usr/lib/python3.10/site-packages/keyring/backends/kwallet.py", line 151, in delete_password
    raise PasswordDeleteError("Password not found")
keyring.errors.PasswordDeleteError: Password not found
2022-09-07 05:28:36,449 — linuxkeyring.py — INFO — __delitem__:52 — Delete key SessionData
2022-09-07 05:28:36,452 — linuxkeyring.py — ERROR — __delitem__:67 — KeyringDataNotFound: Password not found
Traceback (most recent call last):
  File "/usr/lib/python3.10/site-packages/protonvpn_nm_lib/core/keyring/linuxkeyring.py", line 58, in __delitem__
    self.__keyring_backend.delete_password(self.__keyring_service, key)
  File "/usr/lib/python3.10/site-packages/keyring/backends/kwallet.py", line 151, in delete_password
    raise PasswordDeleteError("Password not found")
keyring.errors.PasswordDeleteError: Password not found
2022-09-07 05:28:36,452 — linuxkeyring.py — INFO — __delitem__:52 — Delete key ProtonUser
2022-09-07 05:28:36,454 — linuxkeyring.py — ERROR — __delitem__:67 — KeyringDataNotFound: Password not found
Traceback (most recent call last):
  File "/usr/lib/python3.10/site-packages/protonvpn_nm_lib/core/keyring/linuxkeyring.py", line 58, in __delitem__
    self.__keyring_backend.delete_password(self.__keyring_service, key)
  File "/usr/lib/python3.10/site-packages/keyring/backends/kwallet.py", line 151, in delete_password
    raise PasswordDeleteError("Password not found")
keyring.errors.PasswordDeleteError: Password not found
2022-09-07 05:28:36,454 — session.py — INFO — logout:328 — Cleared keyring session
2022-09-07 05:28:36,454 — session.py — INFO — logout:336 — Cleared user data
2022-09-07 05:28:36,454 — session.py — INFO — logout:339 — Cleared local cache variables
2022-09-07 05:28:36,455 — session.py — INFO — logout:344 — Attempting to logout via API
2022-09-07 05:28:36,455 — session.py — INFO — logout:351 — Remove cache files
2022-09-07 05:28:40,339 — linuxkeyring.py — INFO — __setitem__:76 — Set key SessionData
2022-09-07 05:28:40,341 — linuxkeyring.py — INFO — __setitem__:76 — Set key ProtonUser
2022-09-07 05:28:40,351 — session.py — INFO — servers:629 — Could not load server cache
2022-09-07 05:28:40,354 — _base.py — INFO — get_backend:15 — Metadata backend: <class 'protonvpn_nm_lib.core.metadata.netzone.default.DefaultNetzone'>
2022-09-07 05:28:40,354 — session.py — INFO — update_servers_if_needed:577 — Fetching logicals
2022-09-07 05:28:40,354 — session.py — INFO — __ensure_that_alt_routing_can_be_skipped:910 — Ensure that alternative routing can be skipped
2022-09-07 05:28:40,371 — connection_backend.py — INFO — get_backend:14 — Connection backend: <class 'protonvpn_nm_lib.core.connection_backend.nm_client.nm_client.NetworkManagerClient'>
2022-09-07 05:28:40,371 — dbus_reconnect.py — INFO — get_hash_from_template:192 — Template hash "6dbc17013665ff3b087419867e872af8af087a3d955c2fdf17763457b09e228d"
2022-09-07 05:28:40,371 — dbus_reconnect.py — INFO — get_service_file_hash:222 — Generated hash at runtime "6dbc17013665ff3b087419867e872af8af087a3d955c2fdf17763457b09e228d"
2022-09-07 05:28:40,371 — nm_client.py — INFO — __get_protonvpn_connection:182 — Getting VPN from "NetworkManagerConnectionTypeEnum.ACTIVE" connections
2022-09-07 05:28:40,371 — nm_client.py — INFO — __get_protonvpn_connection:217 — VPN connection: None
2022-09-07 05:28:40,371 — session.py — INFO — __ensure_that_alt_routing_can_be_skipped:926 — Active Proton VPN connection could not be found. Switiching to alternative routing.
2022-09-07 05:28:41,709 — session.py — INFO — clientconfig:695 — Could not load client config cache
2022-09-07 05:28:41,710 — session.py — INFO — update_client_config_if_needed:651 — Fetching client config
2022-09-07 05:28:41,710 — session.py — INFO — __ensure_that_alt_routing_can_be_skipped:910 — Ensure that alternative routing can be skipped
2022-09-07 05:28:41,710 — nm_client.py — INFO — __get_protonvpn_connection:182 — Getting VPN from "NetworkManagerConnectionTypeEnum.ACTIVE" connections
2022-09-07 05:28:41,710 — nm_client.py — INFO — __get_protonvpn_connection:217 — VPN connection: None
2022-09-07 05:28:41,710 — session.py — INFO — __ensure_that_alt_routing_can_be_skipped:926 — Active Proton VPN connection could not be found. Switiching to alternative routing.
2022-09-07 05:28:42,150 — session.py — INFO — _notifications:795 — Could not load notifications cache
2022-09-07 05:28:42,150 — session.py — INFO — _update_notifications_if_needed:814 — Fetching new notifications
2022-09-07 05:28:42,694 — notifications.py — ERROR — get_all_notifications:50 — list index out of range
Traceback (most recent call last):
  File "/usr/lib/python3.10/site-packages/protonvpn_nm_lib/core/notification/notifications.py", line 48, in get_all_notifications
    _data = self.__data.get("Notifications", None)[0]
IndexError: list index out of range
2022-09-07 05:28:42,696 — session.py — INFO — streaming:751 — Could not load streaming cache
2022-09-07 05:28:42,696 — session.py — INFO — update_streaming_data_if_needed:715 — Fetching streaming data
2022-09-07 05:28:42,696 — session.py — INFO — __ensure_that_alt_routing_can_be_skipped:910 — Ensure that alternative routing can be skipped
2022-09-07 05:28:42,697 — nm_client.py — INFO — __get_protonvpn_connection:182 — Getting VPN from "NetworkManagerConnectionTypeEnum.ACTIVE" connections
2022-09-07 05:28:42,697 — nm_client.py — INFO — __get_protonvpn_connection:217 — VPN connection: None
2022-09-07 05:28:42,697 — session.py — INFO — __ensure_that_alt_routing_can_be_skipped:926 — Active Proton VPN connection could not be found. Switiching to alternative routing.
2022-09-07 05:28:43,100 — session.py — INFO — streaming_icons:957 — Could not load streaming time cache
2022-09-07 05:28:43,101 — session.py — INFO — update_streaming_icons_if_needed:769 — Fetching streaming icons
2022-09-07 05:28:43,101 — session.py — INFO — __ensure_that_alt_routing_can_be_skipped:910 — Ensure that alternative routing can be skipped
2022-09-07 05:28:43,101 — nm_client.py — INFO — __get_protonvpn_connection:182 — Getting VPN from "NetworkManagerConnectionTypeEnum.ACTIVE" connections
2022-09-07 05:28:43,101 — nm_client.py — INFO — __get_protonvpn_connection:217 — VPN connection: None
2022-09-07 05:28:43,101 — session.py — INFO — __ensure_that_alt_routing_can_be_skipped:926 — Active Proton VPN connection could not be found. Switiching to alternative routing.
2022-09-07 05:28:43,101 — icons.py — INFO — __cache_streaming_icons:36 — Attempting to cache streaming icons
2022-09-07 05:28:43,115 — linuxkeyring.py — INFO — __getitem__:15 — Get key UserData
2022-09-07 05:28:43,619 — linuxkeyring.py — INFO — __setitem__:76 — Set key UserData
2022-09-07 05:28:43,621 — notifications.py — ERROR — get_all_notifications:50 — list index out of range
Traceback (most recent call last):
  File "/usr/lib/python3.10/site-packages/protonvpn_nm_lib/core/notification/notifications.py", line 48, in get_all_notifications
    _data = self.__data.get("Notifications", None)[0]
IndexError: list index out of range
2022-09-07 05:28:43,621 — session.py — INFO — __ensure_that_alt_routing_can_be_skipped:910 — Ensure that alternative routing can be skipped
2022-09-07 05:28:43,621 — nm_client.py — INFO — __get_protonvpn_connection:182 — Getting VPN from "NetworkManagerConnectionTypeEnum.ACTIVE" connections
2022-09-07 05:28:43,622 — nm_client.py — INFO — __get_protonvpn_connection:217 — VPN connection: None
2022-09-07 05:28:43,622 — session.py — INFO — __ensure_that_alt_routing_can_be_skipped:926 — Active Proton VPN connection could not be found. Switiching to alternative routing.
2022-09-07 05:28:44,064 — default.py — INFO — address:45 — Saved IP to metadata
2022-09-07 05:29:14,004 — settings_backend.py — INFO — get_backend:13 — Settings backend: <class 'protonvpn_nm_lib.core.user_settings.default_settings_backend.Settings'>
2022-09-07 05:29:14,021 — _base.py — INFO — get_default:16 — Using "<class 'protonvpn_nm_lib.core.keyring.linuxkeyring.KeyringBackendLinuxSecretService'>" keyring
2022-09-07 05:29:14,029 — linuxkeyring.py — INFO — __getitem__:15 — Get key ProtonUser
2022-09-07 05:29:14,050 — linuxkeyring.py — INFO — __getitem__:15 — Get key SessionData
2022-09-07 05:29:14,073 — _base.py — INFO — get_backend:15 — Metadata backend: <class 'protonvpn_nm_lib.core.metadata.netzone.default.DefaultNetzone'>
2022-09-07 05:29:14,073 — utilities.py — INFO — ensure_internet_connection_is_available:20 — Checking for internet connectivity
2022-09-07 05:29:14,074 — utilities.py — ERROR — ensure_internet_connection_is_available:37 — NetworkConnectionError: HTTPSConnectionPool(host='protonstatus.com', port=443): Max retries exceeded with url: / (Caused by NewConnectionError('<urllib3.connection.HTTPSConnection object at 0x7ffbd4a41540>: Failed to establish a new connection: [Errno -3] Temporary failure in name resolution'))
Traceback (most recent call last):
  File "/usr/lib/python3.10/site-packages/urllib3/connection.py", line 174, in _new_conn
    conn = connection.create_connection(
  File "/usr/lib/python3.10/site-packages/urllib3/util/connection.py", line 72, in create_connection
    for res in socket.getaddrinfo(host, port, family, socket.SOCK_STREAM):
  File "/usr/lib/python3.10/socket.py", line 955, in getaddrinfo
    for res in _socket.getaddrinfo(host, port, family, type, proto, flags):
socket.gaierror: [Errno -3] Temporary failure in name resolution

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/usr/lib/python3.10/site-packages/urllib3/connectionpool.py", line 703, in urlopen
    httplib_response = self._make_request(
  File "/usr/lib/python3.10/site-packages/urllib3/connectionpool.py", line 386, in _make_request
    self._validate_conn(conn)
  File "/usr/lib/python3.10/site-packages/urllib3/connectionpool.py", line 1042, in _validate_conn
    conn.connect()
  File "/usr/lib/python3.10/site-packages/urllib3/connection.py", line 358, in connect
    self.sock = conn = self._new_conn()
  File "/usr/lib/python3.10/site-packages/urllib3/connection.py", line 186, in _new_conn
    raise NewConnectionError(
urllib3.exceptions.NewConnectionError: <urllib3.connection.HTTPSConnection object at 0x7ffbd4a41540>: Failed to establish a new connection: [Errno -3] Temporary failure in name resolution

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/usr/lib/python3.10/site-packages/requests/adapters.py", line 489, in send
    resp = conn.urlopen(
  File "/usr/lib/python3.10/site-packages/urllib3/connectionpool.py", line 787, in urlopen
    retries = retries.increment(
  File "/usr/lib/python3.10/site-packages/urllib3/util/retry.py", line 592, in increment
    raise MaxRetryError(_pool, url, error or ResponseError(cause))
urllib3.exceptions.MaxRetryError: HTTPSConnectionPool(host='protonstatus.com', port=443): Max retries exceeded with url: / (Caused by NewConnectionError('<urllib3.connection.HTTPSConnection object at 0x7ffbd4a41540>: Failed to establish a new connection: [Errno -3] Temporary failure in name resolution'))

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/usr/lib/python3.10/site-packages/protonvpn_nm_lib/core/utilities.py", line 26, in ensure_internet_connection_is_available
    requests.get(
  File "/usr/lib/python3.10/site-packages/requests/api.py", line 73, in get
    return request("get", url, params=params, **kwargs)
  File "/usr/lib/python3.10/site-packages/requests/api.py", line 59, in request
    return session.request(method=method, url=url, **kwargs)
  File "/usr/lib/python3.10/site-packages/requests/sessions.py", line 587, in request
    resp = self.send(prep, **send_kwargs)
  File "/usr/lib/python3.10/site-packages/requests/sessions.py", line 701, in send
    r = adapter.send(request, **kwargs)
  File "/usr/lib/python3.10/site-packages/requests/adapters.py", line 565, in send
    raise ConnectionError(e, request=request)
requests.exceptions.ConnectionError: HTTPSConnectionPool(host='protonstatus.com', port=443): Max retries exceeded with url: / (Caused by NewConnectionError('<urllib3.connection.HTTPSConnection object at 0x7ffbd4a41540>: Failed to establish a new connection: [Errno -3] Temporary failure in name resolution'))
2022-09-07 05:29:29,907 — settings_backend.py — INFO — get_backend:13 — Settings backend: <class 'protonvpn_nm_lib.core.user_settings.default_settings_backend.Settings'>
2022-09-07 05:29:29,916 — _base.py — INFO — get_default:16 — Using "<class 'protonvpn_nm_lib.core.keyring.linuxkeyring.KeyringBackendLinuxSecretService'>" keyring
2022-09-07 05:29:29,927 — linuxkeyring.py — INFO — __getitem__:15 — Get key ProtonUser
2022-09-07 05:29:29,940 — linuxkeyring.py — INFO — __getitem__:15 — Get key SessionData
2022-09-07 05:29:29,962 — _base.py — INFO — get_backend:15 — Metadata backend: <class 'protonvpn_nm_lib.core.metadata.netzone.default.DefaultNetzone'>
2022-09-07 05:29:29,962 — utilities.py — INFO — ensure_internet_connection_is_available:20 — Checking for internet connectivity
2022-09-07 05:29:30,376 — linuxkeyring.py — INFO — __getitem__:15 — Get key UserData
2022-09-07 05:29:37,712 — api.py — INFO — setup_connection:88 — Setting up connection
2022-09-07 05:29:37,712 — utilities.py — INFO — ensure_internet_connection_is_available:20 — Checking for internet connectivity
2022-09-07 05:29:38,056 — utilities.py — INFO — ensure_servername_is_valid:52 — Validating servername
2022-09-07 05:29:38,057 — utilities.py — INFO — is_protocol_valid:100 — Checking if protocol is valid
2022-09-07 05:29:38,058 — session.py — INFO — __ensure_that_alt_routing_can_be_skipped:910 — Ensure that alternative routing can be skipped
2022-09-07 05:29:38,081 — connection_backend.py — INFO — get_backend:14 — Connection backend: <class 'protonvpn_nm_lib.core.connection_backend.nm_client.nm_client.NetworkManagerClient'>
2022-09-07 05:29:38,081 — dbus_reconnect.py — INFO — get_hash_from_template:192 — Template hash "6dbc17013665ff3b087419867e872af8af087a3d955c2fdf17763457b09e228d"
2022-09-07 05:29:38,082 — dbus_reconnect.py — INFO — get_service_file_hash:222 — Generated hash at runtime "6dbc17013665ff3b087419867e872af8af087a3d955c2fdf17763457b09e228d"
2022-09-07 05:29:38,082 — nm_client.py — INFO — __get_protonvpn_connection:182 — Getting VPN from "NetworkManagerConnectionTypeEnum.ACTIVE" connections
2022-09-07 05:29:38,082 — nm_client.py — INFO — __get_protonvpn_connection:217 — VPN connection: None
2022-09-07 05:29:38,082 — session.py — INFO — __ensure_that_alt_routing_can_be_skipped:926 — Active Proton VPN connection could not be found. Switiching to alternative routing.
2022-09-07 05:29:39,270 — default.py — INFO — address:45 — Saved IP to metadata
2022-09-07 05:29:39,286 — api.py — INFO — setup_connection:134 — Appended server label.
2022-09-07 05:29:39,286 — connection_metadata_backend.py — INFO — get_backend:15 — Connection metadata backend: <class 'protonvpn_nm_lib.core.metadata.connection.default_connection_metadata.ConnectionMetadata'>
2022-09-07 05:29:39,286 — default_connection_metadata.py — INFO — save_servername:48 — Saving servername "CH-CA#1" on "MetadataEnum.CONNECTION"
2022-09-07 05:29:39,286 — default_connection_metadata.py — INFO — save_servername:55 — Saving servername "CH-CA#1" on "MetadataEnum.LAST_CONNECTION"
2022-09-07 05:29:39,286 — default_connection_metadata.py — INFO — save_protocol:84 — Saving protocol "ProtocolEnum.UDP" on "MetadataEnum.CONNECTION"
2022-09-07 05:29:39,286 — default_connection_metadata.py — INFO — save_protocol:91 — Saving protocol "ProtocolEnum.UDP" on "MetadataEnum.LAST_CONNECTION"
2022-09-07 05:29:39,286 — default_connection_metadata.py — INFO — save_protocol:97 — Saved protocol to file
2022-09-07 05:29:39,286 — default_connection_metadata.py — INFO — save_display_server_ip:103 — Saving exit server IP "172.83.40.70" on "MetadataEnum.CONNECTION"
2022-09-07 05:29:39,286 — default_connection_metadata.py — INFO — save_display_server_ip:110 — Saved exit ip to file
2022-09-07 05:29:39,286 — default_connection_metadata.py — INFO — save_server_ip:122 — Saving server ip "185.159.157.31" on "MetadataEnum.LAST_CONNECTION"
2022-09-07 05:29:39,286 — default_connection_metadata.py — INFO — save_server_ip:128 — Saved server IP to file
2022-09-07 05:29:39,286 — api.py — INFO — setup_connection:152 — Stored metadata to file
2022-09-07 05:29:39,297 — api.py — INFO — setup_connection:154 — Received configuration object
2022-09-07 05:29:39,297 — api.py — INFO — setup_connection:157 — Setting up CH-CA#1
2022-09-07 05:29:39,297 — nm_client.py — INFO — setup:49 — Adding VPN connection
2022-09-07 05:29:39,297 — vpn_configuration.py — INFO — generate:123 — Generating OpenVPN configuration
2022-09-07 05:29:39,301 — nm_plugin.py — INFO — import_vpn_config:37 — Connection was normalized
2022-09-07 05:29:39,301 — nm_client.py — INFO — __get_protonvpn_connection:182 — Getting VPN from "NetworkManagerConnectionTypeEnum.ACTIVE" connections
2022-09-07 05:29:39,301 — nm_client.py — INFO — __get_protonvpn_connection:217 — VPN connection: None
2022-09-07 05:29:39,301 — nm_client.py — INFO — __get_protonvpn_connection:182 — Getting VPN from "NetworkManagerConnectionTypeEnum.ALL" connections
2022-09-07 05:29:39,301 — nm_client.py — INFO — __get_protonvpn_connection:217 — VPN connection: None
2022-09-07 05:29:39,302 — configure_openvpn_connection.py — INFO — make_vpn_user_owned:57 — Making VPN connection be user owned
2022-09-07 05:29:39,302 — configure_openvpn_connection.py — INFO — add_vpn_credentials:107 — Adding OpenVPN credentials
2022-09-07 05:29:39,302 — configure_openvpn_connection.py — INFO — add_server_certificate_check:125 — Adding server certificate check
2022-09-07 05:29:39,302 — configure_openvpn_connection.py — INFO — apply_virtual_device_type:142 — Applying virtual device type to VPN
2022-09-07 05:29:39,302 — configure_openvpn_connection.py — INFO — dns_configurator:195 — DNS configs: UserSettingStatusEnum.ENABLED - []
2022-09-07 05:29:39,303 — killswitch.py — INFO — __init__:60 — Initialized killswitch manager
2022-09-07 05:29:39,305 — killswitch.py — INFO — get_status_connectivity_check:601 — Conn check available (1) - Conn check enabled (1)
2022-09-07 05:29:39,305 — ipv6_leak_protection.py — INFO — __init__:45 — Intialized IPv6 leak protection manager
2022-09-07 05:29:39,307 — ipv6_leak_protection.py — INFO — get_status_connectivity_check:257 — Conn check available (1) - Conn check enabled (1)
2022-09-07 05:29:39,307 — nm_client.py — INFO — _pre_setup_connection:231 — Running pre-setup connection.
2022-09-07 05:29:39,307 — ipv6_leak_protection.py — INFO — manage:54 — Manage IPV6: KillSwitchActionEnum.ENABLE
2022-09-07 05:29:39,309 — ipv6_leak_protection.py — INFO — get_status_connectivity_check:257 — Conn check available (1) - Conn check enabled (1)
2022-09-07 05:29:39,309 — ipv6_leak_protection.py — INFO — _ensure_connectivity_check_is_disabled:225 — Attempting to disable connectivity check
2022-09-07 05:29:39,309 — ipv6_leak_protection.py — INFO — disable_connectivity_check:271 — Disabling connectivity check
2022-09-07 05:29:39,329 — ipv6_leak_protection.py — INFO — disable_connectivity_check:289 — Check connectivity has been 'disabled'
2022-09-07 05:29:39,333 — ipv6_leak_protection.py — INFO — update_connection_status:219 — IPv6 status: {'pvpn-ipv6leak-protection': {<KillSwitchInterfaceTrackerEnum.EXISTS: 0>: False, <KillSwitchInterfaceTrackerEnum.IS_RUNNING: 1>: False}}
2022-09-07 05:29:39,333 — ipv6_leak_protection.py — INFO — add_leak_protection:75 — Adding IPv6 leak protection
2022-09-07 05:29:39,333 — ipv6_leak_protection.py — INFO — manage:54 — Manage IPV6: KillSwitchActionEnum.DISABLE
2022-09-07 05:29:39,335 — ipv6_leak_protection.py — INFO — get_status_connectivity_check:257 — Conn check available (1) - Conn check enabled (0)
2022-09-07 05:29:39,338 — ipv6_leak_protection.py — INFO — update_connection_status:219 — IPv6 status: {'pvpn-ipv6leak-protection': {<KillSwitchInterfaceTrackerEnum.EXISTS: 0>: False, <KillSwitchInterfaceTrackerEnum.IS_RUNNING: 1>: False}}
2022-09-07 05:29:39,338 — ipv6_leak_protection.py — INFO — remove_leak_protection:108 — Removing IPv6 leak protection
2022-09-07 05:29:39,339 — ipv6_leak_protection.py — INFO — update_connection_status:219 — IPv6 status: {'pvpn-ipv6leak-protection': {<KillSwitchInterfaceTrackerEnum.EXISTS: 0>: False, <KillSwitchInterfaceTrackerEnum.IS_RUNNING: 1>: False}}
2022-09-07 05:29:39,381 — nm_client_mixin.py — INFO — __dynamic_callback:90 — Callback type: "add"
2022-09-07 05:29:39,381 — nm_client_mixin.py — INFO — __dynamic_callback:122 — The connection profile "Proton VPN CH-CA#1" has been added.
2022-09-07 05:29:39,381 — nm_client.py — INFO — connect:89 — Starting VPN connection
2022-09-07 05:29:39,382 — nm_client.py — INFO — __get_protonvpn_connection:182 — Getting VPN from "NetworkManagerConnectionTypeEnum.ALL" connections
2022-09-07 05:29:39,382 — nm_client.py — INFO — __get_protonvpn_connection:217 — VPN connection: <NM.RemoteConnection object at 0x7fb9f1afbac0 (NMRemoteConnection at 0x7fb9ec008130)>
2022-09-07 05:29:39,382 — nm_client_mixin.py — INFO — _start_connection_async:29 — Starting VPN connection
2022-09-07 05:29:39,384 — nm_client_mixin.py — INFO — __dynamic_callback:90 — Callback type: "start"
2022-09-07 05:29:39,384 — nm_client_mixin.py — INFO — __dynamic_callback:122 — The connection profile "Proton VPN CH-CA#1" has been started.
2022-09-07 05:29:39,392 — monitor_vpn_connection_start.py — INFO — vpn_signal_handler:125 — Adding listener to active Proton VPN CH-CA#1 connection at /org/freedesktop/NetworkManager/ActiveConnection/2
2022-09-07 05:29:39,397 — monitor_vpn_connection_start.py — INFO — on_vpn_state_changed:48 — State: VPNConnectionStateEnum.NEEDS_CREDENTIALS - Reason: VPNConnectionReasonEnum.NOT_PROVIDED
2022-09-07 05:29:39,400 — monitor_vpn_connection_start.py — INFO — on_vpn_state_changed:48 — State: VPNConnectionStateEnum.FAILED - Reason: VPNConnectionReasonEnum.SECRETS_WERE_NOT_PROVIDED
2022-09-07 05:29:39,400 — monitor_vpn_connection_start.py — ERROR — on_vpn_state_changed:101 — State: VPNConnectionStateEnum.FAILED ; ReasonVPNConnectionReasonEnum.UNKNOWN_ERROR ; Message: Proton VPN connection failed due to unknown reason.
2022-09-07 05:29:39,400 — monitor_vpn_connection_start.py — INFO — on_vpn_state_changed:107 — Quitting loop on failed Proton VPN connection
2022-09-07 05:29:39,400 — nm_client.py — INFO — connect:105 — Unable to connect to VPN
2022-09-07 05:29:39,400 — nm_client.py — INFO — connect:107 — Restoring kill switch to previous state
2022-09-07 05:29:39,400 — killswitch.py — INFO — update_from_user_configuration_menu:93 — Update from menu killswitch action: KillswitchStatusEnum.DISABLED
2022-09-07 05:29:39,401 — killswitch.py — INFO — get_status_connectivity_check:601 — Conn check available (1) - Conn check enabled (0)
2022-09-07 05:29:39,405 — killswitch.py — INFO — update_connection_status:531 — Tracker info: {'pvpn-killswitch': {<KillSwitchInterfaceTrackerEnum.EXISTS: 0>: False, <KillSwitchInterfaceTrackerEnum.IS_RUNNING: 1>: False}, 'pvpn-routed-killswitch': {<KillSwitchInterfaceTrackerEnum.EXISTS: 0>: False, <KillSwitchInterfaceTrackerEnum.IS_RUNNING: 1>: False}}
2022-09-07 05:29:39,408 — killswitch.py — INFO — update_connection_status:531 — Tracker info: {'pvpn-killswitch': {<KillSwitchInterfaceTrackerEnum.EXISTS: 0>: False, <KillSwitchInterfaceTrackerEnum.IS_RUNNING: 1>: False}, 'pvpn-routed-killswitch': {<KillSwitchInterfaceTrackerEnum.EXISTS: 0>: False, <KillSwitchInterfaceTrackerEnum.IS_RUNNING: 1>: False}}
2022-09-07 05:29:39,411 — killswitch.py — INFO — update_connection_status:531 — Tracker info: {'pvpn-killswitch': {<KillSwitchInterfaceTrackerEnum.EXISTS: 0>: False, <KillSwitchInterfaceTrackerEnum.IS_RUNNING: 1>: False}, 'pvpn-routed-killswitch': {<KillSwitchInterfaceTrackerEnum.EXISTS: 0>: False, <KillSwitchInterfaceTrackerEnum.IS_RUNNING: 1>: False}}
2022-09-07 05:29:39,411 — ipv6_leak_protection.py — INFO — remove_leak_protection:108 — Removing IPv6 leak protection
2022-09-07 05:29:39,414 — ipv6_leak_protection.py — INFO — update_connection_status:219 — IPv6 status: {'pvpn-ipv6leak-protection': {<KillSwitchInterfaceTrackerEnum.EXISTS: 0>: True, <KillSwitchInterfaceTrackerEnum.IS_RUNNING: 1>: False}}
2022-09-07 05:29:39,425 — nm_client.py — INFO — __get_protonvpn_connection:182 — Getting VPN from "NetworkManagerConnectionTypeEnum.ACTIVE" connections
2022-09-07 05:29:39,425 — nm_client.py — INFO — __get_protonvpn_connection:217 — VPN connection: <NM.RemoteConnection object at 0x7fb9f1afbac0 (NMRemoteConnection at 0x7fb9ec008130)>
2022-09-07 05:29:39,425 — nm_client_mixin.py — INFO — _remove_connection_async:45 — Removing VPN connection
2022-09-07 05:29:39,474 — nm_client_mixin.py — INFO — __dynamic_callback:90 — Callback type: "remove"
2022-09-07 05:29:39,474 — nm_client_mixin.py — ERROR — __dynamic_callback:124 — Exception: 'remove'
Traceback (most recent call last):
  File "/usr/lib/python3.10/site-packages/protonvpn_nm_lib/core/connection_backend/nm_client/nm_client_mixin.py", line 117, in __dynamic_callback
    (callback_type_dict[callback_type]["finish_function"])(client, result)
KeyError: 'remove'
2022-09-07 05:29:39,475 — nm_client.py — INFO — _post_disconnect:242 — Running post disconnect.
2022-09-07 05:29:39,475 — dbus_reconnect.py — INFO — stop_daemon_reconnector:74 — Stopping daemon reconnector
2022-09-07 05:29:39,475 — dbus_reconnect.py — INFO — check_daemon_reconnector_status:122 — Checking daemon reconnector status
2022-09-07 05:29:39,484 — ipv6_leak_protection.py — INFO — manage:54 — Manage IPV6: KillSwitchActionEnum.DISABLE
2022-09-07 05:29:39,487 — ipv6_leak_protection.py — INFO — get_status_connectivity_check:257 — Conn check available (1) - Conn check enabled (0)
2022-09-07 05:29:39,494 — ipv6_leak_protection.py — INFO — update_connection_status:219 — IPv6 status: {'pvpn-ipv6leak-protection': {<KillSwitchInterfaceTrackerEnum.EXISTS: 0>: False, <KillSwitchInterfaceTrackerEnum.IS_RUNNING: 1>: False}}
2022-09-07 05:29:39,494 — ipv6_leak_protection.py — INFO — remove_leak_protection:108 — Removing IPv6 leak protection
2022-09-07 05:29:39,499 — ipv6_leak_protection.py — INFO — update_connection_status:219 — IPv6 status: {'pvpn-ipv6leak-protection': {<KillSwitchInterfaceTrackerEnum.EXISTS: 0>: False, <KillSwitchInterfaceTrackerEnum.IS_RUNNING: 1>: False}}
2022-09-07 05:29:39,499 — nm_client.py — INFO — connect:124 — Ensure that account has expected values
2022-09-07 05:29:39,500 — _base.py — INFO — get_backend:13 — Accounting backend: <class 'protonvpn_nm_lib.core.accounting.default_accounting.DefaultAccounting'>
2022-09-07 05:29:39,500 — utilities.py — INFO — ensure_internet_connection_is_available:20 — Checking for internet connectivity
2022-09-07 05:29:40,314 — linuxkeyring.py — INFO — __setitem__:76 — Set key UserData
2022-09-07 05:29:40,791 — default_connection_metadata.py — INFO — save_connect_time:69 — Saved connected time to file
2022-09-07 05:29:51,326 — settings_backend.py — INFO — get_backend:13 — Settings backend: <class 'protonvpn_nm_lib.core.user_settings.default_settings_backend.Settings'>
2022-09-07 05:30:03,296 — settings_backend.py — INFO — get_backend:13 — Settings backend: <class 'protonvpn_nm_lib.core.user_settings.default_settings_backend.Settings'>

I've had to revert to the old community tool, but that doesn't exist anymore.

There's a new CLI that Rafficer maintains: https://github.com/Rafficer/linux-cli-community