Package Details: proton-vpn-gtk-app 4.3.2-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: 44
Popularity: 11.92
First Submitted: 2023-11-01 12:41 (UTC)
Last Updated: 2024-05-24 16:47 (UTC)

Pinned Comments

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 2 3 4 5 6 7 8 9 10 11 .. 15 Next › Last »

testasdfasdf commented on 2024-03-08 08:29 (UTC) (edited on 2024-03-08 11:58 (UTC) by testasdfasdf)

When we are going to get latest release 4.1.20? It's been a long time since it has been released!!

(Released)

clifflau1120 commented on 2024-02-28 18:34 (UTC)

@texer22 Mine is a little different, though the last message is the same:

2024-02-28T18:31:34.966679 | proton.vpn.connection.vpnconnector:168 | INFO | CONN:STATE_CHANGED | Disconnected (initial state)
2024-02-28T18:31:34.967187 | proton.vpn.app.gtk.app:57 | INFO | APP:PROCESS_START | self=<app.App object at 0x7e5505047640 (proton+vpn+app+gtk+app+App at 0x61f91bac26a0)>
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',)

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 is not activatable

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 is not activatable.

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/usr/lib/python3.11/site-packages/proton/vpn/app/gtk/app.py", line 94, in do_activate
    self.tray_indicator = self._build_tray_indicator_if_possible(
                          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.11/site-packages/proton/vpn/app/gtk/app.py", line 195, in _build_tray_indicator_if_possible
    return TrayIndicator(controller, main_window)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.11/site-packages/proton/vpn/app/gtk/widgets/main/tray_indicator.py", line 118, in __init__
    self._menu = self._build_menu()
                 ^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.11/site-packages/proton/vpn/app/gtk/widgets/main/tray_indicator.py", line 221, in _build_menu
    if self._controller.user_logged_in:
       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.11/site-packages/proton/vpn/app/gtk/controller.py", line 129, 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 201, 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

XxTriviumxX commented on 2024-02-25 16:18 (UTC) (edited on 2024-02-25 17:53 (UTC) by XxTriviumxX)

@marcin Yeah... it's kinda optional tbh. But the fact that i can't find a way to auto-connect or quick connect specifically to a p2p server is bugging me! It's a downgrade, but i'm still going to use this version because if there is a vulnerability, it will get patched.

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