Multiple Proton VPN in openSUSE-Tumbleweed-Oss

Hi! I see that there are two Proton VPN client apps on openSUSE-Tumbleweed-Oss.
Here’s one named, proton-vpn
https://software.opensuse.org/package/proton-vpn
Here’s another one named, protonvpn-gui
https://software.opensuse.org/package/protonvpn-gui

Why there are two of them? Which one is recommended to use?

1 Like

When I try to interpret the package names you show, I guess the first one is the product and the second one is a GUI program interfacing to it.

Why do you not check with YaST > Software? It offers a short description. Or with zypper

zypper se proton
zypper se -s proton

I just checked. YaST showed that the one named “proton-vpn” is based on the official gtk app: GitHub - ProtonVPN/proton-vpn-gtk-app: Official ProtonVPN Linux app
But it’s not up-to-date. The current version was built on May 2024 version 4.3.2 and there has been multiple versions since then. Latest is 4.6.0.

The other one, protonvpn-gui is based on, https://github.com/ProtonVPN/linux-app but this link doesn’t exist anymore. YaST says it’s built time is, March 2023.
But it installs some other ProtonVPN related dependencies like, “python311-proton-client” which is new. Build date is September 2024. So maybe only the GUI part of this package was built last year but the dependencies are newer.

I installed both on my VM just now one after another after uninstalling the previous one. But weirdly, the about section of the one that is built on the official-gtk-app says, “Proton AG 2023” while the other one says, “Proton AG 2024”.
So overall “protonvpn-gui” is maybe be newer?

But I still remain a bit confused. I would use the one built on the official gtk-app but it hasn’t been updated in a while. Maybe the maintainer has abandoned it? Who knows!

Proton only officially supports Ubuntu with Gnome. The protonvpn-gui is deprecated following a product rebranding a couple of years ago. proton-vpn is the current package based on the newer, rebranded gtk version. Because Proton only supports Ubuntu, at least the last time I checked, we are sometimes left with slightly older versions. As of right now, we are on a 5 month old build. The maintainer has a home repository that is up to date, but hasn’t pushed to factory. I have a poor understanding of how the OBS works, so I am probably wrong about who the maintainer is, but the latest revision to the official build was submitted by the same guy that has an up-to-date home repository.

TLDR: proton-vpn is the one to use.

1 Like

Thank you for providing this very helpful info. I see that there are more than one Proton VPN on OBS. Are you referring to this particular one? This maintainer seems to have a good reputation and maintains many packages.

I was looking at this one:

But I have used some packages from the one you linked to.

1 Like

https://software.opensuse.org/package/proton-vpn-gtk-app
4.6.0, but only with community repos…

1 Like

I see. This one is the factory one that hasn’t been updated to the latest build yet.

Ow nice! I searched with openSUSE Tumbleweed selected on this page so didn’t find the community results before.
Anyway thanks to @Capistro and you. My confusion is clear. If I need a new version, then I’ll install one of the community ones. Two of them have the latest build and both maintainers seems to have good reputation.

Some folks don’t like community repos.
In Russia ProtonVPN website is unavailable.

1 Like

I’ve been using protonvpn-gui for a while, but it says v1.2.0 on the about section. Guess I’ll go for a community package. Cheers for this topic, lol.

So I’ve tried community repos for 4.6.0, and the official proton-vpn, but none of them appear to be working for me, only protonvpn-gui. From the stacktrace it looks like I’m missing “backend”? The only thing I’ve gathered about that – from a Reddit post I found – is that it’s one of the things not open sourced in protonvpn. The stacktrace is from proton-vpn btw, first from trying to connect, then from trying to enter the app settings.

2024-10-22T22:15:58.964650 | proton.vpn.core.connection:160 | INFO | CONN.CONNECT:START | Server: NL#557 / Domain: node-nl-216.protonvpn.net / IP: 103.69.224.4 / OpenVPN Ports: ProtocolPorts(udp=[80, 51820, 4569, 1194, 5060], tcp=[443, 7770, 8443]) / WireGuard Ports: ProtocolPorts(udp=[443, 88, 1224, 51820, 500, 4500], tcp=[443]) / Protocol: openvpn-udp / Backend: None
2024-10-22T22:15:58.973625 | proton.vpn.app.gtk.widgets.main.exception_handler:175 | CRITICAL | APP:CRASH | Unexpected error.
Traceback (most recent call last):
  File "/usr/lib64/python3.11/concurrent/futures/_base.py", line 449, in result
    return self.__get_result()
           ^^^^^^^^^^^^^^^^^^^
  File "/usr/lib64/python3.11/concurrent/futures/_base.py", line 401, in __get_result
    raise self._exception
  File "/usr/lib/python3.11/site-packages/proton/vpn/core/connection.py", line 165, in connect
    await self._connector.connect(
  File "/usr/lib/python3.11/site-packages/proton/vpn/connection/vpnconnector.py", line 192, in connect
    connection = VPNConnection.create(
                 ^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.11/site-packages/proton/vpn/connection/vpnconnection.py", line 175, in create
    backend = Loader.get("backend", class_name=backend)
              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.11/site-packages/proton/loader/loader.py", line 129, in get
    raise RuntimeError(f"Loader: couldn't find an acceptable implementation for {type_name}.")
RuntimeError: Loader: couldn't find an acceptable implementation for backend.
2024-10-22T22:16:04.737306 | proton.vpn.app.gtk.widgets.main.exception_handler:175 | CRITICAL | APP:CRASH | Unexpected error.
Traceback (most recent call last):
  File "/usr/lib/python3.11/site-packages/proton/vpn/app/gtk/widgets/headerbar/menu/settings/settings_window.py", line 81, in _build_ui
    self._connection_settings.build_ui()
  File "/usr/lib/python3.11/site-packages/proton/vpn/app/gtk/widgets/headerbar/menu/settings/connection_settings.py", line 55, in build_ui
    self.build_protocol()
  File "/usr/lib/python3.11/site-packages/proton/vpn/app/gtk/widgets/headerbar/menu/settings/connection_settings.py", line 107, in build_protocol
    available_protocols = self._controller.get_available_protocols()
                          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.11/site-packages/proton/vpn/app/gtk/controller.py", line 365, in get_available_protocols
    available_protocols = self._connector.get_available_protocols_for_backend(
                          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.11/site-packages/proton/vpn/core/connection.py", line 145, in get_available_protocols_for_backend
    backend_class = Loader.get("backend", class_name=backend_name)
                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.11/site-packages/proton/loader/loader.py", line 129, in get
    raise RuntimeError(f"Loader: couldn't find an acceptable implementation for {type_name}.")
RuntimeError: Loader: couldn't find an acceptable implementation for backend.

This topic was automatically closed 7 days after the last reply. New replies are no longer allowed.