Package Details: proton-vpn-gtk-app 4.8.1-1

Git Clone URL: https://aur.archlinux.org/proton-vpn-gtk-app.git (read-only, click to copy)
Package Base: proton-vpn-gtk-app
Description: ProtonVPN GTK app, Maintained by Community
Upstream URL: https://github.com/ProtonVPN/proton-vpn-gtk-app
Keywords: protonvpn
Licenses: GPL3
Groups: ProtonVPN
Conflicts: protonvpn-gui, python-proton-client
Submitter: ali.molaei
Maintainer: ali.molaei
Last Packager: ali.molaei
Votes: 89
Popularity: 8.78
First Submitted: 2023-11-01 12:41 (UTC)
Last Updated: 2024-12-06 14:44 (UTC)

Pinned Comments

ali.molaei commented on 2024-11-14 16:25 (UTC)

I've added https://aur.archlinux.org/packages/python-proton-vpn-local-agent-bin as optional dependency, I worked on https://aur.archlinux.org/packages/python-proton-vpn-local-agent a bit to build it from source, but I have a weird issue with it so I'm not depending this package on that by default for now.

For those who know a bit about rust packaging, the issue with building from source for me is: - If I copy the build so file using cp command it works fine - If I package it (using install in PKGBUILD) and put the file there by installing the package using pacman, It doesn't work! although the files have the same checksum.

I have no idea why is that and am open to any help on https://aur.archlinux.org/packages/python-proton-vpn-local-agent package

stickyhands commented on 2024-02-09 23:53 (UTC) (edited on 2024-02-09 23:53 (UTC) by stickyhands)

@shoryuken thank you, that worked!

@ali.molaei I'm not sure of technicalities of dependencies, but if you cannot force network-manager-applet as a dependency I think you should at least pin some comment explaining that getting it might fix issues. As it stands I accidentally found the solution at other package page https://aur.archlinux.org/packages/protonvpn-cli#comment-951908, and only since it's the newest one.

Latest Comments

« First ‹ Previous 1 .. 8 9 10 11 12 13 14 15 16 17 18 .. 22 Next › Last »

marcin commented on 2024-02-25 10:03 (UTC)

@XxTriviumxX

Permanent kill switch is not supported in this new version of linux client. Same as wireguard.

XxTriviumxX commented on 2024-02-20 14:58 (UTC) (edited on 2024-02-22 15:07 (UTC) by XxTriviumxX)

how does one connect automatically, on startup, to a p2p server from my country (emphasis on p2p)? This is the only thing preventing me to use this app... it was pretty doable with this autostart script:

#!/bin/bash

protonvpn-cli c --p2p

edit: and what about permanent kill switch? it got removed!

GER_Jan commented on 2024-02-18 15:21 (UTC)

For those who still have Problems with not being able to connect to the VPN:

  1. install network-manager-applet
  2. add nm-applet to autostart or to your config if your using a Tiling WM.
  3. either restart your PC or start nm-applet
  4. Open ProtonVPN and connect.

Github Issue with Solution

stickyhands commented on 2024-02-09 23:53 (UTC) (edited on 2024-02-09 23:53 (UTC) by stickyhands)

@shoryuken thank you, that worked!

@ali.molaei I'm not sure of technicalities of dependencies, but if you cannot force network-manager-applet as a dependency I think you should at least pin some comment explaining that getting it might fix issues. As it stands I accidentally found the solution at other package page https://aur.archlinux.org/packages/protonvpn-cli#comment-951908, and only since it's the newest one.

texer22 commented on 2024-01-31 17:38 (UTC) (edited on 2024-02-01 01:18 (UTC) by texer22)

Now it does not work for me even on VM... https://imgur.com/a/ELmEjT1
Previously, I could start the app but I couldn't connect and now it does not even start. I am on OpenRC.


2024-02-01T01:14:52.959358 | proton.vpn.connection.vpnconnector:168 | INFO | CONN:STATE_CHANGED | Disconnected (initial state)
Traceback (most recent call last):
  File "/usr/lib/python3.11/site-packages/secretstorage/util.py", line 48, in send_and_get_reply
    raise DBusErrorResponse(resp_msg)
jeepney.wrappers.DBusErrorResponse: [org.freedesktop.DBus.Error.ServiceUnknown] ('The name org.freedesktop.secrets was not provided by any .service files',)

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
  File "/usr/lib/python3.11/site-packages/keyring/backends/SecretService.py", line 61, in get_preferred_collection
    collection = secretstorage.get_default_collection(bus)
                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.11/site-packages/secretstorage/collection.py", line 177, in get_default_collection
    return Collection(connection)
           ^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.11/site-packages/secretstorage/collection.py", line 45, in __init__
    self._collection.get_property('Label')
  File "/usr/lib/python3.11/site-packages/secretstorage/util.py", line 67, in get_property
    (signature, value), = self.send_and_get_reply(msg)
                          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.11/site-packages/secretstorage/util.py", line 58, in send_and_get_reply
    raise SecretServiceNotAvailableException(data) from resp
secretstorage.exceptions.SecretServiceNotAvailableException: The name org.freedesktop.secrets was not provided by any .service files

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/usr/lib/python3.11/site-packages/proton/keyring_linux/core/keyring_linux.py", line 99, in _is_backend_working
    keyring_backend.get_password(
  File "/usr/lib/python3.11/site-packages/keyring/backends/SecretService.py", line 78, in get_password
    collection = self.get_preferred_collection()
                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.11/site-packages/keyring/backends/SecretService.py", line 63, in get_preferred_collection
    raise InitError("Failed to create the collection: %s." % e)
keyring.errors.InitError: Failed to create the collection: The name org.freedesktop.secrets was not provided by any .service files.

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/usr/bin/protonvpn-app", line 33, in <module>
    sys.exit(load_entry_point('proton-vpn-gtk-app==4.1.8', 'console_scripts', 'protonvpn-app')())
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.11/site-packages/proton/vpn/app/gtk/__main__.py", line 34, in main
    controller = Controller.get(executor)
                 ^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.11/site-packages/proton/vpn/app/gtk/controller.py", line 55, in get
    executor.submit(controller.initialize_vpn_connector).result()
  File "/usr/lib/python3.11/concurrent/futures/_base.py", line 456, in result
    return self.__get_result()
           ^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.11/concurrent/futures/_base.py", line 401, in __get_result
    raise self._exception
  File "/usr/lib/python3.11/site-packages/proton/vpn/app/gtk/controller.py", line 100, in initialize_vpn_connector
    if self.user_logged_in and self.use_reconnector:
       ^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.11/site-packages/proton/vpn/app/gtk/controller.py", line 150, in user_logged_in
    return self._api.is_user_logged_in()
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.11/site-packages/proton/vpn/core/api.py", line 89, in is_user_logged_in
    return self._session_holder.session.logged_in
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.11/site-packages/proton/vpn/core/session.py", line 71, in session
    self._session = self._proton_sso.get_default_session(
                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.11/site-packages/proton/sso/sso.py", line 192, in get_default_session
    sessions = self.sessions
               ^^^^^^^^^^^^^
  File "/usr/lib/python3.11/site-packages/proton/sso/sso.py", line 130, in sessions
    keyring = self._keyring
              ^^^^^^^^^^^^^
  File "/usr/lib/python3.11/site-packages/proton/sso/sso.py", line 111, in _keyring
    self.__keyring_backend = Keyring.get_from_factory()
                             ^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.11/site-packages/proton/keyring/_base.py", line 49, in get_from_factory
    keyring_backend = Loader.get("keyring", class_name=backend)
                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.11/site-packages/proton/loader/loader.py", line 105, in get
    if entry.cls._validate():
       ^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.11/site-packages/proton/keyring_linux/secretservice/secretservice_backend.py", line 40, in _validate
    return cls._is_backend_working(SecretService.Keyring())
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.11/site-packages/proton/keyring_linux/core/keyring_linux.py", line 108, in _is_backend_working
    logger.exception(f"Keyring \"{keyring_backend}\" error")
                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.11/site-packages/keyring/backend.py", line 95, in __str__
    keyring_class.__module__, keyring_class.__name__, keyring_class.priority
                                                      ^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.11/site-packages/jaraco/classes/properties.py", line 151, in __get__
    return self.fget.__get__(None, owner)()
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.11/site-packages/keyring/backends/SecretService.py", line 43, in priority
    raise RuntimeError(
RuntimeError: The Secret Service daemon is neither running nor activatable through D-Bus

PCDogtech commented on 2024-01-31 00:05 (UTC) (edited on 2024-02-01 06:18 (UTC) by PCDogtech)

The app crashes for me when I try to start it. Any tips? Error message excerpt posted below...

proton.vpn.connection.vpnconnector:168 | INFO | CONN:STATE_CHANGED | Disconnected (initial state)
Traceback (most recent call last):
  File "/usr/lib/python3.11/site-packages/secretstorage/util.py", line 48, in send_and_get_reply
    raise DBusErrorResponse(resp_msg)
jeepney.wrappers.DBusErrorResponse: [org.freedesktop.DBus.Error.ServiceUnknown] ('The name is not activatable',)

Achilleus commented on 2024-01-27 10:11 (UTC)

$ protonvpn-app
2024-01-27T10:08:39.132495 | proton.vpn.connection.vpnconnector:168 | INFO | CONN:STATE_CHANGED | Disconnected (initial state)
Traceback (most recent call last):
  File "/usr/bin/protonvpn-app", line 33, in <module>
    sys.exit(load_entry_point('proton-vpn-gtk-app==4.1.8', 'console_scripts', 'protonvpn-app')())
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.11/site-packages/proton/vpn/app/gtk/__main__.py", line 34, in main
    controller = Controller.get(executor)
                 ^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.11/site-packages/proton/vpn/app/gtk/controller.py", line 55, in get
    executor.submit(controller.initialize_vpn_connector).result()
  File "/usr/lib/python3.11/concurrent/futures/_base.py", line 456, in result
    return self.__get_result()
           ^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.11/concurrent/futures/_base.py", line 401, in __get_result
    raise self._exception
  File "/usr/lib/python3.11/site-packages/proton/vpn/app/gtk/controller.py", line 100, in initialize_vpn_connector
    if self.user_logged_in and self.use_reconnector:
       ^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.11/site-packages/proton/vpn/app/gtk/controller.py", line 150, in user_logged_in
    return self._api.is_user_logged_in()
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.11/site-packages/proton/vpn/core/api.py", line 89, in is_user_logged_in
    return self._session_holder.session.logged_in
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.11/site-packages/proton/vpn/core/session.py", line 71, in session
    self._session = self._proton_sso.get_default_session(
                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.11/site-packages/proton/sso/sso.py", line 198, in get_default_session
    return self.get_session(account_name, override_class)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.11/site-packages/proton/sso/sso.py", line 167, in get_session
    session = override_class(self._appversion, self._user_agent)
              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.11/site-packages/proton/vpn/session/session.py", line 74, in __init__
    super().__init__(*args, **kwargs)
  File "/usr/lib/python3.11/site-packages/proton/session/api.py", line 107, in __init__
    self.transport_factory = None
    ^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.11/site-packages/proton/session/api.py", line 480, in transport_factory
    default_transport = Loader.get('transport')
                        ^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.11/site-packages/proton/loader/loader.py", line 90, in get
    acceptable_classes = self.get_all(type_name)
                         ^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.11/site-packages/proton/loader/loader.py", line 163, in get_all
    self.__known_types[type_name][ep.name] = ep.load()
                                             ^^^^^^^^^
  File "/usr/lib/python3.11/site-packages/importlib_metadata/__init__.py", line 208, in load
    module = import_module(match.group('module'))
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.11/importlib/__init__.py", line 126, in import_module
    return _bootstrap._gcd_import(name[level:], package, level)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "<frozen importlib._bootstrap>", line 1204, in _gcd_import
  File "<frozen importlib._bootstrap>", line 1176, in _find_and_load
  File "<frozen importlib._bootstrap>", line 1147, in _find_and_load_unlocked
  File "<frozen importlib._bootstrap>", line 690, in _load_unlocked
  File "<frozen importlib._bootstrap_external>", line 940, in exec_module
  File "<frozen importlib._bootstrap>", line 241, in _call_with_frames_removed
  File "/usr/lib/python3.11/site-packages/proton/session/transports/requests.py", line 21, in <module>
    import requests
  File "/usr/lib/python3.11/site-packages/requests/__init__.py", line 43, in <module>
    import urllib3
  File "/usr/lib/python3.11/site-packages/urllib3/__init__.py", line 13, in <module>
    from .connectionpool import HTTPConnectionPool, HTTPSConnectionPool, connection_from_url
  File "/usr/lib/python3.11/site-packages/urllib3/connectionpool.py", line 13, in <module>
    from .connection import (
  File "/usr/lib/python3.11/site-packages/urllib3/connection.py", line 15, in <module>
    from .util.proxy import create_proxy_ssl_context
  File "/usr/lib/python3.11/site-packages/urllib3/util/__init__.py", line 8, in <module>
    from .ssl_ import (
  File "/usr/lib/python3.11/site-packages/urllib3/util/ssl_.py", line 17, in <module>
    from .url import BRACELESS_IPV6_ADDRZ_RE, IPV4_RE
  File "/usr/lib/python3.11/site-packages/urllib3/util/url.py", line 63, in <module>
    BRACELESS_IPV6_ADDRZ_RE = re.compile("^" + IPV6_ADDRZ_PAT[2:-2] + "$")
                              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.11/re/__init__.py", line 227, in compile
    return _compile(pattern, flags)
           ^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.11/re/__init__.py", line 294, in _compile
    p = _compiler.compile(pattern, flags)
        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.11/re/_compiler.py", line 743, in compile
    p = _parser.parse(p, flags)
        ^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.11/re/_parser.py", line 982, in parse
    p = _parse_sub(source, state, flags & SRE_FLAG_VERBOSE, 0)
        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.11/re/_parser.py", line 457, in _parse_sub
    itemsappend(_parse(source, state, verbose, nested + 1,
                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.11/re/_parser.py", line 865, in _parse
    p = _parse_sub(source, state, sub_verbose, nested + 1)
        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.11/re/_parser.py", line 457, in _parse_sub
    itemsappend(_parse(source, state, verbose, nested + 1,
                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.11/re/_parser.py", line 865, in _parse
    p = _parse_sub(source, state, sub_verbose, nested + 1)
        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.11/re/_parser.py", line 457, in _parse_sub
    itemsappend(_parse(source, state, verbose, nested + 1,
                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.11/re/_parser.py", line 583, in _parse
    code1 = LITERAL, _ord(this)
                     ^^^^^^^^^^
TypeError: ord() expected a character, but string of length 2 found

ali.molaei commented on 2024-01-26 13:23 (UTC)

@deimos-aur Thanks

  1. No it doesn't support from upstream and I cannot do anything about that Read here

  2. I'm not sure and don't know about these technical details :) sorry

ali.molaei commented on 2024-01-26 13:20 (UTC)

@shoryuken network-manager-applet is an optional dependency for python-proton-vpn-network-manager which is a dependency for this package, I cannot force the applet to all users, some DEs and WMs will not force you to have that

deimos-aur commented on 2024-01-22 08:06 (UTC) (edited on 2024-01-22 08:09 (UTC) by deimos-aur)

I installed this pkg via AUR and it works mostly as expected. Thank you for committing/maintaining all of the dependent AUR packages to make this work.

Two questions:

  1. Does this support protonvpn wireguard servers? All I see are openvpn (udp/tcp) options.
  2. Does this support expanded ports? protonvpn blocks a lot of ports outbound without this setting enabled.